:root {
    --white: #fff;
    --black: #000;
    --blue: #01477f;
    --red: #9d0059;
    --teal: #3baec0;
     --teal-dark: #206d79;
    --aqua: #3697c2;
    --blue-mid: #327fc7;
    --gray: #505050;
    --trans-black: rgba(0,0,0,.11);
    --trans-black-50: rgba(0,0,0,.50);
    --gray-light: #ededed;
    --trans-blue: rgba(0, 81, 144, .63);
    --trans-red: rgba(164, 45, 115, .63);
    --trans-red-dark: rgba(151, 0, 88, .63);
    --trans-white: rgba(255, 255, 255, .38);    
    --gray-mid: #dbdbdb;
}

html { scroll-behavior: smooth;}

@font-face {
    font-family: 'ProximaNovaRegular';
    src: url('../fonts/proximanova-regular-webfont.eot');
    src: url('../fonts/proximanova-regular-webfont.eot?#iefix') format('embedded-opentype'),
        url('../fonts/proximanova-regular-webfont.woff2') format('woff2'),
        url('../fonts/proximanova-regular-webfont.woff') format('woff'),
        url('../fonts/proximanova-regular-webfont.ttf') format('truetype'),
        url('../fonts/proximanova-regular-webfont.svg#proxima_nova_rgregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'ProximaNovaBold';
    src: url('../fonts/proximanova-bold-webfont.eot');
    src: url('../fonts/proximanova-bold-webfont.eot?#iefix') format('embedded-opentype'),
        url('../fonts/proximanova-bold-webfont.woff2') format('woff2'),
        url('../fonts/proximanova-bold-webfont.woff') format('woff'),
        url('../fonts/proximanova-bold-webfont.ttf') format('truetype'),
        url('../fonts/proximanova-bold-webfont.svg#proxima_nova_rgbold') format('svg');
    font-weight: normal;
    font-style: normal;
}

.bg-white { background-color: var(--white); }
.bg-black { background-color: var(--black); }
.bg-blue { background-color: var(--blue); }
.bg-red { background-color: var(--red); }
.bg-teal { background-color: var(--teal); }
.bg-teal-dark { background-color: var(--teal-dark); }
.bg-aqua { background-color: var(--aqua); }
.bg-blue-mid { background-color: var(--blue-mid); }
.bg-gray { background-color: var(--gray); }
.bg-gray-light { background-color: var(--gray-light);}
.bg-gray-mid { background-color: var(--gray-mid);}
.bg-trans-black { background-color: var(--trans-black); }
.bg-trans-black-50 { background-color: var(--trans-black-50); }
.bg-gray-mid { background-color: var(--gray-light);}
.bg-trans-blue { background-color: var(--trans-blue);}
.bg-trans-red { background-color: var(--trans-red); }
.bg-trans-red-dark { background-color: var(--trans-red-dark); }
.bg-trans-white { background-color: var(--trans-white);}

.text-white { color: var(--white); }
.text-black { color: var(--black); }
.text-blue { color: var(--blue); }
.text-red { color: var(--red); }
.text-teal { color: var(--teal); }
.text-aqua { color: var(--aqua); }
.text-blue-mid { color: var(--blue-mid); }
.text-gray { color: var(--gray); }
.text-trans-black { color: var(--trans-black); }
.text-gray-mid { color: var(--gray-light); }

.text-fs-12 { font-size:12px; }
.text-fs-15 { font-size:15px; }
.text-fs-16 { font-size:16px; }
.text-fs-17 { font-size:17px; }
.text-fs-18 { font-size:18px; }
.text-fs-19 { font-size:19px; }
.text-fs-20 { font-size:20px; }
.text-fs-22 { font-size:22px; }
.text-fs-27 { font-size:27px; }
.text-fs-30 { font-size:30px; }
.text-fs-34 { font-size:34px; }
.text-fs-38 { font-size:38px; }
.text-fs-40 { font-size:40px; }
.text-fs-64 { font-size:64px; }
.text-fs-70 { font-size:70px; }

.fw-bold { font-family: 'ProximaNovaBold'; }

body { background-color:var(--white); font-family: 'ProximaNovaRegular'; overflow-x: hidden; letter-spacing: .02rem; font-size:18px; }
header { position:fixed; top:0; left:0; width:100%; z-index:900; background-color: var(--white); filter: drop-shadow(0px 3px 7px var(--trans-black-50)); }
.main-logo { width:322px; -webkit-transition: all 0.5s ease;-moz-transition: all 0.5s ease;-o-transition: all 0.5s ease;transition: all 0.5s ease; }
.scrolled .main-logo { width:180px; } 
a { text-decoration: none; }
nav ul { margin: 0; padding: 0; list-style: none; position: relative;  } 
nav ul li { display: inline-block;  } 
nav a { display: block; padding: 0 10px; color: var(--blue);  text-decoration: none;  line-height: 18px; } 
nav ul ul { opacity:0; position: absolute; top: 40px; -webkit-transition: all 0.5s ease;-moz-transition: all 0.5s ease;-o-transition: all 0.5s ease;transition: all 0.5s ease; background: var(--blue); padding: 1rem;  } 
nav ul li:hover > ul { display:inherit;  top: 30px; opacity:1; } 
nav ul ul li { width: 225px; float: none; display: list-item; position: relative; margin-bottom:5px; } 
nav ul ul ul li { position: relative; top:-60px; left:200px;  } 
nav ul ul a { font-size:13px; }
nav ul ul a { color: #fff } 
nav ul ul li:hover > ul { display:inherit; }

.fade-in { opacity:0; }
.mobile-overlay-wrapper { opacity:0; position:fixed; top:0; left:0; right:0; bottom:0; background-color: rgba(0,0,0,.9); z-index:-1; display:flex; align-items:center; justify-content: center; text-align: center; -webkit-transition: all 0.5s ease;-moz-transition: all 0.5s ease;-o-transition: all 0.5s ease;transition: all 0.5s ease; }
.mobile-overlay-wrapper > li { margin-bottom:1rem; }
.mobile-overlay-wrapper a  { color:#fff; text-decoration: none; font-size:27px; }
.mobile-overlay-wrapper a.order-online-link { font-size:20px; display:inline-block; margin-top:.5rem;  }
.mobile-dropdown { display:none; }
.mobile-dropdown a { font-size:20px; color: var(--white); }
.mobile-trigger { cursor:pointer; width:40px; height:20px; position:fixed; top:70px; right:25px; z-index:1005;  display:none; }
.mobile-trigger span { width:100%; display: block; background-color: var(--blue); height:2px; margin-bottom:5px; border-radius: .25rem; -webkit-transition: all 0.5s ease;-moz-transition: all 0.5s ease;-o-transition: all 0.5s ease;transition: all 0.5s ease;}
body.open .mobile-trigger span:nth-child(3) { display:none; }
body.open .mobile-trigger span:nth-child(1) { transform:rotate(45deg); background-color: var(--white); }
body.open .mobile-trigger span:nth-child(2) { transform:rotate(-45deg); margin-top:-7px; background-color: var(--white); }
body.open .mobile-overlay-wrapper { opacity: 1; z-index:1000; }

.add-border-red-right { border-right:1px solid var(--red);}
.top-nav a { line-height: 13px; display: inline-block;}
.btn-red { background-color: var(--red); color:var(--white); display:inline-block; border-radius: 100px; font-size:16px; font-family: 'ProximaNovaBold'; padding:.5rem 3.2rem; text-shadow: 2px 2px 4px #000000; }

    .btn-white { background-color: var(--white); color:var(--blue); display:inline-block; border-radius: 100px; font-size:16px; font-family: 'ProximaNovaBold'; padding:.5rem 3.2rem;  }

.add-short-border-left-red, .add-short-border-centered-white { position:relative; margin-bottom:2rem; }
.add-short-border-left-red::after { content:''; position:absolute; bottom:-.8rem; left:0; border:1px solid var(--red); width:20%;}
.add-short-border-centered-white::after { content:''; position:absolute; bottom:-.8rem; left:50%; transform:translateX(-50%); border:1px solid var(--white); width:12%; }
.object-fit-cover { height: 100%; width:100%; object-fit: cover;}
section { overflow-x: hidden;}
.hp-stats { position:absolute; bottom:50px; left:50%; transform:translateX(-50%); width:70%; }
.bg-blue-wave { background: var(--blue) url(../img/bg-waves-blue.jpg) no-repeat 0 0; background-size:cover; }
.mw-1280 { max-width:1280px;}
footer .border-end { border-right:2px solid #66c9d7 !important; }
.add-border-bottom-trans-white { border-bottom:2px solid var(--trans-white); }

.map-responsive, .embed-responsive{
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:345px;
}
.map-responsive iframe, .embed-responsive embed{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}



#first-section { position:relative; }
.inner-page-type #first-section h2 { position:absolute; bottom:80px; left:140px; z-index:99; }
ol li { margin-bottom:.5rem; }
ol li::marker { font-family: 'ProximaNovaBold'; }

/* ---------------------------------- */
/* ABOUT  */
/* ---------------------------------- */

.about-page .pager { text-align:center; }
.about-page .pager span { font-size:50px; color:#c8c8c8; }
.about-page .pager span.cycle-pager-active { color:var(--aqua); }
.about-page .gallery { position: relative;}
.about-page .gallery-control {     position: absolute; top: 45%; transform: translateY(-50%); z-index: 150; display: block; background: var(--gray-light); padding: 0.5rem; }
.about-page #next.gallery-control { right:0; }

.ls-06-rem { letter-spacing: .6rem;}

/* ---------------------------------- */
/* MEDIA QUERIES */
/* ---------------------------------- */
@media (max-width:990px){
    .mobile-trigger { display:block; }
    footer .border-end, .sitemap .border-end { border:none !important; }
    .text-fs-sm-32 { font-size:25px; line-height: normal; }
   .inner-page-type #first-section h2 { bottom:20px; left:40px;  }
}
