/*	Overrides */

html { scroll-behavior:smooth; }
body { font-family:"Open Sans", Arial, Helvetica, sans-serif; font-size:18px; font-weight:400; overflow-x:hidden; padding-top:4em; color:#5f6061; }
p { line-height:2; }
p a { color:#2571b8; }
p a:hover { text-decoration:underline; }
a, button { transition:all 0.3s ease; }
strong.highlight { color:#2571b8; }
a:hover { text-decoration:none; }
label { margin-bottom:0; }
input { padding:13px 20px; }
.btn { font-size:1.1rem; padding:15px 25px; border-radius:0; }
.btn-primary { background-color:#659acd; border:none; }
.btn-secondary { background-color:#2571b8; border:none; }
/* end Overrides */

/* Page Layout */
.container-fluid { max-width:1430px; }
.page-cols-container { display:flex; justify-content:space-between; }
.page-col-left { width:28.56%; max-width:400px; }
.page-col-right { width:70%; margin-left:auto; margin-right:0; }
.home-section-2-left { padding-right:40px; }
.home-section-2-right { padding-left:40px; }

.center-child { display:flex; align-items:center; justify-content:center; }
@media (max-width:767px) {
    .home-section-2-left { padding-right:15px; margin-bottom:80px; }
    .home-section-2-right { padding-left:15px; }
    .home-section-2-left, .home-section-2-right { max-width:660px; }
}
@media (max-width:991px) {
    .page-col-left { width:100%; max-width:100%; }
    .page-col-right { width:100%; }
}
/* end Page Layout */

/* Colors */
.text-secondary { color:#2571b8!important; }
.bg-primary { background-color:#2571b8!important; }
.bg-black-transparent { color:#fff; }
/* end Colors */

.brand-container a { display:flex; align-items:center; }
.brand-container img { display:block; height:64px; width:auto; }
.brand-texts { padding:0 1em; }
.brand-row { padding-bottom:30px; align-items:center; }
.welcome-row { padding-top:30px; padding-bottom:40px; }
.brand-name { color:#2571b8; font-weight:700; font-size:32px; line-height:1.2em; margin:0; }
.brand-container h2 { color:#808080; font-weight:300; font-size:18px; line-height:1.2em; margin:0; }

/* Navbar */
.nav-col { display:flex; align-items:center; justify-content:flex-end; }
.navbar-expand-lg .navbar-nav .nav-link { height:50px; border-bottom:2px solid transparent; text-align:center; margin-left:25px; margin-right:25px; display:flex; justify-content:center; align-items:center; }
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-item.active .nav-link { border-bottom:2px solid #2571b8; color:#2571b8; }
.navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show > .nav-link { color:#98999a; }
@media (max-width:991px) {
    .nav { position:relative; }
    #navbarNav { position:absolute; top:80px; padding-top:1em; padding-bottom:1em; background-color:#fff; z-index:1001; width:calc(100vw - 1em); }
    .navbar { background-color:transparent; justify-content:flex-end; padding-right:0; }
    .navbar-toggler { background-color:rgba(255, 255, 255, 0.9); }
    .navbar-expand-lg .navbar-nav .nav-link { height:45px; margin:5px 15px; }
    .navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-item.active .nav-link { border:2px solid #2571b8; font-weight:bold; }
}
/* end Navbar */

ul.list-plus li { list-style:none; margin-bottom:12px; }
ul.list-plus li:before { content:"+"; margin-right:10px; }
/* Welcome */
.welcome-box { height:300px; display:flex; align-items:center; justify-content:center; }
.welcome-parallax { min-height:300px; position:relative; }
.center-child.welcome-parallax { background:rgba(37,113,184,.25); }
.small-parallax { min-height:240px; background:transparent; }
.welcome-text { max-width:320px; width:100%; padding:.5em; color:#fff; font-size:1.3rem; margin-bottom:0; text-align:right; }
@media (max-width:991px) {
    .welcome-box { margin-bottom:20px; height:auto; min-height:250px; }
    .page-cols-container { flex-direction:column; }
}


figure img { max-width:100%; }
figure figcaption { color:#CCC; font-size:.8em; font-style:italic; }
.figure.right { float:right; padding:0 0 1em 1em; }
.figure.left { float:left; padding:0 1em 1em 0; }

.table { border:1px solid #CCC; padding:0; margin:0; max-width:800px; }
.table td { padding:.5em 1em; border:1px solid #CCC; }


.copyright-text { font-size:1rem; }
.copyright-link { color:#fff; }
.page-footer { padding-top:50px; padding-bottom:50px; background:#2571b8; }
.page-footer img { display:block; float:left; margin-right:1em; height:136px; }
.page-footer ul { padding-left:3em; color:rgba(255,255,255,.75); }
.page-footer ul.no-dots { list-style:none; }
.page-footer ul li { padding-bottom:.5em; }
.page-footer a { color:#fff; }



.tabs { list-style:none; margin:0; padding:0; }
.tabs > li > a { border:1px solid #cfd0d1; color:#999a9b; padding:.5em 1em; display:block; margin:0 0 .25em; }
.tab-icon { width:16px; height:16px; display:inline-block; background-color:transparent; vertical-align:middle; margin-right:8px; transition:all 0.3s ease; }
.tabs > li > a.active .tab-icon,
.tabs > li > a:hover .tab-icon { background-color:#2571b8; }

.parallax-overlay { position:relative; z-index:2; width:auto; background:transparent; height:100%; display:flex; text-align:center; align-items:center; flex-direction:column; padding:2em; max-width:900px; }
.gallery { display:flex; flex-flow:row wrap; }
.gallery-item { width:31%; margin:2% 2% 2% 0; }
.gallery-item figure figcaption { font-style:normal; }
.filters-button-group { padding-right:15px; }
.gallery-item figure { position:relative; float:left; overflow:hidden; margin-bottom:0; text-align:center; cursor:pointer; background:#2571b8; }
.gallery-item figure img { opacity:.75; -webkit-transition:opacity 0.2s; transition:opacity 0.2s; position:relative; display:block; min-height:100%; max-width:100%; }
.gallery-item figure figcaption { padding:1em; color:#fff; text-transform:uppercase; font-size:1.25em; -webkit-backface-visibility:hidden; backface-visibility:hidden; }
.gallery-item figure figcaption::before,
.gallery-item figure figcaption::after { pointer-events:none; position:absolute; top:15px; right:15px; bottom:15px; left:15px; content:''; opacity:0; -webkit-transition:opacity 0.2s, -webkit-transform 0.2s; transition:opacity 0.2s, transform 0.2s; }
.gallery-item figure figcaption::before { border-top:1px solid #fff; border-bottom:1px solid #fff; -webkit-transform:scale(0, 1); transform:scale(0, 1); }
.gallery-item figure figcaption::after { border-right:1px solid #fff; border-left:1px solid #fff; -webkit-transform:scale(1, 0); transform:scale(1, 0); }
.gallery-item figure figcaption,
.gallery-item figure figcaption > a { position:absolute; top:0; left:0; width:100%; height:100%; display:flex; flex-direction:column; justify-content:center; }
.gallery-item figure figcaption > a { z-index:1000; text-indent:200%; white-space:nowrap; font-size:0; opacity:0; }
.gallery-item figure h2 { word-spacing:-0.15em; font-weight:300; font-size:1.5rem; }
.gallery-item figure h2 span { font-weight:800; }
.gallery-item figure h2,
.gallery-item figure p { margin:0; width:100%; padding:10px; opacity:0; -webkit-transition:opacity 0.2s, -webkit-transform 0.2s; transition:opacity 0.2s, transform 0.2s; -webkit-transform:translate3d(0, 20px, 0); transform:translate3d(0, 20px, 0); }
.gallery-item figure p { letter-spacing:1px; font-size:68.5%; }
.gallery-item figure:hover img { opacity:0.25; }
.gallery-item figure:hover figcaption::before,
.gallery-item figure:hover figcaption::after { opacity:1; -webkit-transform:scale(1); transform:scale(1); }
.gallery-item figure:hover h2,
.gallery-item figure:hover p { opacity:1; -webkit-transform:translate3d(0, 0, 0); transform:translate3d(0, 0, 0); }

@media (max-width:767px) {
    .gallery { max-width:600px; margin-left:auto; margin-right:auto; }
    .gallery-item { width:46%; }
}
@media (max-width:400px) {
    .gallery { width:100%; padding:0 1em; }
    .gallery-item { width:100%; margin-left:0; margin-right:0; }
    .gallery-item figure { float:none; background:#2571b8; }
    .gallery-item figure img { width:100%; height:150px; object-fit:cover; opacity:.5; }
}

.address-container { margin-bottom:2em; }
.tabgroup h3 { margin-top:-40px; padding-top:40px; }



@media (max-width:640px) {
    body { padding-top:1em; }
    .container-fluid { padding:0 .5em; }
    .brand-texts { padding:0 .5em; }
    .brand-name { font-size:1.25em; margin-right:8px; }
    .brand-container h2 { font-size:.875em; }
    .brand-container img { height:48px; }
    .welcome-row { padding:0; }

    .center-child.welcome-parallax:after { content:""; display:block; position:absolute; top:0; bottom:0; left:0; right:0; background:rgba(37,113,184,.5);}

    .pt-4 { padding-top:1em; }
    .mb-4 { margin-bottom:1em; }

    .tabgroup h3 { margin-top:0; }

    .table .hide-mobile { display:none; }

    .figure img { width:100%; }
    .figure.left, .figure.right { float:none; padding:1em 0; }

    .page-footer { padding:32px 0; }
    .page-footer .col-md-6:first-child { border-bottom:1px solid rgba(255,255,255,.5); }
    .page-footer .col-md-6 img { display:block; margin:2em auto 1em; float:none; }
    .page-footer ul { margin:0; padding:0 1em; text-align:center; }
}
