/* ==========================================================================
     Project:     Turbo Blue
     Date:        10/27/2025 - File created	
     Created by:  Third Wave Digital (www.thirdwavedigital.com)
========================================================================== */

:root{
	--dark-blue: #0b4775;
	--blue: #1273be;
	--black: #272a2d;
	--white: #fff;
	--light-grey: #e8e8e8;
	--ash-grey: #ccc;
	--grey: #acaeaf;
	--dark-grey: #5a5d60;
	--gainsboro: #dcdcdc;
}

/* ==========================================================================
     Typograpy
========================================================================== */
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6 {font-family: "Exo 2", sans-serif; font-weight: 700;}
p {line-height: 1.8; color: var(--dark-grey);}


/* ==========================================================================
     Main Layout
========================================================================== */ 

html {scroll-behavior: smooth;}

/* Header */
.header-wrapper {font-family: "Exo 2", sans-serif; font-weight: 700; font-size: 0.938rem; top: 0px; left: 0px; width: 100%; z-index: 1;transition: all 500ms ease; padding: 0px 0px;}
.header-wrapper {background-color: var(--blue);}
.header-wrapper img { transition: all 500ms ease;}

/* Body */
body{background-image: url(/img/bg-texture-white.png);}

/* Footer */
.footer-wrapper {background-color: var(--black); background-image: url(/img/bg-texture.png); color: var(--white);}
.footer-wrapper ul {list-style: none;}
.footer-wrapper a {color: var(--grey); font-size: 0.813rem; text-decoration: none;}
.footer-wrapper a:focus, .footer-wrapper a:hover {color: var(--white);}
.footer-wrapper .copyright {font-size: 0.625rem; color: var(--grey)}
/* ==========================================================================
     Components
========================================================================== */ 

/* Images */
img {max-width: 100%; height: auto}
.img-fit {object-fit: cover; object-position: center center; width: 100%; height: 100%;}
section:has(.img-bg) {position: relative;}
.img-bg {position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; object-fit:cover; z-index: -1}

/* Backgrounds */
.bg-texture {background-image: url(/img/bg-texture.png);}
.bg-blue {background-color: var(--blue);}
.bg-white {background-color: var(--white);}

/* Text */
.text-blue {color: var(--blue);}
.text-black {color: var(--black);}

/* Buttons */
.btn-blue, .btn-outline-secondary, .btn-outline-white {text-transform: uppercase; font-weight: 600; padding: 6px 20px;}

.btn-blue {background: var(--blue); color: var(--white); }
.btn-blue:focus, .btn-blue:hover {background: #0896fecc; color: var(--white);}

.btn-outline-white {color: var(--white);border: 2px solid var(--white);}
.btn-outline-white:focus, .btn-outline-white:hover {color: var(--black); background-color: var(--light-grey);border: 2px solid var(--light-grey);}

/* Fonts */
.fw-400 {font-weight: 400;}

/* Off Canvas Toggle */
.btn-toggle-offcanvas {margin: 0px; border-radius: 0px; height: 36px;padding:5px;transition-timing-function:linear;transition-duration:.15s;transition-property:opacity;text-transform:none;color:inherit;border:0;}
	.hamburger-box {position: relative;display: inline-block;width: 24px;height: 24px;}
	.hamburger-inner,.hamburger-inner:after,.hamburger-inner:before{position:absolute;width:24px;height:2.5px;transition-timing-function:ease;transition-duration:.15s;transition-property:transform;border-radius:3.5px;background-color:var(--white); right: 0px}
	.hamburger-inner{top:50%;display:block;transition-timing-function:cubic-bezier(.55,.055,.675,.19);transition-duration:.22s;}
	.hamburger-inner:after,.hamburger-inner:before{display:block;content:"";}
	.hamburger-inner:before{transition:top .1s ease-in .25s,opacity .1s ease-in; top:-8px;}
	.hamburger-inner:after{transition:bottom .1s ease-in .25s,transform .22s cubic-bezier(.55,.055,.685,.19); bottom:-8px;}
	.btn-toggle-offcanvas.active .hamburger-inner{transition-delay:.12s;transition-timing-function:cubic-bezier(.215,.61,.355,1);transform:rotate(-225deg)}
	.btn-toggle-offcanvas.active .hamburger-inner:before{top:0;transition:top .1s ease,opacity .1s ease .12s;opacity:0; width: 100%;}
	.btn-toggle-offcanvas.active .hamburger-inner:after{bottom:0;transition:bottom .1s ease,transform .22s cubic-bezier(.215,.61,.355,1) .12s;transform:rotate(90deg);width: 100%;}

/* Offcanvas */
.offcanvasmenu {position:fixed; width: 100%; left: 0px; background: var(--blue); overflow-x:hidden; overflow-y:auto; z-index:-1;-webkit-transform: scale(.75); -ms-transform: scale(.75); transform: scale(.75); transform-origin: top center; pointer-events: none; opacity: 0; visibility: hidden; transition: transform 250ms ease, opacity 250ms ease}
.offcanvasmenu ul {list-style:none; padding: 0px;margin: 0px;}

.offcanvasmenu .mainmenu {font-weight: 700;}
.offcanvasmenu .mainmenu {position: relative;text-transform: uppercase; }
.offcanvasmenu .mainmenu a[aria-haspopup] {margin-right: 55px;}
.offcanvasmenu .mainmenu .fa-angle-down {font-size: 1rem; transition: transform 200ms ease-in-out}
.offcanvasmenu .mainmenu .fa-angle-down.rotate {-webkit-transform: rotate(-180deg); -ms-transform: rotate(-180deg); transform: rotate(-180deg)}
.offcanvasmenu .mainmenu a {color: var(--white); display: block; padding: 15px;text-decoration: none; display: -webkit-box; display: -webkit-flex; display: flex; align-items:center;}
.offcanvasmenu .mainmenu a:hover, .offcanvasmenu .mainmenu a:focus {color:var(--white); background-color: var(--grey);}
.offcanvasmenu .mainmenu > li {border-bottom: 1px solid var(--light-blue); position: relative;}
.offcanvasmenu .mainmenu > li:first-child {border-top: 1px solid var(--light-blue); position: relative;}

.offcanvasmenu .btn-toggle-dropdown {position: absolute; top: 10px; right:15px; width: 35px; height:35px;padding: 0px;border-radius: 4px; border: none; background: var(--light-blue); color: var(--white); box-shadow: none;}
.offcanvasmenu .btn-toggle-dropdown:hover, .offcanvasmenu .btn-toggle-dropdown:focus {color: var(--white)}

.offcanvasmenu::-webkit-scrollbar {-webkit-appearance: none;width:5px;}
.offcanvasmenu::-webkit-scrollbar-track-piece {margin: 15px 0px;}
.offcanvasmenu::-webkit-scrollbar-thumb {border-radius: 4px;background-color: rgba(0,0,0,.3);}

.offcanvas-open {overflow:hidden}
.offcanvas-open .offcanvasmenu {pointer-events: all; opacity: 1; z-index: 3; visibility: visible; -webkit-transform: scale(1); -ms-transform: scale(1); transform: scale(1);}
.offcanvasmenu .dropdown {text-transform: none; border-left: 2px solid var(--white); margin: 0px 0px 0px 30px;display:none;}
.offcanvasmenu .dropdown.active {display:block; max-height: 500px;}
.offcanvasmenu .dropdown a {padding: 10px;}


/* Slideshows */
.hero-slideshow {max-height: 600px; overflow: hidden; position: relative; }
.hero-slideshow .item img {height: 100%; width: 100%; object-fit: cover; object-position: center center; display: block;}

.slick-dots { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); list-style: none; padding: 0; margin: 0; text-align: center; z-index: 2; }
.slick-dots li { display: inline-block; margin: 0 8px; }
.slick-dots button { border: none; background: rgba(255,255,255,1); width: 16px; height: 16px; border-radius: 50%; padding: 0; }
.slick-dots .slick-active button { background: var(--blue); }
.slick-prev, .slick-next { z-index: 1; background: none; padding: 0px; border: none; width: 35px; height: 35px; overflow:hidden; position: absolute; top: 50%; transform: translateY(-50%)}
.slick-prev {left: 15px; z-index: 1;}
.slick-next {right: 15px; z-index: 0;}
.slick-controls .angle {display:none !important;}
.slick-prev::after, .slick-next::after {content:""; border: 1px solid #fff; border-width: 0px 0px 5px 5px;width: 20px; height:20px;display:block;}
.slick-prev::after {-webkit-transform: rotate(45deg); -ms-transform: rotate(45deg);transform: rotate(45deg);margin-left: 12px;}
.slick-next::after {-webkit-transform: rotate(-135deg); -ms-transform: rotate(-135deg);transform: rotate(-135deg);margin-left: 3px;}

/* Nav Tabs */
.tab-content {background-color: var(--light-grey); padding: 30px 30px;}
.nav-pills {background-color: var(--black); border-bottom: 0px;}
.nav-pills .nav-item .nav-link {background-color: var(--dark-blue); border: none;; color: var(--white); border-radius: 0rem; margin: 10px 0px 0px 0px; font-size: 1.125rem; cursor: pointer;}
.nav-pills .nav-item:first-child {margin: 0px 0px 0px 10px;}
.nav-pills .nav-item .nav-link:focus, .nav-pills .nav-item .nav-link:hover, .nav-pills .nav-item .nav-link.active {background-color: var(--blue);}

/* Locator */

.locator form {width: 100%; max-width: 250px}
#locator-map {height: 500px}

.gm-style-iw-ch, .gm-style-iw-chr {display: none;}
.gm-style-iw-d {overflow: visible !important; max-height: none;}
.gm-style .gm-style-iw-c {padding: 0px;}

.marker-info {width: 200px;}
.marker-info .info-header {display: flex; justify-content: space-between; align-items: center; padding: 6px 12px; font-weight: 700; font-size: 0.875rem; background-color: var(--blue);color: var(--white);}
.marker-info .info-body {font-size: 0.875rem; line-height: 1.4; padding: 8px 12px;}
.marker-info .custom-close-btn {background: none; border: none; font-size: 20px; cursor: pointer; padding: 0; margin: 0; color: var(--white);}

.table {border: 2px solid var(--blue);}
.table-bordered td {border: 1px solid var(--grey);}
.table-bordered thead td, .table-bordered thead th {border-bottom-width: 0px !important;}
.table-striped tbody tr:nth-of-type(odd) {background-color: var(--gainsboro);}
table thead th {vertical-align: bottom; border-bottom: 2px solid #dee2e6; background: var(--blue); color: var(--white);}


/* Cookie */
.cookie-wrapper {position: fixed; bottom: 0px; left: 0px; right: 0px; margin: auto; width: 100%; color: var(--white); z-index: 100;}
.cookie-wrapper p {color: var(--white);}
.cookie-choice a {font-size: .875rem;}
.cookie-choice .list-inline-item, .cookie-choice-expand .list-inline-item {margin-right: 0px !important;}
.cookie-choice-expand {max-height: 575px;}
.cookie-choice-expand input[type="checkbox"]:checked {accent-color: var(--dark-grey);}
.cookie-choice-expand.show {overflow-y: auto; overflow-x: hidden;}
.btn-close-cookie {text-decoration: none;}
.form-check-input[disabled]~.form-check-label {color:#E0E0E0}

/* ==========================================================================
     Media Queries
========================================================================== */ 
@media (min-width: 0px) {	

	/* Nav Item */
	.nav-item {width: 100%;}
	.nav-pills .nav-item {padding-right: 0px;}
	.nav-pills .nav-item:first-child {margin: 0px 0px 0px 0px;}
}

@media (min-width: 768px) {
	/* Header */
	.home .header-wrapper, .interior.interior-masthhead .header-wrapper {position: sticky;}
	.interior:not(.interior-masthead) .header-wrapper {position: sticky;}


	/* Main Menu */
	.headermenu .mainmenu {margin: 0px; list-style:none; padding: 0px; align-items: center;}
	.headermenu .mainmenu > li {display: inline-block; margin-right: 0px; position: relative; font-size: .875rem;}
	.headermenu .mainmenu > li > a {border-bottom: 2px solid transparent; padding: 40px 10px;color: var(--white); text-decoration: none; font-weight: 500; transition: color 250ms ease; font-size: 0.938rem;}
	.headermenu .mainmenu > li:last-child a {padding-right: 0px}
	.headermenu .mainmenu > li:first-child a {padding-left: 0px;}
	.headermenu .mainmenu > li:hover > a, .headermenu .mainmenu > li.active > a {color: var(--ash-grey); transition: color 250ms ease;}

	.headermenu .mainmenu > li:not(:has(ul)):hover > a, .headermenu .mainmenu > li:not(:has(ul)).active > a {border-color: var(--ash-grey);}
	.headermenu .mainmenu > li > a.active {color: var(--ash-grey);}

	/* Dropdowns */
	.headermenu .dropdown {padding: 10px;  text-transform: none;text-align:left; background: var(--dark-grey); pointer-events:none; width: 255px; top:calc(100% - 15px);position: absolute; left: 20px; opacity: 0; visibility: hidden; transition: all 250ms ease; border-top: 3px solid var(--ash-grey);}
	.headermenu li:hover > .dropdown {opacity:1; pointer-events: all; visibility: visible; top:100%; z-index: 3;}
	.headermenu .dropdown a {padding: 6px 18px; transition: background .25s ease; color: var(--white); display:block; font-family: "Exo 2", sans-serif; font-weight: 400; font-size: 0.938rem}
	.headermenu .dropdown a:hover, .headermenu .dropdown a:focus {background: transparent; background-color: var(--blue); text-decoration: none}
	.headermenu li.open .fa-angle-down {transition: transform 250ms ease;}
	.headermenu li.open .fa-angle-down {-webkit-transform: rotate(-180deg); -ms-transform: rotate(-180deg); transform: rotate(-180deg)}
	.headermenu li:last-child .dropdown {left: auto; right: 0px; -webkit-transform: none; transform: none;}
	.headermenu li:last-child .dropdown::before {left: auto; -webkit-transform: none; transform: none; margin-left: 0px; right: 15px}

	/* Nav Item */
	.nav-item {width: auto;}
	.nav-pills .nav-item {padding-right: 10px;}
	.nav-pills .nav-item:first-child {margin: 0px 0px 0px 10px;}
}

@media (min-width: 992px) {

}

@media (min-width: 1200px) {
	.headermenu .mainmenu > li > a { padding: 40px 20px;}
}