body, html { background-color: #000; font-family: 'PT Sans', sans-serif; font-size: 16px; margin: 0px; min-height: 100%; overflow-x: hidden; padding: 0px; }
a:hover, a:focus { transition: .2s; text-decoration: none; }
.container { padding: 0; }
.row > div { padding: 0 1.5% 12px; }

h1,h2,h3,h4,h5,h6 { margin: 0; }
h2 {display: block; color: #FFF; background-color: #1E3D59; padding: 30px; font-size: 3rem; font-weight: 600;}
h3 {color: #1E3D59; font-size: 1.8rem; line-height: 1.25; font-weight: 600; margin-bottom: 15px; }
h4 {color: #1E3D59; font-size: 20px; font-weight: 600; padding-bottom: 10px; }
p, li { font-size: 1.2rem; margin-bottom: 1.6rem; }
ul { padding-left: 25px; }
ul li {margin-bottom: 0.5rem; color: #333;}
hr { border-bottom: 5px solid #1E3D59; transform: skewX(45deg); }
a { color:#3344dd; transition: background-color .2s, color .2s; }
a:hover, a:focus, a:active { color: #bb1122; }
a:visited {color:#884488;}
.button { background-color: #1E3D59; border-radius: 14px; border: 0; color: #fff; display: inline-block; letter-spacing: .05em; margin-top: 12px; padding: 4px 16px; transition: background-color .2s; }
.button:hover { background-color: #ED7422; color: #fff; }
.button:focus { color: #fff; }

/* Forms */
form { margin: 18px 0; }
label { display: block; margin: 10px 0 8px; width: 100%; }
input[type="text"] { margin-bottom: 8px; padding-left: 3px; width: 100%; }
textarea { height: 80px; margin-bottom: 8px; padding: 3px 5px; resize: none; width: 100%; }
input[type="checkbox"],
input[type="radio"] { margin: 0 4px 0 2px; }
input[type="checkbox"] + label,
input[type="radio"] + label { display: inline-block; margin-right: 14px; position: relative; top: -1px; width: auto; }
input[type="submit"],
input[type="reset"] { background-color: #1E3D59; border-radius: 14px; border: 0; color: #fff; letter-spacing: .05em; margin-top: 14px; padding: 4px 16px; transition: background-color .2s; }
.button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover { background-color: #ED7422; }
.required { color: #800; }
.required span { left: -9999px; position: absolute; top: -9999px; }

/* MAIN SCREEN */
#screen { height: 100%; left: 0%; position: absolute; transition: left .6s; width: 100%; }
.logo { display: block; width: 100%; padding: 25px; }

/* LEFT MENU */
#skipcontent { background-color: #fff; border: 1px inset #aaa; border-radius: 8px; box-shadow: 2px 2px 8px 0 #333; color: #000; font-size: 1.4em; font-weight: 700; left: -9999px; padding: 6px 14px; position: absolute; top: -9999px; }
#skipcontent:focus { left: 8px; top: 8px; }

h1 { background-color: #000; background-color: rgba(0,0,0,.6); border-radius: 120px; color: #fff; font-size: 1.4em; height: 60px; left: 20%; line-height: 1.2em; margin: 15px 0; padding: 6px 22px; position: absolute; text-align: center; width: 65%; z-index: 1; }
h1:after { content: ""; display: inline-block; height: 100%; vertical-align: middle; }
h1 span { display: inline-block; vertical-align: middle;  }

#menu { background-color: #fff; float: left; height: 100%; overflow: auto; padding-bottom: 18px; width: 15%; }
#menu div { background-color: #f2f2f2; border: 1px solid #aaa; border-width: 1px 0; height: 54%; overflow-y: auto; }
#menu ul { list-style-type: none; margin: 0; padding: 0; width: 100%; }
#menu ul li { border-bottom: 1px solid #ccc; margin: 0; width: 100%; }
#menu ul li a { color: #333; display: block; padding: 2px 8px 10px; position: relative; width: 100%; }
#menu ul li a i { background-color: #1E3D59; color: #fff; display: inline-block; font-size: 1.1em; margin: 4px 0; opacity: .8; padding: 4px; position: absolute; text-align: center; transition: opacity .2s; }
#menu ul li a.showing > i { background-color: #ED7422; opacity: 1; }
#menu ul li a i:before { content: "\f101"; }
#menu ul li a span { display: inline-block; font-size: .9em; font-weight: 700; line-height: 1.3em; padding: 4px 0 0 30px; vertical-align: middle; }
#menu ul li a:hover { background-color: #eee; }
#menu ul li a:hover i { opacity: 1; }
#menu ul li a.showing { background-color: #ddd; }

/* TRANSLATOR */
#google_translate_element2 { display: none; }
#langaugeselectcont select { margin-left: 5%; width: 90%; }
#langaugeselectcont label { margin-left: 5%; width: 90%; }

/* SLIDE AREA */
#mainArea { background-image: url("../images/mountain-road.jpeg"); background-size: cover; float: left; height: 100%; min-height: 100%; overflow: auto; position: relative; width: 85%; }

#slides { bottom: 0; height: 100%; position: relative; width: 100%; }
#slides > div { bottom: 74px; height: auto; left: 15%; margin: 0; position: fixed; top: 94px; transition: left .6s, margin .6s; width: 85%; }
.slide { color: #aaa; height: 100%; margin-left: -1200%; margin-top: -22px; opacity: 0; position: absolute; top: -200%; transition: 0s; width: 94%; }
.slide.showing { margin-left: 3%; margin-top: 0; opacity: 1; top: 0; transition: margin-left 0s, margin-top .7s, opacity .8s, top 0s; }
.slide > div { background-color: rgba(255,255,255,.99); box-shadow: 0 8px 15px -4px #000; color: #333; height: 100%; margin: 0 auto; overflow-x: hidden; overflow-y: auto; width: 100%; } 
.slide img { width: 100%; height: auto;}
.contact-open #slides > div { margin-left: -390px; }

.img-full {
    width: 100%;
    height: auto;
}

.modal-cta {
    display: inline-block;
    background-color: #ED7422;
    color: #000;
    font-weight: bold;
    font-size: 1.25rem;
    border-radius: 8px;
    padding: 10px 25px;
    transition: filter 300ms ease-in-out;
    text-align: center;
    max-width: 280px;
}

.modal-cta:hover,.modal-cta:visited {
    color: #000;
    filter: brightness(80%);
}

#nav-progress { bottom: 0; height: 50px; overflow: auto; position: absolute; right: 0; width: 85%; }
#nav-progress a { background-color: #000; background-color: rgba(0,0,0,.6); color: #fff; float: left; height: 100%; line-height: 62px; text-align: center; width: 10%; }
#nav-progress > a:hover { background-color: #000; }
#nav-progress a span { left: -9999px; position: absolute; top: -9999px; }
#nav-progress a i { font-size: 1.9em; }
#nav-progress ul { display: table; float: left; height: 100%; margin: 0; padding: 0; width: 80%; }
#nav-progress ul li { display: table-cell; height: 100%; padding: 0; }
#nav-progress ul li a { background-color: #1E3D59; border: 1px solid #222; border-width: 19px 2px; height: 100%; width: 100%; }
#nav-progress ul li a.active { background-color: #ED7422; }
#nav-progress ul li a span { color: #000; left: -9999px; position: absolute; top: -9999px; }
#nav-progress ul li a:hover { border-color: #333; }

/* MENU & COMMENT BUTTONS */
.meeting-button { background-color: #fff; box-shadow: inset 0 0 0 2px #1E3D59; color: #1E3D59; font-size: .9em; font-weight: 700; height: 60px; position: absolute; text-align: center; text-transform: uppercase; width: 60px; }

#menu-toggle { display: none; left: 20px; padding-top: 8px; top: 14px; width: 60px; z-index: 1; }
#menu-toggle:hover { color: #ED7422; }
#menu-toggle span { background-color: #1E3D59; display: block; height: 4px; margin: 4px auto; transition: margin .2s, transform .2s; width: 40%; }
#menu-toggle:hover span { background-color: #ED7422; }

#contact { background-color: white; height: 100%; left: 100%; margin: 0; overflow-y: auto; padding: 12px; position: fixed; top: 0; transition: margin .6s; width: 390px; }
#menuOffScreen { background-color: rgba(35,35,35,.3); cursor: pointer; height: 100%; left: -200%; margin-left: 0; opacity: 0; position: fixed; top: 0; transition: left 0s ease-in-out .3s, margin 0s, opacity .3s; width: 100%; z-index: 2; }
#closecomment { color: #333; font-size: 1.2em; font-weight: 700; }
#contact-button { right: 5%; top: 14px; width: 112px; }
#contact-button i { font-size:1.8em; padding-top: 8px; }

.contact-open #screen { left: -390px; }
.menu-open #menuOffScreen,
.contact-open #menuOffScreen { left: 0px; margin-left: -390px; opacity: 1; transition: left 0s, margin .6s, opacity .6s; }
.menu-open #menuOffScreen { margin-left: 240px; }
.contact-open #contact { margin-left: -390px; }

.meeting-button:before,
.meeting-button:after { border: 2px solid transparent; content: ""; height: 0; position: absolute; width: 0; }
.meeting-button:before { left: 0; top: 0; }
.meeting-button:after { bottom: 0; right: 0; }

.meeting-button:hover { color: #ED7422; transition: color .8s; }
.meeting-button:hover:before,
.meeting-button:hover:after { height: 100%; width: 100%; }
.meeting-button:hover:before { border-right-color: #ED7422; border-top-color: #ED7422; transition: width 0.2s ease-out, height 0.2s ease-out 0.2s; }
.meeting-button:hover:after { border-bottom-color: #ED7422; border-left-color: #ED7422; transition: height 0.2s ease-out .6s, width 0.2s ease-out 0.4s; }

/* LIGHTBOX */
#lightbox { height: 100%; position: fixed; top: -100%; transition: top .85s; width: 100%; z-index: 100000; }
#lightbox > span { background-color: rgba(35,35,35,.8); cursor: pointer; height: 100%; position: absolute; top: 0; width: 100%; }
#lightbox > span span { color: #fff; font-size: 3.6em; line-height: .4em; padding: 15px; position: absolute; right: 0; top: 0; z-index: 5; }
#lightbox div { box-shadow: 0 8px 15px 0 #000; margin: -120px auto 0; max-height: 80%; overflow: auto; position: relative; transform: rotateX(90deg) translateY(-160px); transition: .24s; width: 88%; }
#lightbox img { display: block; width: 100%; }
#lightbox.on { top: 0; }
#lightbox.on div { margin-top: 50px; transition: .8s ease-out .32s; transform: rotateX(0deg) translateY(0px); }
img.lightbox { cursor: pointer; margin-bottom: 18px; }
a.lightbox {
    cursor: pointer;
}


.slide-content {
    padding: 30px !important;
}

.modal .close {
    opacity: 0.8;
    font-size: 50px;
}

.modal .modal-dialog {
    width: 80%;
}

.modal .modal-content {
    border: 8px solid #1E3D59
}

.modal .modal-header, .modal .modal-body {
    padding: 20px 40px;
}

.modal .modal-header .modal-title {
    background: none;
    color: #1E3D59;
    padding: 0;
}

.slogan {
    color: #000;
    transform: skew(25deg);
    padding: 30px 20px;
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    margin-bottom: 50px;
    background: rgb(237,116,34);
    background: linear-gradient(90deg, rgba(237,116,34,1) 0%, rgba(255,210,0,1) 60%);
    box-shadow: 3px 3px 5px rgb(106, 106, 106);
}

.slogan p {
    transform: skew(-25deg);
    font-weight: 600;
    font-size: 1.75rem;
    text-align: center;
    margin: 0ex;
}

.m-0 {
    margin: 0;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-20 {
    margin-bottom: 20px;
}

.alignment-modal-cta {
    display: block;
    transition: background-color 300ms ease-in-out;
    border-radius: 10px;
    padding:  0 10px;
    height: 30vw;
    overflow: hidden;
}

.alignment-modal-cta img {
    width: 100%;
    height: 120%;
    object-fit: cover;
}

.alignment-modal-cta:hover {
    background-color: #FFF !important;
    cursor: default;
}

.alignment-modal .modal-content {
    border-color: #ED7422;
}

.alignment-modal .modal-header {
    background-color: #ED7422;
    color: #000;
    padding: 10px 40px;
}

.alignment-modal .modal-header .modal-title {
    color: #000;
    border-bottom:  5px solid #000;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 2rem;
}

.alignment-modal .modal-header .subheader {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 10px;
}

.alignment-modal .modal-header  .details {
    font-weight: 600;
    font-style: oblique;
}

.alignment-modal .alignment-map {
    width: 100%;
    height: auto;
    border: 5px solid #ED7422;
    max-width: 360px;
    display: block;
    margin-left: auto;
}

.alignment-modal h3 {
    display: block;
    padding-bottom: 10px;
    color: #000;
    font-size: 1.3rem;
    border-bottom: 5px solid #ED7422;
    margin-left: -4%;
    margin-right: -4%;
    padding-left: 4%;
    padding-right: 4%;
}

.alignment-modal-cta[colorTheme="light-blue"]:hover {
    background-color: #0096D6;
}
.alignment-modal[colorTheme="light-blue"] .modal-content {
    border-color: #0096D6;
}
.alignment-modal[colorTheme="light-blue"] .modal-header {
    background-color: #0096D6;
}
.alignment-modal[colorTheme="light-blue"] h3 {
    border-color: #0096D6;
}
.alignment-modal[colorTheme="light-blue"] .alignment-map {
    border-color: #0096D6;
}

.alignment-modal-cta[colorTheme="orange"]:hover {
    background-color: #ED7422;
}
.alignment-modal[colorTheme="orange"] .modal-content {
    border-color: #ED7422;
}
.alignment-modal[colorTheme="orange"] .modal-header {
    background-color: #ED7422;
}
.alignment-modal[colorTheme="orange"] h3 {
    border-color: #ED7422;
}
.alignment-modal[colorTheme="orange"] .alignment-map {
    border-color: #ED7422;
}

.alignment-modal-cta[colorTheme="purple"]:hover {
    background-color: #400F60;
}
.alignment-modal[colorTheme="purple"] .modal-content {
    border-color: #400F60;
}
.alignment-modal[colorTheme="purple"] .modal-header {
    background-color: #400F60;
}
.alignment-modal[colorTheme="purple"] .modal-header .modal-title, .alignment-modal[colorTheme="purple"] .modal-header .subheader,
.alignment-modal[colorTheme="purple"] .modal-header .details {
    color: #FFF;
    border-color: #FFF;
}
.alignment-modal[colorTheme="purple"] h3 {
    border-color: #400F60;
}
.alignment-modal[colorTheme="purple"] .alignment-map {
    border-color: #400F60;
}

.alignment-modal-cta[colorTheme="blue"]:hover {
    background-color: #005596;
}
.alignment-modal[colorTheme="blue"] .modal-content {
    border-color: #005596;
}
.alignment-modal[colorTheme="blue"] .modal-header {
    background-color: #005596;
}
.alignment-modal[colorTheme="blue"] .modal-header .modal-title, .alignment-modal[colorTheme="blue"] .modal-header .subheader,
.alignment-modal[colorTheme="blue"] .modal-header .details {
    color: #FFF;
    border-color: #FFF;
}
.alignment-modal[colorTheme="blue"] h3 {
    border-color: #005596;
}
.alignment-modal[colorTheme="blue"] .alignment-map {
    border-color: #005596;
}

.alignment-modal-cta[colorTheme="yellow"]:hover {
    background-color: #FDB913;
}
.alignment-modal[colorTheme="yellow"] .modal-content {
    border-color: #FDB913;
}
.alignment-modal[colorTheme="yellow"] .modal-header {
    background-color: #FDB913;
}
.alignment-modal[colorTheme="yellow"] h3 {
    border-color: #FDB913;
}
.alignment-modal[colorTheme="yellow"] .alignment-map {
    border-color: #FDB913;
}

.alignment-modal-cta[colorTheme="green"]:hover {
    background-color: #6D8D24;
}
.alignment-modal[colorTheme="green"] .modal-content {
    border-color: #6D8D24;
}
.alignment-modal[colorTheme="green"] .modal-header {
    background-color: #6D8D24;
}
.alignment-modal[colorTheme="green"] h3 {
    border-color: #6D8D24;
}
.alignment-modal[colorTheme="green"] .alignment-map {
    border-color: #6D8D24;
}

.icon-list {
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
}

.icon-list li {
    display: flex;
    width: 50%;
    align-items: center;
    margin-bottom: 40px;
    padding: 0 20px;
}

.icon-list .icon {
    width: 80px;
    min-width: 80px;
    height: auto;
    margin-right: 15px;
}

.blurb-list {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
}

.blurb-list > li {
    padding: 2px 5px;
    width: 33%;
}

.blurb-list > li.wide {
    width: 66%;
}

.blurb-list .blurb {
    background-color: #400F60;
    color: #FFF;
    padding: 10px;
    border-radius: 8px;
    width: 100%;
    height: 100%;
    font-size: 1.25rem;
    display: flex;
    align-items: center;
}

.blurb-list .blurb .big {
    font-size: 1.25rem;
    font-weight: 700;
}

.blurb-list .blurb .icon {
    width: 50px;
    height: auto;
    margin-right: 20px;
}

.blurb-list .blurb .copy {
    flex: 1;
}

.blurb-list .blurb .copy .small {
    font-size: 1rem;
    line-height: 1.25;
    margin-bottom: 10px;
    display: block;
}

.blurb-list .blurb ul {
    margin-top: 10px;
}

.blurb-list .blurb ul li {
    color: #FFF;
    font-size: 1rem;
    margin-bottom: 1px;
}

.row.no-gutters > div {
    padding-left: 0px;
    padding-right: 0px;
}

/* MEDIA QUERIES */
@media screen and (max-width: 1310px) {
    #menu { width: 20%; }
    #mainArea { width: 80%; }
    #slides > div { left: 20%; width: 80%; }
    .slide { width: 96%; }
    .slide.showing { margin-left: 2%; }
    .slide > div { width: 96%; margin: 0 auto; }
    h1 { font-size: 1.2em; left: 25%; padding: 0 18px; width: 60%; }
    #contact-toggle { right: 80px; }
    #nav-progress { width: 80%; }
}

@media screen and (max-width: 1030px) {
    #menu { margin-left: -240px; position: relative; width: 240px; z-index: 2; }
    #menu div { height: 64%; }
    #mainArea { width: 100%; }
    img.logo { display: block; width: 50%; margin: 0 auto; padding-top: 15px; }
    h1 { font-size: .9em; left: 15%; margin-left: -8px; width: 67%; }

    #menu-toggle { display: block; }
    #contact-button { right: 20px; }
    .menu-open #screen { left: 240px; }
    #nav-progress { width: 100%; }
    #nav-progress a { width: 15%; }
    #nav-progress ul { width: 70%; }
    #nav-progress ul li a { border-width: 20px 1px; }

    #slides { height: 84%; top: 0; }
    #slides > div { left: 0; width: 100%; }
    .slide { height: 100%; width: 100%; }
    .slide.showing { margin-left: 0; }
    .slide > div { width: 96%; }
    .menu-open #slides > div { margin-left: 240px; }
    #lightbox img { max-width: 8000%; width: 160%; }
}

@media screen and (max-width: 640px) {
    h1 { left: 2%; margin: 8px 0; top: 44px; width: 95%; }
    h2 { font-size: 2em;  padding: 20px;}
    h3 {
        font-size: 1.5rem;
    }
    p, li { font-size: .9rem; }
    li { font-size: 14px; }
    label { font-size: .9em;}

    #mainArea { overflow: hidden; }
    #menu { margin-left: -220px; width: 220px;}
    #menu ul li a { font-size: .9em; }
    .meeting-button { box-shadow: inset 0 0 0 1px #1E3D59; font-size: .8em; height: 36px; }
    #menu-toggle { left: 8px; padding-top: 4px; top: 8px; width: 52px; }
    #menu-toggle span { height: 2px; margin: 2px auto; width: 30%; }
    #contact-button { line-height: .8em; right: 8px; top: 8px; }
    #contact-button i { font-size: 1.2em; padding: 4px; }

    .menu-open #screen { left: 220px; }
    #contact { width: 260px; }
    #closecomment { font-size: 1em;}
    .contact-open #screen { left: -260px; }
    .menu-open #menuOffScreen,
    .contact-open #menuOffScreen { margin-left: -260px; }
    .menu-open #menuOffScreen { margin-left: 220px; }
    .contact-open #contact { margin-left: -260px; }

    #slides { height: 100%; }
    #slides > div { top: 124px; }
    .menu-open #slides > div { margin-left: 220px; }
    .contact-open #slides > div { margin-left: -260px; }
    .slide { height: 100%; }

    .slide-content {
        padding: 20px !important;
    }

    .alignment-modal .modal-header .subheader {
        font-size: 1.1rem;
    }

    .modal .modal-dialog {
        width: 90%;
    }

    .modal .modal-header .modal-title {
        font-size: 1.5rem;
    }

    .modal .modal-header, .modal .modal-body {
        padding: 20px 20px;
    }

    .slogan {
        transform: skew(0);
        padding: 15px;
        margin-left: 0;
        margin-right: 0;
        margin-top: 0;
        margin-bottom: 25px;
    }

    .slogan p {
        font-size: 1.2rem;
        transform: skew(0);
    }

    .modal-header .close {
        margin-top: -12px;
    }
    .icon-list li {
        width: 100%;
    }

    .blurb-list > li {
        width: 100%;
        padding: 0px;
        margin-bottom: 20px;
    }

    .blurb-list > li.wide {
        width: 100%;
        padding: 0px;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 530px) {
    #slides > div { bottom: 56px; }
    
    #nav-progress { height: 38px; }
    #nav-progress a { border-right: 1px solid #aaa; line-height: 44px; width: 50%; }
    #nav-progress a:last-of-type { border: 0; }
    #nav-progress a i { font-size: 1.5em; }
    #nav-progress ul { display: none; }

    #lightbox img { width: 250%; }
}