:root{
    --blue:#0f1041;
    --yellow:#ffc90f;
    --lightGray:#ededed;
    --gray:#cccccc;
    --darkGray:#757575;
    --grayBlue:#E7EAF0;
    --lightBlue:#15337E;
    --proximaFont:'Proxima-Nova', sans-serif;
    --robotoSlabFont:"Roboto Slab", serif;
    --materialIcon:'Material Symbols Rounded';
    --step--2: 0.7379rem;   /* ~11.8px  */
    --step--1: 0.8854rem;   /* ~14.2px  */
    --p:  1.0625rem;   /* 17px base paragraph */
    --pMedium:  1.375rem;    /* ~20.4px */
    --pLarge:  1.53rem;     /* ~24.48px */
    --h4:  1.836rem;    /* ~29.38px */
    --h3:  2.2032rem;   /* ~35.25px */
    --h2:  2.64375rem;  /* 42.3px */
    --h1:  3.5725rem;   /* 50.76px */
}

html{font-size: 100%;}
body{box-sizing: border-box;margin:0;scroll-margin-top: 150px;}
.topNav, .mainNav, .hero, a.btnOutlined, a.btn, footer nav, footer .copy{font-family: var(--proximaFont);}
h1, h2, h3, h4, h5, h6{font-family: var(--proximaFont);font-weight: 900;margin-bottom: 5px;}
a, footer .copy .social a i{transition:0.3s ease-out;text-decoration: none;}
h1{font-size: var(--h1);line-height: 100%;}
h2{font-size: var(--h2);line-height: 100%;}
h3{font-size: var(--h3);line-height: 100%;}
h4{font-size: var(--h4);line-height: 100%;}
main p, main li, .bulletBoxes li, table{font-family:var(--robotoSlabFont);font-size: var(--p);}
main a, .bulletBoxes .box li a{color:var(--lightBlue);font-weight: 600;}
main a:hover, .bulletBoxes .box li a:hover{color:var(--darkGray);}
main .inlineBanner p a, main .fullBanner p a{color:var(--lightGray);text-decoration: underline;}
main .inlineBanner p a:hover, main .fullBanner p a:hover{color:var(--yellow);}
main ul{list-style: none;padding-left: 0;}
main ul li{position: relative;padding:5px 0;padding-left: 2.2rem;}
main ul li::before{position: absolute;left: 0;top: 2px;font-family: var(--materialIcon);content:"\eac9";font-size: 1.65rem;font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;color: var(--yellow);}
main ol.styled{counter-reset: item;list-style: none;padding-left: 0;}
main ol.styled li {counter-increment: item;
    position: relative;padding-left: 3rem;margin-bottom: 1rem;min-height: 2.4rem;}
main ol.styled li::before {
    content: counter(item);
    position: absolute;
    left: 0;
    top: 0;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    background: var(--yellow);
    color: #000;
    font-weight: bold;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: inherit;
}
.yellowText{color:var(--yellow) !important;-webkit-text-stroke: 1px #8A6C00;}
.centerText{text-align: center;}
p strong{font-weight: 900;}
hr.stars{margin: 100px 0;width: 100%;background: url(images/stars-gray.svg) center no-repeat;background-size: auto;height: 30px;border:none;}
.centeredText{margin:80px 15%;text-align: center;}
.underline{text-decoration: underline;}
.srOnly {
position:absolute;
left:-10000px;
top:auto;
width:1px;
height:1px;
overflow:hidden;
}

.material-symbols-rounded{
  vertical-align: middle;
  font-variation-settings:
  'FILL' 0,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

header{position:absolute;width: calc(100% - 10%);padding:60px 5% 0;z-index: 999;display: flex;justify-content: space-between;align-items: center;}
a.logo{display: inline-block;}
a.logo img{width:115px; transition: transform 0.25s ease;transform-origin: center center;}
a.logo:hover img{transform: scale(1.1);}
.topNav{display: flex;justify-content: flex-end;margin-bottom: 10px;}
.topNav ul{list-style: none;display: flex;gap:20px;align-items: center;}
.topNav ul li a{color:#FFF;text-decoration: none;font-weight: 700;text-transform: uppercase;}
.topNav ul li a:hover{color:var(--yellow);}
.topNav ul li a.boxed{background-color:var(--blue);padding:5px 10px;border-radius: 3px;}
.topNav ul li a.boxed:hover, .topNav ul li a.boxed[aria-current="page"]{background-color:var(--yellow);color:var(--blue);}

nav{color: #FFF;}

.mainNav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap:35px;
    justify-content: space-around;
}

.mainNav > li {position: relative;}

.mainNav > li > a {
    text-decoration: none;
    display: block;
    color:#FFF;
    font-size: 1.30rem;
    text-transform: uppercase;
    font-weight: 800;
}
.mainNav > li > a:hover, .mainNav > li > a[aria-current="page"], .mainNav > li.is-active > a{color:var(--yellow);}
.submenu a[aria-current="page"] {color: var(--yellow);}
.submenu {
    display: none;
    list-style: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) skewY(357deg);
    background: var(--blue);
    margin:10px 0 0;
    padding: 15px 0;
    overflow: hidden;
}
.submenu > li > a {
    color: #FFF;
    text-decoration: none;
    padding: 8px 40px;
    display: block;
    white-space: nowrap;
    transform: skewY(-357deg);
}
.submenu > li > a:hover, .submenu > li > a:focus {background: #FFF;color:var(--blue);}

.menuToggle{
    display: none;
    background-color: transparent;
    color: #fff;
    border: none;
    padding: 1rem;
    font-size: 1.5rem;
    cursor: pointer;
    padding-right: 0;
}

.menuToggle .close {display: none;}

.hero {
  position: relative;
  width: 100%;
  height: 1000px;
    clip-path: polygon(50% 0%, 100% 0, 100% 85%, 0 100%, 0 19%);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  overflow: hidden;
}

/* Yellow Bands */
.hero::before {
top: -49px;
  transform: rotate(3deg);
  content: "";
  position: absolute;
  height: 61px;
  width: 102%;
  background: var(--yellow);
  z-index: 3;
}

.hero::after {
bottom: -95px;
  transform: rotate(7deg);
  content: "";
  position: absolute;
  height: 135px;
  width: 102%;
  background: var(--yellow);
  left: -10%;
  z-index: 2;
}

/* The temporary fading layer injected by JS */
.hero-fade-layer {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    pointer-events: none;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
    z-index: 0;
}

.heroOverlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.50);
    z-index: 1;
}

.hero .text {
    position: relative;
    display: flex;
    flex-direction: column;
    z-index: 2;
    justify-content: center;
    align-items: center;
    height: 100%;
    margin-top:30px;
}

.hero .skewedText{transform: rotate(-5deg);display: flex;flex-direction: column;justify-content: center;align-items: center;}
.hero .skewedText .boxed {
    font-size: 4.5rem;
    font-weight: 800;
    text-transform: uppercase;
    color: white;
    padding: 0 1rem;
    border: 13px solid white;
    display: inline-block;
    line-height: 100%;
    letter-spacing: 3px;
}

.hero .skewedText .boxed:nth-child(1){margin-right: 100px;}
.hero .skewedText .boxed:nth-child(2){margin-top:-13px;margin-left:100px;}
.hero .text .icon{font-size: 5rem;color:#FFF;margin-top:30px;animation: float 5s ease-in-out infinite; will-change: transform;}

@keyframes float {
    0% {
        transform: translate3d(0, 0, 0) rotate(0.5deg);
    }
    50% {
        transform: translate3d(0, -16px, 0) rotate(0.5deg);
    }
    100% {
        transform: translate3d(0, 0, 0) rotate(0.5deg);
    }
}

.pageTitle {
  position: relative;
  width: 100%;
  height: 700px;
    clip-path: polygon(50% 0%, 100% 0, 100% 85%, 0 100%, 0 19%);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  overflow: hidden;
}

/* Yellow Bands */
.pageTitle::before {
top: -49px;
  transform: rotate(3deg);
  content: "";
  position: absolute;
  height: 61px;
  width: 102%;
  background: var(--yellow);
  z-index: 3;
}

.pageTitle::after {
bottom: -95px;
  transform: rotate(7deg);
  content: "";
  position: absolute;
  height: 135px;
  width: 102%;
  background: var(--yellow);
  left: -10%;
  z-index: 2;
}

.pageTitle .overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.50);
    z-index: 1;
}
.pageTitle .text{position: relative;z-index: 2;display: flex;justify-content: center;align-items: center;height: 100%;margin: 0 5%;}
.pageTitle .text h1{color:#FFF;text-transform: uppercase;}

.servicesWrap{background-image: url(images/background-scenic-overlook.jpg);background-repeat: no-repeat;background-size: cover;clip-path: polygon(0 0, 100% 0, 100% 95%, 0% 100%);position: relative;z-index: 4;}
.servicesWrap h2{margin-top:10px;}
.servicesWrap img.stars{margin:0 auto;height:25px;width: 100%;}
.servicesWrap .links{padding:0 5% 80px 5%;display: flex;justify-content: center;gap:20px;}

/* BOXES */
.calloutBoxes{display: flex;flex-wrap: wrap;gap:40px;margin:80px 5%;}
.calloutBoxes .box{position: relative;background-color: #FFF;overflow: hidden;padding: 80px 20px 0 20px;text-align: center;box-sizing: border-box;border: 1px solid var(--lightGray);}
.calloutBoxes .box::before{position: absolute;content:"";background-color:var(--blue);top:-30px;height:60px;width:105%;transform:rotate(5deg);left: -5px;}
.calloutBoxes.twoBoxes .box{flex-basis: calc(100% * (1/2) - 80px);}
.calloutBoxes.threeBoxes .box{flex-basis: calc(100% * (1/3) - 80px);}
.calloutBoxes.fourBoxes {gap:20px;}
.calloutBoxes.fourBoxes .box{flex-basis: calc(100% * (1/4) - 20px);}
.calloutBoxes .box .title{display: flex;justify-content: center;align-items: center;gap:10px;}
.calloutBoxes .box .title img{max-width: 100%;width:20%;height: auto;object-fit: contain;}
.calloutBoxes .box .title h3{text-transform: uppercase;text-align: left;color:#000;flex-basis: 60%;margin:0;font-size: 1.95vw;}
.calloutBoxes .box .icon{color:#CCC;font-size: 2rem;text-align: right;display: block;margin-bottom: 20px;font-weight: 900;}
.calloutBoxes .box .text p{font-family:var(--robotoSlabFont);color:#000;font-size: 1.4rem;padding:0 3%;}
.calloutBoxes .box:hover{background-color: var(--yellow);}
.calloutBoxes .box:hover h3, .calloutBoxes .box:hover p{color: var(--blue);}
.calloutBoxes .box:hover .icon{color:#FFF;}
.calloutBoxes .box:hover .title img{filter: brightness(0) invert(1);}

.boxesWrap{display: flex;flex-wrap: wrap;gap:40px;margin:80px 5%;}
.boxesWrap .box{padding:20px;box-sizing: border-box;}
.boxesWrap.twoBoxes .box{flex-basis: calc(100% * (1/2) - 40px);}
.boxesWrap.threeBoxes .box{flex-basis: calc(100% * (1/3) - 40px);}
.boxesWrap.fourBoxes {gap:20px;}
.boxesWrap.fourBoxes .box{flex-basis: calc(100% * (1/4) - 20px);}
.box .image{position: relative;overflow: hidden;clip-path: polygon(0 0, 100% 0, 100% 93%, 0 100%);padding-bottom: 25px;}
.box .image::before{position: absolute;bottom:0;content:"";display: block;width:100%;height:36px;background:#FFF;z-index: 1;clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 100%);}
.box .image::after{position: absolute;bottom:-8px;content:"";display: block;width:100%;height:40px;background-color: var(--yellow);clip-path: polygon(0 0, 100% 15%, 100% 100%, 0 100%);z-index: 2;}
.box .image img{max-width: 100%;}

.imageOverlayText{position:relative;overflow: hidden;background-image: url(images/background-striped.jpg);background-size: cover;padding:225px 5% 0 0;display: flex;z-index: 3;margin-top:-200px;clip-path: polygon(0 0, 100% 0, 100% 100%, 0 95%);}
.imageOverlayText::before {
top: -20px;
  transform: rotate(3deg);
  content: "";
  position: absolute;
  height: 200px;
  width: 102%;
  background: var(--yellow);
  z-index: 3;
}
.imageOverlayText .image{flex:1;}
.imageOverlayText .image img{max-width: 100%;}
.imageOverlayText .text{flex-basis: 50%;padding-top:40px;}
.imageOverlayText .text h2{margin:0 0 50px;}
.imageOverlayText .text p{font-family:var(--robotoSlabFont);color:#FFF;font-size:var(--pLarge);}
.imageOverlayText .skinnyText{padding:20px 10%;}
.imageOverlayText img.stars{margin:0 auto 80px auto;height:25px;width: 100%;display: block;}
.imageOverlayText .slantedText{
    position: relative;
    display: flex;
    flex-direction: column;
    z-index: 2;
    justify-content: center;
    align-items: center;
     transform: rotate(-5deg);
    margin-top:30px;
}
.imageOverlayText .slantedText .boxed {
    font-size: 3.25vw;
    font-weight: 800;
    text-transform: uppercase;
    color: white;
    padding: 0 1rem;
    border: 8px solid white;
    display: inline-block;
    line-height: 100%;
    transform: skew(-8deg);
    letter-spacing: 3px;
}
.imageOverlayText .slantedText h2 .boxed:nth-of-type(1){margin-right: 100px;}
.imageOverlayText .slantedText h2 .boxed:nth-of-type(2){margin-top:-8px;margin-left:100px;}

.textImageOverlay{position:relative;overflow: hidden;background-image: url(images/background-clouds.jpg);background-size: cover;padding:225px 5% 0 5%;display: flex;z-index: 2;margin-top:-200px;clip-path: polygon(0 0, 100% 0, 100% 95%, 0% 100%);}
.textImageOverlay::before {
  top: -20px;
  right:5px;
  transform: rotate(-3deg);
  content: "";
  position: absolute;
  height: 200px;
  width: 102%;
  background: var(--blue);
  z-index: 3;
}
.textImageOverlay .text{flex-basis: 50%;padding-top:50px;padding-bottom:100px;}
.textImageOverlay .text p{font-family:var(--robotoSlabFont);font-size: var(--pLarge);}
.textImageOverlay .image{flex:1;}
.textImageOverlay .image img{max-width: 100%;}
.textImageOverlay img.stars{margin:40px 0 auto;height:25px;width: 100%;}

.bulletBoxWrap{position:relative;overflow: hidden;background-image: url(images/background-texture-white.jpg);background-size: cover;padding: 225px 0 40px 0;display: flex;z-index: 1;margin-top:-200px;}
.bulletBoxWrap::before {
  top: -20px;
  transform: rotate(3deg);
  content: "";
  position: absolute;
  height: 200px;
  width: 102%;
  background: var(--yellow);
  z-index: 3;
}
.bulletBoxes{margin:80px 5%;display: flex;gap:40px;width: 100%;}
.bulletBoxes .box{overflow: hidden;position: relative;padding-top:50px;box-sizing: border-box;}
.bulletBoxes .box::before {
    top: -20px;
    right:10px;
    transform: rotate(-3deg);
    content: "";
    position: absolute;
    height: 61px;
    width: 102%;
    background: var(--blue);
    z-index: -1;
}
.bulletBoxes .box h2{font-size: var(--h4);}
.bulletBoxes.threeBoxes .box{flex-basis: calc(100% * (1/3));}
.bulletBoxes ul{list-style: none;padding-left: 0;}
.bulletBoxes ul li{position: relative;padding:15px 0;border-bottom: 2px solid var(--gray);padding-left: 2.2rem;}
.bulletBoxes ul li::before{position: absolute;left: 0;top: 50%;font-family: var(--materialIcon);content:"\eaaa";font-size: 1.75rem;vertical-align: middle;font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;color: var(--yellow);transform: translateY(-50%);}
.bulletBoxes ul li:last-child{border-bottom: none;}
.bulletBoxes .link{display: flex;justify-content: center;margin-bottom: 25px;}

/* BUTTONS */
a.btnOutlined{border-radius: 50px;border:5px solid #000;color:#000;text-transform: uppercase;margin:10px 0;font-weight: 900;font-size: 1.25rem; padding:10px 30px;display:inline-flex;gap:10px;align-items: center;}
.fullBanner a.btnOutlined, .inlineBanner a.btnOutlined{color:#FFF;border-color:#FFF;}
a.btnOutlined::after{font-family: var(--materialIcon);content:"\e5c8";transition: transform 0.3s ease;}
a.btnOutlined:hover {background-color:var(--blue);color:#FFF;border-color: var(--blue);}
a.btnOutlined:hover::after {transform: translateX(5px);}

a.btnCircle{font-weight: 800;color:#FFF;font-size: 1.5rem;font-family: var(--proximaFont);text-transform: uppercase;display: inline-flex;align-items: center;gap:10px;}
a.btnCircle::after{font-family: var(--materialIcon);content:"\eaaa";font-size: 5rem;font-weight: 400;}
a.btnCircle:hover{color:var(--yellow);}

a.btn{background-color:var(--blue);color:#FFF;border-radius: 50px;text-transform: uppercase;font-weight: 800;font-size: 1.20rem; padding:10px 30px;display:inline-flex;gap:10px;align-items: center;letter-spacing: 1px;margin: 20px auto 0;}
a.btn::after{font-family: var(--materialIcon);content:"\e5c8";transition: transform 0.3s ease;}
a.btn:hover {background-color:var(--darkGray);color:#FFF;}
a.btn:hover::after {transform: translateX(5px);}

/* INTERNAL LAYOUTS */
.twoColumn{margin:80px 5%;display: flex;gap:80px;}
.twoColumn .col{flex-basis: 50%;}

.textBox{margin:80px 5%;display: flex;gap:98px;}
.textBox .text{flex-basis: 55%;}
.textBox .boxWrap{flex:1;}
.textBox .box{background-color: var(--grayBlue);padding:40px;box-sizing: border-box;border-radius: 3px;}
.textBox .box *:first-child{margin-top: 0;}

.textImage{margin:80px 5%;display: flex;gap:80px;align-items: center;}
.textImage .text{flex-basis: 55%;}
.textImage .image{background: linear-gradient(180deg,rgba(15, 16, 65, 1) 49%, rgba(255, 201, 15, 1) 49%);flex:1;border-radius: 3px;overflow: hidden;}
.textImage .image img{clip-path: polygon(50% 0%, 100% 5%, 100% 100%, 50% 100%, 0 95%, 0 0);width: 100%;height: auto;display: block;object-fit: cover;max-width: 100%;}
.textImage:has(> .image:first-child) .image img{clip-path: polygon(50% 0%, 100% 0, 100% 95%, 50% 100%, 0 100%, 0 5%);}

.fullBanner{position: relative;background-size: cover;margin:80px 0;display: flex;align-content: center;padding:20rem 5rem;overflow: hidden;}
.inlineBanner{position: relative;background-size: cover;margin:80px 5%;display: flex;align-content: center;padding:15rem 5rem;overflow: hidden;}
.fullBanner::before, .inlineBanner::before{position: absolute;display: block;content:"";width:100%;height:100%;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.6);}
.fullBanner::after, .inlineBanner::after{
  bottom: -95px;
  transform: rotate(7deg);
  content: "";
  position: absolute;
  height: 95px;
  width: 102%;
  background: var(--yellow);
  left: -10%;
}
.fullBanner .text, .inlineBanner .text{position: relative;z-index: 1;color: #FFF;flex-basis: 600px;}
.fullBanner .text *:first-child, .inlineBanner .text *:first-child{margin-top:0;}
.fullBanner .text p, .fullBanner .text li, .inlineBanner .text p, .inlineBanner .text li{font-size: var(--pMedium);}

/*** SHOW HIDE ***/
.showHide{margin:80px 5%;}
.showHide h2{margin-bottom: 20px;}
.showHide details{border-top: 1px solid var(--yellow);}
.showHide details:last-of-type{border-bottom: 1px solid var(--yellow);}
.showHide details summary > * {display: inline;}
.showHide details summary{cursor:pointer;list-style: none;position: relative;padding: 25px 35px 25px 0;}
summary::-webkit-details-marker{display: none;}
.showHide details summary::after{
	font-family: var(--materialIcon);
    font-weight:600;
    font-size: 1.65em;
	content:"\e313";
    position: absolute;
    right: .75em;
    height: .75em;
    width: .75em;
    color:var(--black);
  }
.showHide details[open] summary::after{content:"\e316";}
.showHide details[open]{padding-bottom:25px;}
.showHide details[open] summary{padding-bottom:0;}
.showHide details[open] summary h3{color:var(--darkGray);}
.showHide details summary:hover::after{color: var(--teal);}
.showHide details summary h3{font-size: var(--p);font-weight:600;}
.showHide details summary:hover h3{color:var(--darkGray);}

.tableWrap {width: 100%;overflow-x: auto;-webkit-overflow-scrolling: touch;}
table {width: 100%;border-collapse: collapse;margin-top:15px;}
table thead th{background-color: var(--blue);color:#FFF;font-weight: bold;padding-top:15px;padding-bottom: 15px;text-align: left;}
table td, table th {padding: 15px;border: 1px solid var(--lightGray);}
iframe{padding:40px 5%;box-sizing: border-box;}

footer{background-image:url(images/background-footer.jpg);background-size: cover;background-repeat: no-repeat;padding:80px 5% 40px 5%;}
footer .footerTop{display: flex;justify-content: space-between;align-items: center;gap:20px;}
footer .footerTop .logo{color:#FFF;display: flex;gap:10px;align-items: center;}
footer .footerTop .material-symbols-rounded{font-size: 2.25rem;}
footer .footerTop .logo img{width:70px;}
footer .footerTop .logo h3{display: inline-block;margin: 0;font-weight:700;font-size: 1.85rem;}
footer .footerTop .address{color:#FFF;font-size: 1.20rem;font-family:var(--robotoSlabFont);}
footer .footerTop .phone{color:#FFF;font-size: 1.20rem;font-family:var(--robotoSlabFont);}
footer .footerTop .social{display: flex;gap:25px;}
footer .footerTop .phone a, footer .footerTop .address a, footer .footerTop .social a{color:#FFF;}
footer .footerTop .phone a:hover, footer .footerTop .phone a:active, footer .footerTop .address a:hover, footer .footerTop .address a:active, footer .footerTop .social a:hover, footer .footerTop .social a:hover:active{color:var(--yellow);}

footer nav{display: flex;margin:60px 5%;justify-content: space-between;gap:40px;}
footer nav > div{flex:1;}
footer nav h3{font-size:var(--p);font-weight: 700;text-transform: uppercase;}
footer nav p{font-size: .92rem;}
footer nav ul{list-style-type: none;padding-left: 0;margin: 0;}
footer nav ul li{padding:5px 0;}
footer nav ul li a{color:#FFF;font-size: .92rem;}
footer nav ul li a:hover, footer nav ul li a:active{color:var(--yellow);}
footer nav .apps{display: flex;gap:20px;}

footer nav .apps a{width: 40px;height:40px;padding:10px;border-radius: 50px;border:3px solid #FFF;display: flex;align-items: center;justify-content: center;}
footer nav .apps img{width: 30px;height: 30px;}
footer nav .apps a:hover, footer nav .apps a:active{background-color:var(--yellow);border-color:var(--yellow);}
footer img.stars{margin:0 auto;height:25px;width: 100%;}
footer .copy{margin-top:40px;color:#FFF;font-size: .92rem;text-align: center;}
footer .copy a{color:#FFF;text-decoration: underline;}
footer .copy a:hover, footer .copy a:active{color:var(--yellow);}

/* SOCIAL ICONS */
@font-face {
    font-family: social;
    src: url(./social-font/social-media.ttf);
    src: url(./social-font/social-media.woff);
}
i[class*="icon"]{font-family: social;font-style: normal;font-weight: 400;font-size: 1.75rem;}

.icon-tiktok:before {
  content: "\e901";
}
.icon-x:before {
  content: "\e900";
}
.icon-facebook:before {
  content: "\ea90";
}
.icon-instagram:before {
  content: "\ea92";
}
.icon-youtube:before {
  content: "\ea9d";
}

/* Back To Top */
#topBtn {
  display: none; /* Hidden by default */
  position: fixed; /* Fixed/sticky position */
  bottom: 20px; /* Place the button at the bottom of the page */
  right: 20px; /* Place the button 30px from the right */
  z-index: 99; /* Make sure it does not overlap */
  border: 2px solid #FFF; /* Remove borders */
  outline: none; /* Remove outline */
  background-color:var(--yellow); /* Set a background color */
  color: var(--blue); /* Text color */
  cursor: pointer; /* Add a mouse pointer on hover */
  padding: 10px; /* Some padding */
  border-radius: 50px; /* Rounded corners */
  font-size: 18px; /* Increase font size */
  -webkit-transition: all 0.25s ease-in;transition: all 0.25s ease-in;
}

#topBtn:hover {background-color:var(--yellow);}


@media (min-width:1192px){
    .mainNav > li:last-child .submenu {left:auto;transform: translateX(-55%)  skewY(357deg);}
}

@media (max-width: 1302px) {
    .imageOverlayText .slantedText .boxed{font-size: 2.25vw;}
}
@media (max-width: 1279px) {
    .calloutBoxes.fourBoxes .box{flex-basis: calc(100% * (1/2) - 20px);}
    .boxesWrap.fourBoxes .box{flex-basis: calc(100% * (1/2) - 20px);}
}

@media (max-width: 1191px) {
    nav {position: relative;}
    nav.open {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1000;
        height:100vh;
        background-color: var(--blue);
		overflow-y: auto;
    }
    .mainNav {display: none;flex-direction: column;position: relative;padding:40px 5% 0;}
     nav.open .mainNav{display: flex;}
    .mainNav > li {width: 100%;text-align: center;}
    .menuToggle {display: block;width:100%;text-align: right;}
    .menuToggle span{font-size: 3rem;}
    nav.open .menuToggle .hamburger {display: none;}
    nav.open .menuToggle .close {display: block;margin-top:20px;margin-right: 20px;}
    .submenu{position: relative;}
    .imageOverlayText, .textImageOverlay{flex-direction: column;}
    .imageOverlayText .slantedText .boxed{font-size:5vw;}
    .bulletBoxes.threeBoxes{flex-direction: column;gap:80px;}
    .bulletBoxes.threeBoxes .box{flex-basis:100%;}
    .twoColumn{flex-direction: column;}
    .twoColumn .col{flex-basis: 100%;}
    .textBox{flex-direction: column;}
    .textBox .box{flex-basis: 100%;}
    .textImage{flex-direction: column;}
    .textImage .text, .textImage .image{flex-basis: 100%;}
    .textImage:has(> .image:first-child) .image{order:2;}
    .fullBanner, .inlineBanner{padding:10rem 3rem;background-position: center;}
    .fullBanner::before, .inlineBanner::before{background-color: rgba(0,0,0,.7);}
    footer .footerTop{flex-wrap: wrap;box-sizing: border-box;text-align: center;}
    footer .footerTop div{flex-basis: calc(100% * (1/2) - 10px);}
    footer .footerTop .logo, footer .footerTop .social{justify-content: center;}
    footer nav{flex-wrap: wrap;box-sizing: border-box;}
    footer nav > div{flex-basis: calc(100% * (1/2) - 40px);text-align: center;}
    footer nav .apps{justify-content: center;}
}

@media (max-width:979px){
    .boxesWrap.threeBoxes, .boxesWrap.twoBoxes, .boxesWrap.fourBoxes{flex-direction: column;}
    .boxesWrap.threeBoxes .box, .boxesWrap.twoBoxes .box, .boxesWrap.fourBoxes .box{flex-basis: 100%;}
}

@media (max-width:800px){
    h1{font-size:10vw;}
    .hero .skewedText .boxed{font-size:2.75rem;}
    .calloutBoxes .box .title h3{font-size:1.65rem;}
    .calloutBoxes.fourBoxes{gap:40px;}
    .calloutBoxes .box .title img{flex-basis: 20%;}
	.calloutBoxes.fourBoxes .box{flex-basis: 100%;}
    footer .footerTop{flex-direction: column;text-align:left;}
    footer .footerTop div{flex-basis: 100%}
    footer .footerTop .logo{justify-content:flex-start;}
    footer nav{flex-direction: column;}
    footer nav > div{flex-basis: 100%;}
}

@media (max-width:600px){
    .topNav ul li a{font-size: .8rem;}
    .hero .skewedText .boxed{font-size:2.3rem;}
    .hero .skewedText .boxed:nth-child(1){margin-right: 50px;}
    .topNav ul li a.boxed{display: block;text-align: center;}
    .imageOverlayText .slantedText h2 .boxed:nth-of-type(1){margin-right: 50px;}
    .imageOverlayText .slantedText h2 .boxed:nth-of-type(2){margin-left: 50px;}
}