@font-face {
  font-family: 'Tactic-sans-black';
  src: url('../styles/fonts/tactic-sans-black.woff2') format('woff2'),
       url('../styles/fonts/tactic-sans-black.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}


@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');


*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

body { width: 100%; min-width: 1800px; margin: 0 auto; /* text-align: center; */ font-family: 'Poppins', sans-serif;  position: relative; }

a { color: inherit; text-decoration: none; }
a:hover { text-decoration: none; color: inherit; }

div, article, section, dl, dt, dd, table, tr, td, ul, ol, li, p, span, small, em, h1, h2, h3, h4, h5, h6, nav { padding: 0; margin: 0; }

.row { width: 100%; max-width: 1620px; margin: 0 auto; padding-left: 10px; padding-right: 10px; }

/*cookie*/
.cc-animate.cc-revoke.cc-bottom { font-size: 14px; padding: 5px 10px; position: fixed; display: block !important; transform: none !important; bottom: 0 !important; left: 20px !important; }

/*call to action*/
.destroy-on-load, .cta {  display: none; }

/*typography*/
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }

h1, h2 { font-family: 'Jost', sans-serif; font-weight: 700; font-weight: 900; color: inherit; }
h1 { font-size: 60px; }
h2 { font-size: 49px; }
h3 { font-size: 35px; }
p, ul, nav ul li a { font-family: 'Poppins', sans-serif; font-size: 18px; font-weight: 400; color: inherit; }

.foreword { font-family: 'Lato', sans-serif; font-size: 31px; font-weight: 400; }

/*BUTTON*/
.btn { position: relative; overflow: hidden; z-index: 999; display: block; text-align: center; padding: 20px 10px; width: 283px; font-size: 14px; font-family: 'Montserrat', sans-serif; font-weight: 500; background: #646473; background: linear-gradient(180deg, rgba(100, 100, 115, 1) 0%, rgba(100, 100, 115, 1) 0%, rgba(0, 0, 0, 1) 100%); color: #FFF; letter-spacing: 2px; border-radius: 100px; -webkit-appearance: inherit; transition: all .3s ease-in-out; -o-transition: all .3s ease-in-out; -moz-transition: all .3s ease-in-out; -webkit-transition: all .3s ease-in-out; }
.btn:hover { background: #26313F !important; }

.btn.banner-btn { background: transparent; border: 1px solid #fff; width: 248px; margin: auto; padding: 30px 10px; }


/*FLEX*/
.flex { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; justify-content: space-between; /* -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; */ }
img { width: 100%; }

/*SOCIAL*/


/*-----------------------------------------------HEADER-----------------------------------------------*/
#header { position: relative; width: 100%; z-index: 1000;  color: #fff; }
#header .row { max-width: 1766px; }
#header .row.flex { align-items: center; }
#header nav a#pull { display: none }
#header nav { position: relative; z-index: 999; }
#header nav ul { justify-content: space-between; display: flex; /* gap: 10px; */ }
#header .nav-holder { width: 100%; max-width: 683px; }
nav ul { margin: 0; padding: 0; list-style: none; }
nav ul li { display: inline-block; vertical-align: middle; }
nav ul li a { font-weight: 400; position: relative; padding: 10px 0 20px; display: inline-block; font-size: 15px; letter-spacing: .66px; }
nav ul li a::before { width: 100%; bottom: 5px; opacity: 0; transition: 300ms; height: 3px; content: ""; position: absolute; background-color: #fff; }
nav ul li.active-menu a,
nav ul li a:hover { opacity: 1; font-weight: 700 !important; }
nav ul li a:hover::before { bottom: 10px; opacity: 1; }

.contact-info.flex { gap: 32px; align-items: center;}
.contact-info p { font-size: 15px;}
.contact-info p.phone a { font-weight: 700; font-size: 17px;}
.contact-info p.email a { font-weight: 700; font-size: 18px;}
.contact-info .divider { width: 1px; height: 39px; background: #999; }
.uppercase{text-transform: uppercase;}


/*-----------------------------------------------BANNER-----------------------------------------------*/
#banner { background: url('../images/content/banner-bg.jpg')no-repeat top center; -webkit-background-size: cover; background-size: cover; width: 100%; position: relative; color: #fff; }
#banner .row:not(#header .row) { max-width: 100%; padding: 15px 20px 0;}
#banner .banner-con { text-align: center;}
#banner .banner-con .logo-holder { display: flex; flex-direction: column; margin: auto; width: fit-content; align-items: center; margin: 143px auto 52px; }
#banner .banner-con .logo-holder img { max-width: 341px;}
#banner .banner-con .logo-holder span { font-size: 15px; }
#banner .banner-con p { font-size: 20px; font-weight: 600; margin: 27px 0 30px;}
#banner .bot.flex { width: 100%; max-width: 1317px; margin: auto; align-items: center; gap: 28px; justify-content: center; z-index: 99; position: relative; }
#banner .bot .item { background: #fff; border-radius: 15px; justify-content: center; align-items: center; width: 100%; gap: 15px; padding: 27px 10px; -webkit-box-shadow: 9px 9px 22px 5px rgba(0,0,0,0.3); box-shadow: 9px 9px 22px 5px rgba(0,0,0,0.3); margin: 87px auto -40px;}
#banner .bot .item img { max-width: 76px; height: 75px; object-fit: contain;}
#banner .bot .item .label { font-family: 'Jost'; font-size: 24px; color: #000; font-weight: 900;}


/*-----------------------------------------------CONTENT-----------------------------------------------*/
/*WELCOME*/ 
#welcome { background: url('../images/content/welcome-bg.jpg')no-repeat center; -webkit-background-size: cover; background-size: cover; position: relative; width: 100%; padding: 150px 20px 305px; }
#welcome .row { max-width: 1334px; }
#welcome .foreword { color: #26313F; font-weight: 700; }
#welcome p { max-width: 792px; width: 100%; font-size: 16px; color: #1F1F1F; font-weight: 500; line-height: 34px; letter-spacing: .09px; }
#welcome p.top { font-weight: 600 !important; font-size: 20px !important; margin: 25px 0 43px; }
#welcome .btn { margin-top: 28px;}



/*SERVICES*/
#services { background: url('../images/content/services-bg.jpg')no-repeat center; -webkit-background-size: cover; background-size: cover; position: relative; width: 100%; color: #fff; text-align: center; padding: 94px 20px 97px; }
.serv-con { width: 100%; max-width: 1430px; margin: 35px auto 0; gap: 18px;} 
.serv-con .item { background: #fff;  padding-bottom: 44px; border-radius: 15px;}
.serv-con .item img { border-radius: 15px 15px 0 0;}
.serv-con .item .label { font-size: 30px; color: #111; font-weight: 700; margin: 18px auto 23px;}
.serv-con .item a { color: #666; font-size: 14px; font-weight: 500; letter-spacing: 2px; }
.serv-con .item a:hover { color: #000; }
#services .nav-btn { width: 105px; margin: 45px auto 0;}
#services .nav-btn img { max-width: 42px; }


/* DESIGN */
#design { background: url('../images/content/design-bg.jpg')no-repeat top center; -webkit-background-size: cover; background-size: cover; position: relative; width: 100%; color: #0E0E0E; text-align: center; padding: 70px 20px; min-height: 868px; }
#design p { width: 100%; max-width: 1041px; margin: 18px auto 25px; line-height: 34px; font-weight: 500; font-size: 18px; letter-spacing: .09px; color: #1F1F1F; }
#design .btn { display: flex; justify-content: center; align-items: center; gap: 5px; width: 213px; padding: 25px 10px; margin: 32px auto 0; }
#design .btn .arrow { width: 17px;}

/*TESTIMONIALS*/
#testimonials { background: url('../images/content/testi-bg.jpg')no-repeat center; -webkit-background-size: cover; background-size: cover; position: relative; width: 100%; color: #fff; text-align: center; padding: 74px 20px; min-height: 1170px; }
#testimonials .row { max-width: 1428px;}
#testimonials .flex { gap: 25px; }
#testimonials .item { background: #fff; padding: 45px 20px 40px; color: #444; width: 100%; border-radius: 15px; margin-top: 80px; }
#testimonials .item .initial { font-size: 60px; font-weight: 600; width: 114px; height: 114px; border-radius: 100%; align-content: center; text-align: center; margin: auto; color: #fff; }
#testimonials .item:nth-child(1) .initial { background: #00B2B2; }
#testimonials .item:nth-child(2) .initial { background: #FF5C26; }
#testimonials .item:nth-child(3) .initial { background: #4D7AFF; }
#testimonials .item .stars { max-width: 150px; margin: 27px auto 0;}
#testimonials .item p { font-size: 15px; line-height: 25px; width: 100%; max-width: 385px; margin: 0 auto 15px; letter-spacing: .03px; }
#testimonials .item:nth-child(3) p { max-width: 400px; }
#testimonials .item .name { color: #13130C; font-weight: 700; }

/*GALLERY*/
#gallery { text-align: center; color: #fff; margin-top: -307px; position: relative; z-index: 99;}
#gallery .row { max-width: 1800px; }
#gallery .flex { align-items: center; margin-top: 50px;}
#gallery .flex img { max-width: 492px;}
#gallery .flex img:nth-child(2) { display: block; margin: 0 -189px 0; position: relative; z-index: 99; max-width: 1175px; }





/*CONTACT*/
#contact { background: url('../images/content/contact-bg.jpg')no-repeat top center; -webkit-background-size: cover; background-size: cover; position: relative; text-align: center; padding: 90px 20px 0;}
#contact h1 { color: #0F0F0F; font-size: 56px;}
#contact p { color: #666; line-height: 145%; width: 100%; max-width: 730px; margin: auto; font-family: Arial, sans-serif; font-size: 16px; margin: 20px auto 18px;}
#contact .foreword { font-size: 37px; font-weight: 700; color: #1F1F1F;}
#contact .btn:not(.ctc-form .btn) { margin: 30px auto 45px;}
#contact .contact-con { background: #fff; padding: 65px 67px 70px; margin-bottom: -350px; z-index: 99; position: relative; width: 100%; max-width: 1502px; margin: 0 auto -350px; -webkit-box-shadow: 7px 7px 17px 0px rgba(0,0,0,0.1); box-shadow: 7px 7px 17px 0px rgba(0,0,0,0.1); }

#contact .ctc-form label:not(.g-recaptcha-response) { width: 100%; }
form .messages p { display: none; font-family: 'Montserrat', sans-serif !important; font-weight: 400 !important; letter-spacing: 0 !important; font-size: 16px !important; }
form .loading { display: none !important; }
form .alert { padding: 15px; margin-bottom: 20px; border: 1px solid transparent; border-radius: 4px; }
form .alert-success { color: #3c763d; background-color: #dff0d8; border-color: #d6e9c6; }
form .alert-danger { color: #a94442; background-color: #f2dede; border-color: #ebccd1; }
.ctc-form { margin: 0 auto; text-align: center; }
.ctc-form .flex { gap: 10px; align-items: center; }
.ctc-form input:not([type="checkbox"], [type="submit"]), .ctc-form textarea { font-family: 'Titillium Web', sans-serif; font-size: 16px; color: #000; height: 60px; display: block; width: 100%; border: 1px solid #D6D6D6; padding: 20px; box-sizing: border-box; margin: 0 auto 10px; resize: none; background: #EEEEEE; -webkit-box-shadow: inset 2px 2px 4px 0px rgba(0,0,0,0.43);  box-shadow: inset 2px 2px 4px 0px rgba(0,0,0,0.43); }
.ctc-form ::placeholder { color: #545454 }
.ctc-form textarea { height: 150px; }
.ctc-form .ctcCheckbox label { font-family: Arial; font-size: 16px; color: #545454; line-height: 145%; }
.ctc-form .ctcBtn { display: block; border: none; border-radius: 0; font-family: 'Playfair Display'; letter-spacing: unset; width: 182px !important; }
.ctc-form .recap { display: inline-block; }
.ctc-form .g-recaptcha div { margin: 0 auto 10px; }
.ctc-form .ctc-hide { display: none; }


/*-----------------------------------------------FOOTER-----------------------------------------------*/
#footer { background: #222; color: #fff; padding: 405px 20px 10px; position: relative; text-align: center; }
#footer .row { max-width: 1450px;}
#footer .logo-holder img { max-width: 321px; }
#footer .contact-info a { display: block; font-size: 20px; margin: 20px 0; font-weight: 500; }
#footer hr { border-color: #ffffff23; margin: 42px 0 0; }
#footer nav { width: 100%; max-width: 806px; margin: 0 auto; }
#footer nav ul { display: flex; align-items: center; justify-content: space-between; }
#footer nav ul li { display: inline-block; vertical-align: middle; text-align: left; box-sizing: border-box; }
#footer nav ul li a { padding: 0 0 20px !important;}
#footer .copyrights { padding: 20px 0 }
#footer .copyrights p { font-size: 14px; }
#footer .copyrights p a img { width: 40px; }


/*---------------------------------------INNER PAGES-------------------------------------------*/
.inner #content { min-height: 400px; padding: 80px 0; max-width: 1200px; margin: 0 auto }
.inner #content h1, .inner #content h2, .inner #content h3 { padding-bottom: 20px; text-align: center; }
.inner #content p, .inner #content ul { padding-bottom: 20px;}
.inner #content ul { padding-left: 30px; }
.inner #content h1, .inner #content h2 {   font-family: "Jost", sans-serif; font-weight: 900; text-transform: uppercase; letter-spacing: -1px;}
/* .inner #content h1, .inner #content h2, .inner #content h3 { font-family: 'Tactic-sans-black'; } */



/* SERVICES PAGE */
/* .services-page .serv-con { text-align: center; }
.services-page .serv-con .item { -webkit-box-shadow: 9px 9px 22px 5px rgba(0, 0, 0, 0.3);
    box-shadow: 9px 9px 22px 5px rgba(0, 0, 0, 0.3); } */
.services-page #content .flex { align-items: center; margin: 20px 0;}
.services-page #content .flex img { max-width: 500px; }

/*INNER GALLERY*/
.img-responsive { width: 200px; height: 200px; -o-object-fit: cover; object-fit: cover; }
#content .inner-gallery-container { text-align: center; }
#content .gallery { list-style-type: none; margin: 0; padding: 0; }
#content .gallery li { display: inline-block; }
#content .thumbnail { background-color: #fff; border: 1px solid #ddd; border-radius: 4px; display: block; line-height: .42857; margin-bottom: 20px; padding: 4px; transition: border 0.5s ease-in-out 0s; }
#content .thumbnail:hover { transform: scale(1.02); }
#content .page_navigation { display: inline-block; }
#content .page_link, #content .previous_link, #content .next_link, #content .first_link, #content .last_link, #content .ellipse { background-color: #fff; border: 1px solid #ddd; color: #0275d8; display: inline-block; line-height: 1.25; margin-left: -1px; padding: 0.5rem 0.75rem; position: relative; }
#content .page_navigation>a:hover,
.page_navigation>a.active_page { background-color: #eceeef; border-color: #ddd; color: #014c8c; text-decoration: none; }
.inner #content .inner-gallery-container { margin-bottom: 20px }


/* CONTACT US PAGE */
.contact-page #contact .btn { display: none; }
.contact-page #contact .foreword { margin-bottom: 70px;}

/* REVIEWS PAGE */
.reviews-page #content .item { text-align: center; -webkit-box-shadow: 9px 9px 22px 5px rgba(0, 0, 0, 0.3); box-shadow: 9px 9px 22px 5px rgba(0, 0, 0, 0.3); padding: 40px; border-radius: 20px; margin-bottom: 40px; }
.reviews-page #content .item .stars { max-width: 150px; }
.reviews-page #content .item .name { font-weight: 700; font-size: 20px; }

/*PRIVACY POLICY*/
.inPrivacyBox { max-width: 850px; margin: 0 auto; }
.inPrivacyBox p { text-align: justify !important; }


/*RESPONSIVE*/
@media screen and (max-width: 1200px) {
  body { zoom: 80% !important; }
}
/* @media screen and (max-width: 1200px) {
  body { min-width: 320px }
}

@media screen and (max-width: 959px) {
  #header .row { width: 100%; padding: 0; }
  #header nav {}
  #header nav ul { width: 100%; display: none; height: auto; border-bottom: 5px solid #000; padding: 0 15px; }
  #header nav ul li { width: 100%; position: relative; }
  #header nav ul li a { padding: 10px 0; text-align: left; width: 100%; }
  #header nav a strong { position: absolute; top: 50%; transform: translateY(-50%); left: 15px; }
  #header nav a#pull { display: block; color: #fff; background-color: #000; height: 60px; padding: 10px 0; width: 100%; position: relative; }
  #header nav a#pull:after { content: ""; background: url('../images/nav-icon.png') no-repeat; width: 20px; height: 20px; display: inline-block; position: absolute; right: 15px; top: 50%; transform: translateY(-50%); }
  .show { position: relative; }
  .cta { background: #035B96 url("../images/common/phonecall.png") no-repeat center center; border-bottom-left-radius: 40px; border-top: 2px solid #013f9a; border-top-left-radius: 40px; bottom: 10%; display: block; height: 60px; position: fixed; right: 0; text-decoration: none; text-indent: -9999em; width: 60px; z-index: 999; }
  #footer .nav-holder { display: none; }
} */
