@charset "utf-8";
/* CSS Document */
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,input,select{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;color:unset}html{scroll-behavior:smooth}a{text-decoration:none;cursor:pointer}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}button{cursor:pointer;border:none;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}img{max-width:100%;}
/*=== END RESET ===*/

/*=== CLEARFIX ===*/
.clear{clear:both}.cf:before,.cf:after{content:" ";display:table}.cf:after{clear:both}.cf{zoom:1}

/*=== GLOBAL ===*/
.flex-container{display:flex}.flex-vertical{flex-direction:column}.flex-horizontal{flex-direction:row}.flex-width{flex-grow:1;flex-shrink:1;flex-basis:100%}.flex-height{height:100%}.flex-wrap{flex-wrap:wrap}.set-width{flex-grow:0;flex-shrink:0;flex-basis:auto}.justify-center{justify-content:center}.justify-right{justify-content:flex-end}.justify-left{justify-content:flex-start}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.align-center{align-items:center}.align-top{align-items:flex-start}.align-bottom{align-items:flex-end}.align-stretch{align-items:stretch}.align-all-center{align-items:center;justify-content:center}.align-self-center{align-self:center}.align-self-right{align-self:flex-end}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.mobile-only{display: none}.max-width{margin:0 var(--sm-padding)}.map{min-height:350px;line-height:0;}


*,
*::before,
*::after {
    transition: all 0.3s ease;
}
a:hover {cursor: pointer !important;}

/*=== SELECT STYLES ===*/
::selection, ::-moz-selection {
	background: var(--red);
	color: var(--white);
	text-shadow: none;
}

:root {
	/*=== Fonts ===*/
    --Tit: "Titillium Web", sans-serif;
    --Mont: "Montserrat", sans-serif;

	/*=== Colors ===*/
	--white: #FFFFFF;
	--off-white: #f7f7f7;
	--red: #ed1c24;
	--gray: #333333;
	--black: #000000;
    
    /*=== Font Sizes ===*/
    --p: clamp(16px, 5vw, 20px);

	/*=== Spacing ===*/
	--lg-padding: clamp(75px, 5vw, 100px);
	--sm-padding: clamp(25px, 2.5%, 2.5%);
}

    .white{color: var(--white)}
    .off-white{color: var(--off-white)}
    .red{color: var(--red)}
    .gray{color: var(--gray)}
    .black{color: var(--black)}

body {
    position: relative;
	font-family: var(--Mont), sans-serif !important;
	height: auto !important;
    background-color: var(--off-white);
}

.page-shadow {
	max-width: 1920px!important;
    width: 100%!important;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 20px 0px!important;
    background-color: rgb(255, 255, 255)!important;
    margin: 0 auto!important;
	overflow-x: hidden;
}

p {
    font-size: clamp(16px, 5vw, 18px);
}

.thick {
    font-weight: 900 !important;
}

.center {text-align: center;}

.xl-heading, .lg-heading, .md-heading, .sm-heading {
	font-family: var(--Tit);
	text-transform: uppercase;
}

.xl-heading-bold {
	font-family: var(--Tit);
	text-transform: uppercase;
    font-weight: 900 !important;
}


.xs-heading {
	font-family: var(--Tit);
	text-transform: uppercase;
}
.xl-heading {font-size: clamp(56px, 5vw, 64px);line-height: clamp(56px, 5vw, 64px);}
.lg-heading {font-size: clamp(34px, 5vw, 42px);line-height: clamp(34px, 5vw, 42px);}
.md-heading {font-size: clamp(27px, 5vw, 35px);line-height: clamp(27px, 5vw, 35px);}
.sm-heading {font-size: clamp(18px, 5vw, 26px);line-height: clamp(18px, 5vw, 26px);}
.xs-heading {font-size: clamp(16px, 5vw, 18px);line-height: clamp(16px, 5vw, 18px);}

.sm-padding {padding: 20px 0;}
.md-padding {padding: 50px 0;}
.lg-padding {padding: 100px 0;}

/*=== BODY STYLES 
============================================*/
.width90 {width: 90%; margin: auto; max-width: 1600px;}

/*=== HEADER STYLES 
==============================*/
.header-wrap {background: var(--off-white);}
.header {display: flex; justify-content: space-between; align-items: flex-start;}
div:has(nav.primary) {background: var(--black); z-index: 99; margin-top: -50px;}
.header-logo {position: relative; top: 0; left: 0; z-index: 100; border: 1px solid #ebebeb; border-radius: 0px 0px 5px 5px;}
.header-right {display:flex;flex-direction:column;gap:18px;align-items:flex-end; max-width: 625px;}
.header-contact-row {display:flex;gap:40px;flex-wrap:wrap;justify-content:flex-end;}
nav.primary .header-phone {display:none !important;}
.header-phone {display:flex;flex-direction: column;align-items:flex-start;gap:8px;font-family:var(--Tit);font-size:20px;font-weight:700;color:var(--gray);text-transform:uppercase;}
.header-phone span {font-size:16px;font-weight:400;color:var(--gray);}
.header-phone div {display: flex; align-items: center; gap: 20px;}
.header-phone i {width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--red);color:var(--white);font-size:12px;border-radius:2px;}
.header-tools-row {display:flex; justify-content: space-between; align-items:center;gap:30px; width: 100%;}
.header-socials {display:flex;gap:4px;}
.header-socials a {width:38px;height:38px;display:flex;align-items:center;justify-content:center;color:var(--white);font-size:16px;}
.header-socials a:nth-child(1) {background:#3b5998;}
.header-socials a:nth-child(2) {background:#e4405f;}
.header-socials a:nth-child(3) {background:#ff0000;}
.header-socials a:nth-child(4) {background:#e5e5e5;color:var(--red);}
.header-socials a:hover {transform:translateY(-2px);}
.header-search {display:flex;align-items:center;background:var(--white);border:1px solid #ddd;height:42px;width:320px;}
.header-search input {width:100%;padding:0 15px;font-size:15px;font-family:var(--Mont);outline:none;}
.header-search button {width:42px;height:42px;background:none;color:var(--red);font-size:18px;}



/*=== FOOTER STYLES
==============================*/
.footer {background:#3e3e3e;padding:75px 0;color:var(--white);}
.footer-inner {display:grid;grid-template-columns:repeat(4,1fr);gap:50px;}
.footer-title {position:relative;padding-bottom:15px;margin-bottom:25px;}
.footer-title::after {content:'';position:absolute;left:0;bottom:0;width:120px;height:2px;background:var(--red);}
.footer-links {display:flex;flex-direction:column;gap:12px;}
.footer-links a {color:var(--off-white);font-size:18px;}
.footer-links a:hover {color:var(--red);padding-left:5px;}
.footer-contact {display:flex;flex-direction:column;gap:10px;margin-bottom:25px;}
.footer-contact p {color:var(--off-white);}
.footer-contact a {color:var(--red);font-weight:700; background: linear-gradient(rgba(0,0,0,0));}
.footer-signup p {margin-bottom:25px;color:var(--off-white);line-height:1.7;}
.footer-form input[type="email"] {width:100%;height:50px;padding:0 15px;font-family:var(--Mont);margin-bottom:25px;border:1px solid #555;background:var(--off-white);}
.footer-checkbox {display:flex;align-items:flex-start;gap:15px;cursor:pointer;}
.footer-checkbox input {width:18px;height:18px;flex-shrink:0;margin-top:5px;}
.footer-checkbox span {line-height:1.8;color:var(--off-white);}


/*=== HOME PAGE 
==============================*/
















/*=== MEDIA BREAKS
==============================*/
@media screen and (max-width:1200px) {
    .header-logo {max-height: 100px; border: none;}
    .header {min-height: 200px;}
}
@media screen and (max-width:1000px){
    
    .header {align-items: center; min-height: 0px;}
    .header-wrap { background: var(--white);}
    .header-right {display:none;}
    
    nav.primary .header-phone {display:flex !important; align-items: flex-start !important; background: var(--gray) !important; color: var(--white) !important;}
    nav.primary .header-phone span {color: var(--white) !important;}
    
    nav.primary ul {max-height: calc(100vh - 150px); overflow-y: scroll;}
    
    div:has(nav.primary) {margin-top: 0;}
    
    .footer-inner {grid-template-columns:1fr;gap:40px;}
    .footer-title::after {width:75px;}


}
























