﻿/*--------------------
TABLE OF CONTENTS
01. Base Styles
02. Typography/Link Styles
03. Header Styles
04. Navigation Styles
05. Content Styles
06. Footer Styles
*/


@font-face {
    font-family: 'vincentia';
    src: url('../fonts/vincentia-webfont.eot'); /* IE9 Compat Modes */
    src: url('../fonts/vincentia-webfont.eot?') format('eot'), /* IE6-IE8 */ url('../fonts/vincentia-webfont.woff') format('woff'), /* Modern Browsers */ url('../fonts/vincentia-webfont.ttf') format('truetype'), /* Safari, Android, iOS */ url('../fonts/vincentia-webfont.svg#vincentia-webfont') format('svg') /* Legacy iOS */
}
/*======================
01. BASE STYLES
========================*/
.office-tour{
    margin: 20px 0;
}
.office-tour:after{
    clear: both;
    content: '';
    display: block;
}
.office-tour .item{
    width: 50%;
    float: left;
}
.office-tour .item img{
    display: block;
    max-width: 100%;
    padding: 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
@media only screen and (max-width: 678px) {
    .office-tour .item{
        width: 100%;
        float: none;
    }
}
body {
    font: 100%/1.4 'Montserrat', sans-serif;
    color: #3c3c3c;
}
img {
    max-width: 100%;
}
.container {
    width: 95%;
    margin: 0 auto;
    max-width: 1200px;
    position: relative;
}
.column {
    float: left;
    margin: 0 1%;
}
/*USE class="row" to add "padding" to top and bottom of a section area. */

.row {
    width: 100%;
    padding: 50px 0;
    display: inline-block;
}
.teal {
    background: #b8e9ff;
}
.yellow {
    color: #bc9705;
}
.text {
    padding-top: 15px;
}
.grid12 {
    width: 98%;
}
.grid11 {
    width: 89.6667%;
}
.grid10 {
    width: 81.3333%;
}
.grid9 {
    width: 73%;
}
.grid8 {
    width: 65%;
}
.grid7 {
    width: 56.3333%;
}
.grid6 {
    width: 47%;
}
.grid5 {
    width: 39.6667%;
}
.grid4 {
    width: 31%;
}
.grid3 {
    width: 23%;
}
.grid2 {
    width: 14.6667%;
}
.grid1 {
    width: 6.3333%;
}
.clear {
    clear: both;
}
.alignleft {
    float: left;
    margin-right: 20px !important;
}
.alignright {
    float: right;
    margin-left: 20px !important;
}
.alignmid {
    display: block;
    margin: 0 auto;
}
.tleft {
    text-align: left;
}
.tright {
    text-align: right;
}
.center {
    text-align: center;
}
blockquote {
    color: #043d81;
    font-size: 1.8em;
    width: 33%;
    margin: 0 0 0 50px;
    padding: 0;
    float: right;
}
hr {
    border: 0;
    height: 1px;
    background: #d9af06;
    padding: 0;
    margin-top: 35px;
    margin-bottom: 35px;
}
video::-webkit-media-controls-start-playback-button {
    display: none;
}
/*======================
02. TYPOGRAPHY/LINK STYLES
========================*/

h1 {
    font-size: 4em;
    line-height: 1.2em;
    padding-bottom: 0;
    font-family: 'vincentia', cursive;
    margin-bottom: 20px;
}
.sub h1 {
    margin: 30px 0 20px;
}
h1, h2, h3, h4, h5, h6 {
    color: #8ecac9;
    font-weight: normal;
    padding-bottom: 0;
}
h2, h3, h4, h5, h6 {
    font-family: inherit;
    margin-bottom: 5px;
}
h2 {
    font-size: 2.5em;
}
h3 {
    font-size: 2.1em;
}
h4 {
    font-size: 1.7em;
}
h5 {
    font-size: 1.4em;
}
h6 {
    font-size: 1em;
}
.support h2, .support h3, .support h3, .support h4 {
    padding-bottom: 0;
}
h2 strong {
    color: #32d7c5;
    font-weight: 700;
}
.content h2, .content h3, .content h4, .contenth5, .content h6 {
    padding-bottom: 0;
}
a {
    color: #043d81;
    transition: 0.5s all ease;
}
a:hover {
    color: #d9af06;
}
p {
    line-height: 1.7em;
}
.column li {
    line-height: 1.7em;
}
a.button {
    background: #fbe303;
    color: #333;
    display: inline-block;
    text-decoration: none;
    margin: 10px 0;
    text-transform: uppercase;
    font-size: 1em;
    padding: 18px 12px;
}
a.button:hover {
    background: #f60;
    color: #fff;
}
a.white {
    color: #fff;
}
a.button i {
    margin-left: 15px;
}
/*======================
03. HEADER STYLES
========================*/

header {
    position: relative;
}
header:after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 45px;
    background: url(../img/header-wave.png) no-repeat center;
    position: absolute;
    bottom: -45px;
    z-index: 100;
}
header .container {
    max-width: inherit;
    width: 95%;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center; /* Safari 7.0+ */
}
.logo {
    /*    float: left;*/
}
header .logo img {
    margin: 0 auto;
    display: block;
    max-height: 230px;
    padding: 5% 0;
}
.logo a {
    margin: 0;
    display: block;
}
header .logo img.logo-mobile {
    display: none;
}
/*======================
04. NAVIGATION STYLES
========================*/

.mobile {
    display: none;
}
.mobile-slide {
    display: none;
}
.navwrap {
    position: relative;
    z-index: 999;
    /*    float:right;*/
    margin-left: auto;
}
.contact-info .social a {
    transition: 0.5s all ease;
    color: #043d81;
}
.contact-info .social a .fa-inverse {
    color: #fff;
}
.contact-info .social a:hover {
    color: #4593d0;
}
.number {
    display: none;
}
.navwrap > .social a .fa-circle {
    color: #32d7c5;
    transition: 0.5s all ease;
}
.navwrap > .social a:hover .fa-circle {
    color: #219b8e;
}
nav {
    float: right;
}
ul.navigation {
    list-style-type: none;
    padding-bottom: 0;
}
ul.navigation:after {
    display: block;
    content: "";
    clear: both;
}
ul.navigation li {
    float: left;
    margin: 0;
    padding: 0;
    position: relative;
}
ul.navigation li:last-child ul {
    right: 0;
}
ul.navigation li:last-child:hover li a {
    text-align: right;
}
ul.navigation li a {
    display: block;
    text-decoration: none;
    color: #4b4b4b;
    line-height: 137px;
    padding: 0 18px;
    text-transform: uppercase;
    transition: 0.5s all ease;
}
ul.navigation li:hover a {
    color: #043d81;
}
/* DROPDOWN */

ul.navigation li ul {
    display: none;
}
ul.navigation li:hover ul {
    display: block;
    margin-left: 0;
    position: absolute;
    top: 137px;
    z-index: 9999;
    list-style-type: none;
}
ul.navigation li:hover li {
    float: none;
    white-space: nowrap;
    width: 100%;
    background: none;
}
ul.navigation li:hover li a {
    background: #fff;
    color: #4b4b4b;
    display: block;
    margin: 0;
    height: auto;
    text-align: left;
    font-size: 1em;
    line-height: 2.7em;
    padding: 0 20px 0 15px;
    border: 0;
}
ul.navigation li:hover li a:hover {
    color: #8ecac9;
}
/*======================
05. CONTENT STYLES
========================*/

.full-header {
    position: relative;
    max-height: 700px;
    overflow: hidden;
}
.full-header h1 {
    font-size: 5em;
    color: #002e68;
}
.full-header h2 {
    font-size: 2em;
    color: #fff;
}
.full-header p {
    font-size: 2em;
}
#slideshow {
    padding: 0;
}
#slideshow li {
    margin: 0;
    list-style-type: none;
}
#slideshow img {
    display: block;
}
#slideshow video {
    display: block;
    width: 100%;
}
.full-header .overlay {
    position: absolute;
    top: 25%;
    left: 0;
    right: 0;
    text-align: center;
    color: #fff;
}
.contact-info {
    color: #316a6a;
    line-height: 106px;
}
.contact-info .container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.contact-info .container > div {
    margin-left: 1%;
    margin-right: 1%;
}
.contact-info .phone {
    color: #043d81;
    text-decoration: none;
    font-size: 2em;
    font-weight: 600;
    display: block;
    margin-left: 30px;
}
#welcome h2 {
    font-size: 6em;
    text-transform: uppercase;
    color: #f60;
    line-height: 1em;
    font-family: inherit;
}
#welcome h2 span {
    font-weight: 700;
    display: block;
    color: #043d81;
}
.content {
    position: relative;
    z-index: 10;
}
.content h2 {
    color: #bc9705;
    font-family: inherit;
}
.content h4 {
    color: #bc9705;
}
.content h3, .content h5, .content h6 {
    color: #043d81;
}
.sidebar {
    float: right;
    background: #627eec;
    padding: 15px 35px;
    text-align: center;
    margin-left: 25px;
    margin-bottom: 20px;
}
.sidebar a {
    color: #fff;
}
.circle {
    border-radius: 50%;
    display: inline-block;
    border: solid #b8e9ff 6px;
}
/* FORM STYLES */

#form .clear {
    clear: both;
}
#form .center {
    text-align: center;
}
#form h3 {
    margin: 0 1%;
}
#form small {
    font-style: italic;
}
#form hr {
    width: 98%;
    margin: 10px 1% 15px 1%;
}
/*GRID */
#form .column {
    float: left;
    margin: 0 1%;
}
#form .full {
    width: 98%;
    margin: 0 1%;
}
#form .half {
    width: 48%;
}
#form .twothird {
    width: 65%;
}
#form .onethird {
    width: 31%;
}
#form input:not([type=submit]):not([type=checkbox]):not([type=radio]) {
    width: 96%;
    padding: 10px 2%;
}
#form input[type=radio] {
    margin-bottom: 5px;
}
#form textarea {
    width: 96%;
    resize: none;
    padding: 10px 2%;
    font: 95%/1.4 'Tahoma', sans-serif;
}
#form select {
    width: 101%;
    padding: 10px 2%;
}
/*======================
06. FOOTER STYLES
========================*/

#pre-footer {
    background: #d1e6ff;
    padding-top: 300px;
    margin-top: -280px;
    position: relative;
}
#pre-footer:before {
    content: '';
    display: inline-block;
    width: 100%;
    height: 16px;
    background: url(../img/gradient-white.png) repeat-x;
    position: absolute;
    top: 0;
}
#pre-footer .container {
    width: 80%;
    max-width: inherit;
}
#pre-footer .quick {
    width: 95%;
    margin: auto;
    position: relative;
    top: -270px;
}
#pre-footer h2 {
    font-size: 6em;
    text-transform: uppercase;
    color: #043d81;
    line-height: 1em;
    font-family: inherit;
}
#pre-footer h2 span {
    font-weight: 700;
    display: block;
    color: #3c3c3c
}
#pre-footer h4 {
    color: #043d81;
}
/* Quicklinks */

ul.quick {
    list-style-type: none;
    padding-bottom: 0;
    display: block;
    width: 100%;
    margin-top: 20px;
}
ul.quick:after {
    clear: both;
    content: '';
    display: block;
}
ul.quick li {
    float: left;
    margin: 0;
    padding: 0;
    position: relative;
    width: 32.6667%;
    margin-right: 1%;
}
ul.quick li img {
    opacity: .9;
    transition: 0.5s all ease;
}
ul.quick li img:hover {
    opacity: 1;
}
ul.quick li span {
    position: absolute;
    top: 40%;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 2em;
}
ul.quick li a {
    display: block;
    text-decoration: none;
    color: #fff;
    font-size: 1.3em;
    line-height: 2em;
    text-transform: uppercase;
    transition: 0.5s all ease;
    text-align: center;
}
ul.quick li:last-child {
    margin-right: 0;
}
footer {
    font-size: 0.85em;
    color: #fff;
    background: #043d81;
    display: block;
    position: relative;
    padding-top: 30px;
}
footer a {
    color: #fff;
    text-decoration: underline;
    transition: 0.5s all ease;
}
footer:after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 45px;
    background: url(../img/footer-wave.png) repeat-x;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 100;
}
footer .copyright {
    background: #313d43;
    padding: 0 10%;
    float: left;
    width: 25%; /*45%-20% padding*/
}
footer .copyright img {
    vertical-align: middle;
    margin-left: 10px;
}
footer .contact {
    background: #2a363c;
    padding: 0 10%;
    float: left;
    width: 35%; /*55%-20% padding*/
}
footer h2 {
    font-family: 'vincentia', cursive;
    color: #fff;
}
ul.sitemap {
    list-style-type: none;
}
ul.sitemap li {
    display: block;
    margin: 0;
    padding: 3px 0;
}
ul.sitemap li a {
    display: block;
    text-decoration: none;
    text-transform: uppercase;
    transition: 0.5s all ease;
}
footer a:hover, ul.sitemap li a:hover {
    color: #32bbfd;
}
footer address {
    font-style: normal;
    line-height: 1.6em;
    float: left;
    margin-right: 40px;
}
footer .social {
    float: left;
    line-height: 1.4em;
}
footer .social a .fa-circle {
    color: #fbe303;
    transition: 0.5s all ease;
}
footer .social a:hover .fa-circle {
    color: #32bbfd;
}
footer .social a .fa-inverse {
    color: #043d81;
}
.windowtop {
    display: inline-block;
    height: 40px;
    width: 40px;
    position: fixed;
    bottom: 40px;
    right: 30px;
    overflow: hidden;
    text-indent: 100%;
    background: #d9af06 url('../img/top-arrow.png') no-repeat center 50%;
    visibility: hidden;
    opacity: 0;
    border-radius: 50%;
    z-index: 9999;
    transition: 0.5s all ease;
    cursor: pointer;
}
.windowtop.cd-is-visible {
    /* the button becomes visible */
    visibility: visible;
    opacity: 1;
}
.no-touch .windowtop:hover {
    background-color: #4b62c0;
    opacity: 1;
}

/*======================
MEDIA QUERIES
========================*/

@media (max-width:1600px) {
    .container {
        width: 85%;
    }
    ul.navigation li a {
        padding: 10px 0;
        font-size: 1em;
    }
    nav ul.navigation li a {
        font-size: 1em;
        padding: 0 16px;
    }
    ul.navigation li:hover ul {
        top: 88px;
    }
    ul.quick li a {
        font-size: 1em;
    }
    .row {
        padding: 25px 0;
    }
    .text {
        padding-top: 0;
    }
    footer .copyright {
        padding: 0 5%;
        width: 35%; /*45%-10% padding*/
    }
    footer .contact {
        padding: 0 5%;
        width: 45%; /*55%-10% padding*/
    }
}

@media (max-width: 1200px) {
    .desktopmenu {
        display: none !important;
    }
    .mobile {
        display: block;
        line-height: 137px;
        cursor: pointer;
        text-align: center;
        color: #232323;
        float: right;
        text-decoration: none;
        text-transform: uppercase;
        padding: 0 40px 0 0;
    }
    a.mobile:hover {
        color: #232323;
    }
    .full-header h1 {
        font-size: 3.2em;
    }
    #menu .inner {
        padding: 4em 0;/*Adjust Padding to reposition Close Button */
    }
    #menu .close {
        background-image: url("../img/close.svg");
        background-position: 75% 25%;
        background-repeat: no-repeat;
        background-size: 4em 4em;
        border: 0;
        content: '';
        display: block;
        height: 4em;
        overflow: hidden;
        position: absolute;
        right: 1em;
        text-align: center;
        text-indent: 8em;
        top: 1em;
        width: 4em;
    }
    #menu ul {
        list-style: none;
        padding: 0;
    }
    #menu li {
        padding: 0;
    }
    #menu li ul {
        display: none;
    }
    /*ADJUST FONT SIZE AND PADDING BELOW FOR MOBILE MENUS WITH MORE ITEMS */
    #menu li a {
        border: 0;
        display: block;
        font-size: 1.7em; /* Reg: 1.8em*/
        padding: 0.4em 0; /* Reg: 0.5em 0 */
        text-transform: uppercase;
        text-decoration: none;
        color: #fff;
    }
    #menu li a:hover {
        background: none;
    }
}

@media screen and (max-width:1000px) {
    .desktop {
        display: none;
    }
    .grid1, .grid2, .grid3, .grid4, .grid5, .grid6, .grid7, .grid8, .grid9, .grid10, .grid11, .grid12 {
        width: 100%;
        margin: 0;
    }
    #form .column {
        float: none;
        margin: 0;
    }
    #form .full, #form .half, #form .twothird, #form .onethird {
        width: 98%;
        margin: 0;
    }
    .container img, .containerfull img {
        display: block;
        margin: 0 auto 10px auto;
    }
    .containerfull .welcome img {
        margin: 0 auto;
    }
    a.button {
        margin: 0 0 20px 0;
    }
    footer {
        text-align: center;
    }
    footer .copyright, footer .contact {
        float: none;
        width: 90%;
    }
    footer address {
        float: none;
        margin: auto;
    }
    footer .social {
        float: none;
        margin: auto;
    }
    .full-header h1 {
        font-size: 3em;
        margin-bottom: 10px;
    }
    .full-header p {
        font-size: 1em;
    }
    #welcome h2 {
        font-size: 4em;
    }
    blockquote {
        float: none;
        width: auto;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 15px;
    }
    .social {
        text-align: center;
    }
    .contact-info {
        line-height: 60px;
        padding: 30px 0;
    }
    .contact-info .phone {
        text-align: center;
    }
}

@media screen and (max-width:800px) {
    .alignleft, .alignright {
        float: none;
        display: block;
        margin: 0 auto !important;
        padding-bottom: 20px;
    }
    hr {
        margin-top: 0px;
    }
    .logo {
        width: auto;
        height: auto;
        background: none;
        position: relative;
        top: 0;
        left: 0;
    }
    .mobile {
        width: 70px;
    }
    .navwrap {
        float: none;
    }
    .fa-stack {
        width: 1.7em;
    }
    .fa-lg {
        font-size: 1.1em;
    }
    ul.quick li {
        float: none;
        width: 100%;
        margin-right: 0;
        margin-bottom: 5px;
    }
    .number {
        text-align: center;
    }
    .sidebar {
        float: none;
        margin-left: 0;
    }
    /* For menus longer than the browser height, this adds scrolling starting from top */
    #menu {
        align-items: flex-start;
        -webkit-align-items: flex-start;
        -moz-align-items: flex-start;
        -ms-align-items: flex-start;
    }
    .full-header .overlay {
        top: 25%;
    }
    .sub .full-header .overlay {
        top: 40%;
    }
    .overlay .button {
        font-size: .8em;
        padding: 5px 12px;
    }
    footer .row.last {
        padding-top: 0;
    }
    #slideshow img {
        object-fit: cover;
        min-height: 175px;
    }
    .sub h1 {
        margin: 15px 0 20px;
    }
    h2, #welcome h2, #pre-footer h2 {
        font-size: 2.5em;
    }
    .home .full-header h1 {
        font-size: 2.3em;
        margin-bottom: -5px;
    }
    .full-header h2 {
        display: none;
    }
    _:-ms-fullscreen, :root #slideshow img {
        height: auto;
    }
}

@media (max-device-width:570px) {
    /*For Iphone 5S and Smaller */
    #menu li a {
        border: 0;
        display: block;
        font-size: 1.4em; /* Reg: 1.8em*/
        padding: 0.2em 0; /* Reg: 0.5em 0 */
        font-weight: 700;
        text-transform: uppercase;
        text-decoration: none;
        color: #fff;
    }
    h1 {
        margin-bottom: 10px;
    }
    .full-header .overlay {
        top: 17%;
    }
    header .logo img.logo-desktop {
        display: none;
    }
    header .logo img.logo-mobile {
        display: block;
    }
}
