
/*
Theme Name: Construction 2
Version: 1.0
Theme URI: http://www.cyberoptik.net
Description: Customizable responsive Wordpress theme created by CyberOptik
Author: CyberOptik
Author URI: http://www.cyberoptik.net
Template: optik-theme
*/



/*
 * CUSTOMIZABLE CSS
 */



/* -----------------------------------------------------------------------------
 * TABLE OF CONTENTS:
 * -----------------------------------------------------------------------------
 *
 * 1 CSS IMPORTS
 *
 * 2 STRUCTURAL ELEMENTS
 *   2.1 UNIVERSAL STYLES
 *   2.2 THEME MODULES
 *   2.3 BACK TO TOP BUTTON
 *
 * 3 CONTENT STYLES
 *   3.1 TEXT & LINKS
 *   3.2 HEADINGS
 *   3.3 BORDERS & DIVIDERS
 *   3.4 BUTTONS
 *   3.5 ICONS
 *   3.6 LIST STYLES
 *   3.7 FORM STYLES
 *
 * 4 HEADER STYLES
 *   4.1 SCROLL BAR
 *   4.2 TOP BAR
 *   4.3 HEADER 
 *   4.3 NAV BAR
 *   4.5 NAV MENUS
 *   4.6 DROPDOWN MENUS
 *   4.7 MOBILE NAV
 *
 * 5 BODY STYLES
 *   5.1 BANNER
 *   5.2 PAGE NAVBAR
 *   5.3 MAIN
 *   5.4 ARCHIVE
 *   5.5 SINGLE
 *
 * 6 FOOTER STYLES
 *   6.1 CTA BAR
 *   6.2 FOOTER
 *   6.3 BOTTOM BAR
 *
 * 7 CUSTOM THEME STYLES
 *
 * ---------------------------------------------------------------------------*/



/******************************************************************************
 * * *  1 CSS IMPORTS  * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 ******************************************************************************/

@import url("../optik-theme/style.css");


/***  OXYGEN  ***/

/* Normal */
@font-face {
  font-family: 'Oxygen';
  font-weight: normal;
  src: url('fonts/Oxygen/Oxygen-Regular.ttf');
}

/* Bold */
@font-face {
  font-family: 'Oxygen';
  font-weight: bold;
  src: url('fonts/Oxygen/Oxygen-Bold.ttf');
}





/******************************************************************************
 * * *  2 STRUCTURAL ELEMENTS  * * * * * * * * * * * * * * * * * * * * * * * * 
 ******************************************************************************/


/***  2.1 UNIVERSAL STYLES  ***/

:root {
  --primary: #58ad6d;
  --primary-lt: #7befb2;
  --primary-md: #23a455;
  --primary-dk: #18724f;
  --secondary: #061631;
  --accent: #74f7ea;
  --dark-1: #0a0a0a;
  --dark-2: #3a3a3a;
  --dark-3: 7a7a7a;
  --light-1: #eaeaea;
  --light-2: #fafafa;
  --light-3: #f9f9f9;
  --gradient-1: linear-gradient(200deg,#58ad6d 46%,#000000 100%);
  --gradient-2: linear-gradient(190deg,#18724f 0%,#000000 100%);
  --gradient-3: linear-gradient(180deg,#3a3a3a 0%,#000000 100%);
  --shadow-1: 0px 0px 25px 0px rgb(24 99 99 / 13%);
  --shadow-2: 0 -3px 40px 6px rgb(24 99 99 / 13%);
  --shadow-3: 0 -3px 40px 6px rgb(24 99 99 / 25%);
  --radius-1: 3px;
  --radius-2: 5px;
  --font-1: 'Oxygen', sans-serif;
  --field-brdr: #dddddd;
}

html {font-size: 16px;}

body {
  line-height: 1.6em;
  font-family: var(--font-1);
  color: #3a3a3a;
  background: white;
}


/***  2.2 THEME STYLES  ***/

.section-container {max-width: 1200px;}
.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 1200px;
}

.section-spacer {
  padding-top: 100px;
  padding-bottom: 100px;
}

.section-spacer-top {padding-top: 100px;}
.section-spacer-btm {padding-bottom: 100px;}

.section-spacer-sm {
  padding-top: 80px;
  padding-bottom: 80px;
}

.section-spacer-top-sm {padding-top: 80px;}
.section-spacer-btm-sm {padding-bottom: 80px;}

.section-spacer-lg {
  padding-top: 120px;
  padding-bottom: 120px;
}

.section-spacer-top-lg {padding-top: 120px;}
.section-spacer-btm-lg {padding-bottom: 120px;}



/***  2.3 BACK TO TOP BUTTON  ***/

.btt-button .fa {
  background: #292929;
  color: white;
}






/******************************************************************************
 * * *  3 CONTENT STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * *
 ******************************************************************************/


/***  3.1 TEXT & LINKS  ***/

a {color: var(--primary);}

a:hover {color: var(--secondary);}


/***  3.2 HEADINGS  ***/

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  color: black;
}

h1 {
  font-size: 40px;
  line-height: 1.2 !important;
}
h3 {
  font-size: 20px;
  font-weight: 400; 
  line-height: 1.4em !important;
}
h4 {
  font-size: 16.4px;
  line-height: 1.35em !important;
}
@media (min-width: 768px) {
  h1 {font-size: 65px;}
  h4 {font-size: 20px;}
}
@media (min-width: 1200px) {
  h1 {font-size: 85px;}
  h3 {font-size: 42px;}
  h4 {font-size: 30px;}
}

h2 {font-size: 4.063em;}


h5 {font-size: 1.500em;}
h6 {font-size: 1em;}



/***  3.3 BORDERS & DIVIDERS  ***/

hr, .divider {
    display: block;
	width: 100%;
    height: 1px;
    border: 0;
    border-top: 1px solid #e2e2e2;
    margin: 2.5em auto;
    padding: 0;
	clear: both;
}


/***  3.4 BUTTONS  ***/

.button,
.elementor-button {
  padding: 15px 68px 15px 34px;
  background-color: var(--primary);
  color: white;
  font-weight: 400;
  font-size: 14px;
  line-height: 1;
  text-transform: uppercase;
  border-radius: 4px;
  transition: all 0.3s ease;
  position: relative;
}

.button::after,
.elementor-button::after {
  content: '\f105';
  font-family: 'Font Awesome 5 Pro';
  font-weight: 400;
  font-size: 15px;
  color: white;
  position: absolute;
  right: 34px;
  top: 50%;
  transform: translateY(-50%);
}

.alt-btn .button::after,
.alt-btn .elementor-button::after {
  color: var(--secondary);
}

.elementor-button:hover,
.button:hover {
  background: var(--dark-2);
  color: white;
  text-decoration: none;
}

.button .fas,.button:hover .fas {color:white;}

/*** Secondary Button ***/
.sec-btn .button,
.sec-btn .elementor-button {
  padding: 15px 34px;
}
.sec-btn .button .elementor-button-icon i,
.sec-btn .elementor-button .elementor-button-icon i {
  color: white;
}
.sec-btn .elementor-button-content-wrapper {
  display: flex;
  align-items: center;
  column-gap: 15px;
}
.sec-btn .button::after ,
.sec-btn .elementor-button::after {
  display: none;
}

/* Empty Button */

.button-empty {
  background: none;
  color: var(--secondary);
}

.button-empty:hover {
  border-color: var(--primary);
  color: var(--primary);
}


/***  3.5 ICONS  ***/

/*  Icon Colors  */

.fa, .fas, .far, .fal, .fab {color: var(--primary);}

a .fa, a .fas, a .far, a .fal, a .fab {
  color: var(--primary);
  webkit-transition: all 350ms ease-in-out;
  -moz-transition: all 350ms ease-in-out;
  -o-transition: all 350ms ease-in-out;
  -ms-transition: all 350ms ease-in-out;
  transition: all 350ms ease-in-out;
}

a:hover .fa, a:hover .fas, a:hover .far, a:hover .fal, a:hover .fab {color: var(--secondary);}

/*  Icon Backgrounds  */

.fa-bg {
  background-color: var(--primary);
  color: white;
}

a .fa-bg {
  background-color: var(--primary);
  color: #eee;
}

a:hover .fa-bg {
  background-color: #7befb2;
  color: white;
}

/*  Icon Borders  */
.fa-br {border-color: var(--primary);}
a .fa-br {border-color: var(--primary);}
a:hover .fa-br {border-color: var(--secondary);}



/***  3.6 LISTS  ***/

/* Icon Lists */

.arrow-list, 
.check-list, 
.check-circle-list, 
.icon-list, 
.contact-list {list-style: none;}

.arrow-list li, 
.check-list li, 
.check-circle-list li, 
.icon-list li, 
.contact-list li {position: relative;}

.contact-list li a {color: var(--dark-3);}

.icon-list li .fa, 
.icon-list li .fal, 
.icon-list li .fas, 
.icon-list li .fab, 
.icon-list li .fad, 
.contact-list li .fa, 
.contact-list li .fal, 
.contact-list li .fas, 
.contact-list li .fab, 
.contact-list li .fad {
  position: absolute;
  top: 0.25em;
  left: -1.75em;
  width: 1em;
  height: 1em;
  line-height: 1;
}

.arrow-list li:not(:last-child), 
.check-list li:not(:last-child), 
.check-circle-list li:not(:last-child), 
.icon-list li:not(:last-child), 
.contact-list li:not(:last-child) {margin-bottom: 0.5em;}

.arrow-list li:before, 
.check-list li:before, 
.check-circle-list li:before, 
.icon-list li:before, 
.contact-list li:before {
  position: absolute;
  top: 0.33em;
  left: -1.75em;
  width: 1em;
  height: 1em;
  display: block;
  font-family: 'Font Awesome 5 Pro';
  font-weight: 300;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  font-size: 1em;
  text-align: center;
  color: var(--primary);
}

.arrow-list li:before, 
.icon-list li.arrow:before, 
.contact-list li.arrow:before {content: "\f105";}

.check-list li:before, 
.icon-list li.check:before, 
.contact-list li.check:before {content: "\f00c";}

.check-circle-list li:before, 
.icon-list li.check-circle:before, 
.contact-list li.check-circle:before {content: "\f058";}

.icon-list li.map-marker:before, 
.contact-list li.map-marker:before {content: "\f3c5";}

.icon-list li.phone:before, 
.contact-list li.phone:before {content: "\f095";}

.icon-list li.fax:before, 
.contact-list li.fax:before {content: "\f1ac";}

.icon-list li.envelope:before, 
.contact-list li.envelope:before {content: "\f0e0";}

.icon-list li.clock:before, 
.contact-list li.clock:before {content: "\f4fd";}

.icon-list li.share:before, 
.contact-list li.share:before {content: "\f14d";}

/* Double Size Icon List */

.icon-list-2x li, 
.contact-list-2x li {margin-left: 3em;}

.icon-list-2x li:not(:last-child), 
.contact-list-2x li:not(:last-child) {margin-bottom: 1em;}

.icon-list-2x li:before, 
.contact-list-2x li:before {
  font-size: 1.5em;
  top: 0;
  right: calc(100% + 1em);
}

/* Column Lists */

@media screen and (min-width: 601px) {

.two-col-list, 
.three-col-list, 
.four-col-list, 
.five-col-list {
  width: 100%;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
}

.two-col-list {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
}

.three-col-list, 
.four-col-list, 
.five-col-list {
  -webkit-column-count: 3;
  -moz-column-count: 3;
  column-count: 3;
}

.two-col-list li, 
.three-col-list li, 
.four-col-list li, 
.five-col-list li {
  display: inline-block;
  width: calc(100% - 1.75em);
}

}

@media screen and (min-width: 901px) {

.four-col-list, 
.five-col-list {
  -webkit-column-count: 4; /* Chrome, Safari, Opera */
  -moz-column-count: 4; /* Firefox */
  column-count: 4;
}

}

@media screen and (min-width: 1025px) {

.five-col-list {
  -webkit-column-count: 5; /* Chrome, Safari, Opera */
  -moz-column-count: 5; /* Firefox */
  column-count: 5;
}

}


/***  3.7 FORM STYLES  ***/

/* Inputs */

input[type="text"]:focus, input[type="email"]:focus, input[type="number"]:focus, 
input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, 
input[type="url"]:focus, input[type="date"]:focus, input[type="datetime-local"]:focus, 
input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, 
textarea:focus, select:focus {border-color: var(--primary);}

/* Buttons */

input[type="submit"], input[type="reset"], input[type="button"] {
  background-color: var(--primary);
  height: 50px;
  border-radius: var(--radius-2);
  padding: 0.75em 2em;
  color: white;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

input[type="Submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover {
  background-color: var(--secondary);
  color: white;
}

input[type="Submit"]:active, input[type="reset"]:active, input[type="button"]:active {
  background-color:  var(--primary);
  color: white;
}

/* Search Form */

.search-form {position: relative;}

input[type="text"].search-field {background-color: var(--light-3);}

input[type="text"].search-field:focus {background-color: white;}

input[type="Submit"].search-submit {
  display: block;
  position: absolute;
  z-index: 50;
  top: 50%;
  right: 0;
  float: none;
  width: 42px;
  height: 42px;
  border: 0;
  margin-top: -21px;
  background: rgba(0,0,0,0) url(images/icon-search.svg) center center no-repeat !important;
  background-size: 1.5em !important;
  opacity: 0.6;
  cursor: pointer;
  cursor: hand;
}

input[type="Submit"].search-submit:hover {
  outline: none;
  opacity: 1;
}

input[type="Submit"].search-submit:active {
  background-color: rgba(0,0,0,0.025);
  outline: none;
}

/* Ninja Forms */

.nf-before-form-content {display: none !important;}

.nf-field-element input[type="button"], 
.nf-field-element input[type="submit"] {height: 50px;}


/******************************************************************************
 * * *  4 HEADER STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 ******************************************************************************/


/***  4.1 SCROLL BAR  ***/

.scroll-bar {background: var(--primary-dk);}

.scroll-logo img {max-height: 60px;}


/***  4.2 TOP BAR  ***/

.top-bar {
  padding-top: 40px;
  padding-bottom: 5px;
  background: none;
  display: none;
}
@media (min-width: 1024px) {
  .top-bar {
    display: flex;
  }
}

.top-bar .col-custom:first-child:last-child {
  padding-top: 2px;
  padding-bottom: 2px;
  text-align: right;
}

.top-bar a, 
.top-bar a:hover {color: white;}

.top-bar-contact {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: end;
  align-items: center;
  list-style: none;
  padding: 0;
}

.top-bar-contact li {
  margin: 0;
  line-height: 15px;
}
.top-bar-contact li:first-of-type {
  position: relative;
  line-height: 0;
  margin-right: 5px;
}
.top-bar-contact li:first-of-type::before {
  content: '\f098';
  position: absolute;
  top: 50%;
  left: -20px;
  transform: translateY(-50%);
  font-style: normal !important;
  font-weight: 700;
  font-size: 20px;
  font-family: 'Font Awesome 5 Pro';
  color: var(--primary-lt);
}
.top-bar-contact li:last-of-type {
  border-left: 1px solid var(--light-1);
  padding-left: 5px;
  margin-left: 5px;
}
.top-bar-contact li a {
  font-size: 15px;
  color: var(--light-1);
  transition: all 0.3s ease;
}
.top-bar-contact li a:hover {
  text-decoration: none;
  color: var(--accent);
}



/***  4.3 HEADER  ***/
.header-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.header .col-custom {
  padding-top: 12px;
  padding-bottom: 12px;
}

.logo img {
  max-height: 93px;
  width: 100%;
  max-width: 150px;
}

/* Menu Button */

.header .menu-button {
  background: var(--dark-2);
  border-radius: 3px;
}

.header .menu-button .fal, 
.header .menu-button:hover .fal {color: white;}

.header .menu-button.active .fal {
  background: #7befb2;
  color: white;
}


/***  4.4 NAV BAR  ***/


/***  4.5 NAV MENUS  ***/

.nav-menu {
	display: flex;
	justify-content: flex-end;
}

.nav-menu > li > a {
	padding: 22.3px 25px;
	background: rgba(08,08,08,0.80);
	color: white;
  font-size: 14px;
  text-transform: uppercase;
}

.nav-menu > li.current-menu-item a,
.nav-menu > li > a:hover {
  color: var(--primary);
}


/***  4.6 DROPDOWN MENUS  ***/

.nav-menu li ul {
  background-color: var(--dark-1);
	width: 240px;
}

.nav-menu li ul li a {
	padding: 10px 16px;
  text-align: left;
	font-size: 0.9em;
	color: white;
}

.nav-menu li ul li.current-menu-item > a, 
.nav-menu li ul li:hover > a {
  background-color: var(--primary);
	color: white;
}


/***  4.7 MOBILE NAV  ***/

.mobile-menu > li > a {}





/******************************************************************************
 * * *  5 BODY STYLES   * * * * * * * * * * * * * * * * * * * * * * * * *
 ******************************************************************************/


/***  5.1 BANNER  ***/

.banner {
  background-color: var(--dark-1);
	background: var(--gradient-2);
  color: white;
}
.section-container.banner-container::before {
  content: "";
  position: absolute;
  background: #001615;
  inset: 0;
  opacity: 0.75;
}
.banner-inner { 
  align-items: center;
}
@media (min-width: 900px) {
  .banner .banner-content {
    width: 60%;
    margin: 0;
    padding-right: 90px;
  }
  .banner-inner {
    padding-top: 200px;
    padding-bottom: 100px;
    min-height: 550px;
    align-items: flex-end;
  }
}


.banner-tall .banner-inner {min-height: 700px;}

.banner-tall .page-title {
  line-height: 1.2;
  margin-bottom: 20px;
}

.banner-intro-wrapper { margin-bottom: 20px;}


/***  5.2 PAGE NAV BAR  ***/
.page-nav-bar .page-menu {
  padding: 0;
  margin: 0;
  list-style: none;
  justify-content: center;
}

.page-nav-bar .page-menu {display: flex;}

.page-nav-bar .page-menu li {
  margin: 0;
  font-size: 0.9em;
  line-height: 1.4;
  text-align: center;
}

.page-nav-bar .page-menu li > a {
  padding: 24px 18px;
  display: flex;
  align-items: center;
  color: var(--dark-1);
  -webkit-transition: all 350ms ease-in-out;
  -moz-transition: all 350ms ease-in-out;
  -o-transition: all 350ms ease-in-out;
  -ms-transition: all 350ms ease-in-out;
  transition: all 350ms ease-in-out;
}

.page-nav-bar .page-menu li.current-menu-item > a,
.page-nav-bar .page-menu li:hover > a {
  background: var(--primary);
  text-decoration: none;
  color: white;
}

/***  5.3 MAIN  ***/

.main {
  padding-top: 100px;
  padding-bottom: 100px;
}

@media screen and (min-width: 421px) {
.content .alignleft {margin: 0 20px 1em 0;}
.content .alignright {margin: 0 0 1em 20px;}
}



/***  5.4 ARCHIVE  ***/

/* Entry Cols */

.entry-cols .entry-link {
  border-radius: var(--radius-2);
  background-color: var(--light-3);
  overflow: hidden;
  color: var(--dark-2);
}

.entry-cols .entry-link:hover {transform: translateY(-3px);}

.entry-cols .entry-icon-wrap {padding: 30px 30px 0;}

.entry-cols .entry-icon-wrap svg {
  width: 60px;
  fill: var(--primary);
}

.entry-cols .entry-link .entry-title, 
.entry-cols .entry-link:hover .entry-title {color: var(--secondary);}

.entry-cols .entry-text-wrap {padding: 30px 30px 85px 30px;}

.entry-cols .entry-date {
  font-size: 0.9em;
  color: var(--dark-3);
}

.entry-cols .entry-cats {
  position: absolute;
  top: 30px;
  left: 30px;
}

.entry-cols .entry-cats span {
  border-radius: var(--radius-2);
  padding: 5px 10px;
  margin: 0;
  margin-right: 4px;
  background: rgba(0,0,0,0.4);
  color: white;
}

.entry-cols .entry-more {
  position: absolute;
  width: 100%;
  left: 30px;
  bottom: 30px;
}

.entry-cols .entry-link .entry-button {color: var(--primary);}

.entry-cols .entry-link:hover .entry-button {color: var(--secondary);}

/* Paging Nav */

.archive-nav a {
  padding: 0.6em 1.2em;
  border-radius: var(--radius-3);
  border: 1px solid var(--light-1);
  background: var(--light-2);
  color: var(--dark-1);
}

.archive-nav a:hover {
  background-color: var(--secondary);
  color: white;
}


/***  5.5 SINGLE  ***/




/******************************************************************************
 * * *  6 FOOTER STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 ******************************************************************************/

/***  6.1 CTA BAR  ***/

.cta-bar {
  padding-top: 100px;
  Padding-bottom: 100px;
  background-color: var(--secondary);
  text-align: center;
  color: white;
}

.cta-bar .grid {align-items: center;}

.cta-bar .col-custom:last-child {margin-top: 1em;}

@media screen and (min-width: 901px) {
.cta-bar .col-custom:first-child {
  width: 66.7%;
  text-align: left;
}
.cta-bar .col-custom:last-child {
  width: 33.3%;
  text-align: right;
  margin-top: 0;
}
}

.cta-bar .cta-title, 
.cta-bar .elementor-widget-heading {margin-bottom: 0.5em;}

.cta-bar .cta-title + p {margin-top: 0;}

.cta-bar h1, 
.cta-bar h2, 
.cta-bar h3, 
.cta-bar h4, 
.cta-bar h5, 
.cta-bar h6, 
.cta-bar .elementor-heading-title {color: white;}

.cta-bar .button:hover, 
.cta-bar .elementor-button:hover {
  border-color: white;
  background-color: white;
  color: var(--primary);
}


/***  6.1 FOOTER NAV BAR  ***/

.footer-nav-bar {background: #ddd;}


/***  6.2 FOOTER  ***/

.footer {
  padding-top: 80px;
  padding-bottom: 65px;
  background: white;
	font-size: 0.9em;
	color: white;
}

@media (max-width: 900px) {
  footer .footer-inner .grid {
    justify-content: center;
  }
}

.footer .col-custom {
  padding-top: 15px;
  padding-bottom: 15px;
}

.footer h1,
.footer h2, 
.footer h3, 
.footer h4, 
.footer h5, 
.footer h6 {color: white;}

@media (max-width: 900px) {
  .footer .footer-widget {
    text-align: center;
  }
}

.footer .footer-widget h4 {
  color: var(--dark-2);
  font-size: 16px;
  font-family: var(--font-1);
  font-weight: normal;
  margin-bottom: 60px;
}
@media (max-width: 1200px) {
  .footer .footer-widget h4 {
    margin-bottom: 40px;
  }
} 

.footer .footer-widget a {
  color: var(--dark-2);
  font-size: 25px;
  transition: all 0.3s ease;
  margin-bottom: 25px;
}
.footer .footer-widget a:hover {
  text-decoration: none;
  color: var(--primary);
}
.footer .textwidget p {
  margin-bottom: 25px;
}
.footer .textwidget {
  color: var(--dark-2);
  font-size: 16px;
}


/***  6.3 BOTTOM BAR  ***/

.bottom-bar {
  padding-top: 20px;
  padding-bottom: 20px;
  background: black;
	font-size: 0.9em;
	color: white;
}

.bottom-bar .bottom-bar-inner {
  min-height: 115px;
}

.bottom-bar .bottom-bar-inner .social-icon {
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  column-gap: 25px;
  justify-content: flex-end;
}
@media (max-width: 1200px) {
  .bottom-bar .bottom-bar-inner .social-icon {
    justify-content: center;
    margin-top: 30px;
  }
}

.bottom-bar .bottom-bar-inner ul li a i {
  font-family: 'Font Awesome 5 Brands';
  font-style: normal !important;
  font-weight: normal;
  font-size: 15px;
  color: white;
  transition: all 0.3s ease;
}
.bottom-bar .bottom-bar-inner ul li a:hover i {
  color: var(--primary-lt);
}

.bottom-bar .copyrights-credits-wrapper {
  font-size: 16px;
}

.bottom-bar-widget li a {
  padding: 0;
}

.copyright, .credits {display: inline-block;}

.credits img {max-height: 1.15em;}





/******************************************************************************
 * * *  7 CUSTOM STYLES  * * * * * * * * * * * * * * * * * * * * * * * * * * * 
 ******************************************************************************/

/*** Global ***/
i {
  font-style: normal !important;
}

/***  INQUIRIES  ***/

.inquiries{padding:20px !important;}
.inquiries .box-container button{margin-top: 10px;}
.inquiries .elementor-widget-icon{margin:0;}
.inquiries .elementor-widget-icon .fas{color:white;}
.inquiries .phone-textbig{text-decoration: none;color:#74f7ea;font-size: 4.063em;line-height: 1.2;}

@media screen and (max-width:900px) {
.inquiries .phone-textbig{font-size: 3.438em;}
.inquiries {padding: 75px 40px 75px 40px !important;}
.inquiries .text-8{font-size: 1.140em;margin-bottom: 0;}
.inquiries .text-5{font-size: 0.912em;}
.inquiries .inquiries-inner > .elementor-container .elementor-row{align-items: center;}
}

@media screen and (max-width:600px) {
.inquiries .phone-textbig{font-size: 2.375em;}
.inquiries{padding:0 !important;}
}


/***  REVIEW  ***/

.review .elementor-testimonial__content{padding: 0 !important;background: 0;}
.review .elementor-testimonial__content::after{display:none;}
.review .elementor-main-swiper.swiper-container{width:100% !important;}
.review .swiper-slide{padding: 0 !important;}


/* HOMEPAGE ONGOING PROJECTS STYLE */

.projects > .elementor-column-wrap{z-index:1;}
.projects > .elementor-column-wrap::before{
	content:'';
    background-color: transparent;
    background-image: linear-gradient(180deg, rgba(255,255,255,0) 69%, #000000 100%);
    opacity: 0.7;
    position: absolute;
    width: 100%;
    height: 100%;
    top:0;
    left:0;	
    z-index: -1;
}
.projects > .elementor-column-wrap:hover::before{
    background-color: transparent;
    background-image: linear-gradient(200deg, #57aa87 46%, #000000 100%);
    opacity: 0.57;
}

.contact-box .elementor-image-box-img{flex:0 0 15%;}
.contact-box .contact-title{font-size: 1.5em;color:#000;display: block;margin:0.4em 0;overflow: hidden;text-overflow: ellipsis;}
.contact-box .contact-title:hover{color:#000;text-decoration: none;}
@media screen and (max-width:901px) {
	.contact-box .elementor-image-box-img{flex:0 0 100%;text-align: center;margin:0 auto !important;}
	.contact-box .elementor-widget-image-box .elementor-image-box-wrapper{
	    -webkit-flex-direction: column;
	    -ms-flex-direction: column;
	    flex-direction: column;
	}
	.contact-box .contact-title{font-size: 1em;}
}

/* HOMEPAGE MAP STYLE */
.map-container .elementor-container{padding-left:0 !important; padding-right:0 !important;}

/* Homepage Floating Box STYLE */
.box-container .button > span{ display: flex; align-items: center; }
.box-container .button > span > .fas{ margin-left: 20px;}
.box-container .box-title{margin-bottom: 10px;}
.box-container h3 {font-weight:400;}
.box-container p{line-height: 1.8;}


/* Homepage Logo Slider */
.logo-slider img{opacity: .4;-webkit-transition: all .3s linear;transition: all .3s linear;}
.logo-slider img:hover{opacity: 1;}
.get-in-touch .elementor-star-rating i {font-style: normal !important;}
.get-in-touch .nf-form-content textarea.ninja-forms-field{height: 120px;}

.nf-form-cont .nf-form-content button,
.nf-form-cont .nf-form-content input[type=button],
.nf-form-cont .nf-form-content input[type=submit]{
    color: #ffffff;
    background-color: var(--primary);
    padding: 15px 34px;
    width: fit-content;
    font-weight: 400;
    font-size: 14px;
    line-height: 1;
    text-transform: uppercase;
    height: auto;
}
.nf-form-cont .nf-form-content button:hover, 
.nf-form-cont .nf-form-content input[type=button]:hover, 
.nf-form-cont .nf-form-content input[type=submit]:hover{
    color: #ffffff;
    background-color: var(--dark-2);
}

.label-above .nf-field-label {
  margin-bottom: 0 !important;
}
@media (max-width: 768px) {
  .label-above .nf-field-label {
    font-weight: normal;
    font-size: 14.5px;
  }
}

.nf-field-container {
  margin-bottom: 20px !important;
}
.nf-form-cont .nf-form-content .ninja-forms-field {
  background-color: var(--light-2);
  padding: 16px 12px;
  border: 1px solid var(--field-brdr);
  font-size: 1rem;
}
.nf-form-cont .nf-form-content textarea.ninja-forms-field {
  max-height: 120px;
}



.category-col .elementor-inner-section .elementor-cta h2 {
  font-weight: 400;
}

.category-col .elementor-inner-section .elementor-cta:hover,
.whatsnew-col .elementor-posts .elementor-post__card .elementor-post__title a:hover {
  text-decoration: none;
}

.whatsnew-col .elementor-inner-section .elementor-posts-container.elementor-has-item-ratio .elementor-post__thumbnail.elementor-fit-height img {
  height: auto;
}

.whatsnew-col .elementor-posts .elementor-post__card .elementor-post__title a {
  color: #000000;
}


.product-cols .product-link,
.whats-new-col  .post-link {
  height: 100%;
  box-shadow: 0 0 10px 0 rgba(0,0,0,.15);
  background: #F8F8F8;
}
.product-cols .product-link .product-photo {
  background: #fff;
}

.product-cols .product-link .product-description {
  padding: 20px;
}

.whats-new-col  .post-link .whats-new-description {
  padding: 0 20px 20px 20px;
}

.product-cols .product-link:hover .product-photo img {
  opacity: 1;
}

.whats-new-col  .post-link img {
  object-fit: contain;
  width: 100%;
}

.product-cols .product-link .product-description p,
.whats-new-col  .post-link .whats-new-description p,
.whats-new-col  .post-link .whats-new-description ul li {
  color: #000;
  font-size: 0.9em;
}

.whats-new .whats-new-col h2 {
  font-size: 1.5em;
  font-weight: 400;
  text-align: center;
  margin-bottom: 20px;
}

.nf-form-fields-required {
  display: none;
}

/*** Banner Card ***/
.fp-banner-card {
  max-width: 436px;
}
.abt-banner-card {
  max-width: 460px;
}

/*** Launched Projects ***/
.launched-projects-logo .e-gallery-item {
  opacity: 0.4;
  transition: all 0.3s ease;
}
.launched-projects-logo .e-gallery-item:hover {
  opacity: 1;
}

/*** Icon ***/
.icon-white i {
  color: white;
}

/*** Home - Ongoing Projects ***/
.home-gallery .grid-spaced {
  margin: 0;
}
@media (max-width: 900px) {
  .home-gallery .grid-spaced {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 20px;
    width: 100%;
  }
  .home-gallery .grid-spaced .gallery {
    width: 100%;
    max-height: 333px;
  }
  .home-gallery .gallery-link .gallery-thumb {
    object-position: center;
  }
}
.home-gallery .grid-spaced .gallery {
  padding: 0;
}
.home-gallery .gallery-link {
  position: relative;
}
.home-gallery .gallery-link .gallery-thumb {
  height: 100%;
  object-fit: cover;
}
.home-gallery .gallery-link .gallery-title {
  position: absolute;
  bottom: 40px;
  font-size: 18.24px;
  right: 15px;
  color: white;
  z-index: 1;
}
@media (min-width: 900px) {
  .home-gallery .gallery-link .gallery-thumb {
    min-height: 580px;
  }
  .home-gallery .gallery-link .gallery-title {
    font-size: 24px;
    bottom: 30px;
  }
}
.home-gallery .gallery-link .gallery-title::after {
  content: '';
  border-top: 3px solid var(--primary);
  width: 168px;
  position: absolute;
  right: 15px;
  top: -5px;
}
.home-gallery .gallery-link::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 69%, #000000 100%);
  opacity: .7;
  transition: all 0.3s ease;
}
.home-gallery .gallery-link:hover::after {
  background-image: linear-gradient(200deg, #57aa87 46%, #000000 100%);
  opacity: .57;
  transition: all 0.3s ease;
}

/*** Review Star ***/
.review-star .eicon-star {
  font-style: normal !important;
}

/*** Testimonials ***/
.testimonials-wrapper .elementor-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 20px;
  column-gap: 15px;
}
@media (min-width: 900px) {
  .testimonials-wrapper .elementor-container {
    flex-wrap: nowrap;
    row-gap: unset;
    justify-content: space-between;
    align-items: center;
  }
}

/*** Image Profile Name ***/
.img-profile-name img {
  max-width: 118px;
  width: 100%;
}
.img-profile-name .elementor-image-box-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  margin: 0 auto;
}

/*** Section - Hotspot ***/
@media (max-width: 1024px) {
  .section-hotspot .left-wrapper,
  .section-hotspot .right-wrapper {
    width: 100% !important;
  }
}

/*** Custom Image Box ***/
.cstm-img-box .elementor-image-box-title {
  position: relative;
}
.cstm-img-box .elementor-image-box-title::after {
  content: "";
  position: absolute;
  border-top: 1px solid var(--primary);
  bottom: -30px;
  width: 45px;
  left: 50%;
  transform: translateX(-50%);  
}

/*** Custom Filter Gallery ***/
.cstm-filter-gallery .eae-gallery-item-inner a:hover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 50%);
  transition: all 0.3s ease;
}
.cstm-filter-gallery  a.eae-filter-label {
  transition: all 0.3s ease;
}
.cstm-filter-gallery  a.eae-filter-label:hover {
  color: var(--primary) !important;
  border-bottom-color: var(--primary) !important;
  transition: all 0.3s ease;
}
.cstm-filter-gallery .eae-gallery-filter {
  margin-bottom: 58px !important;
}
.cstm-filter-gallery .eae-grid-overlay {
  height: 44px;
  top: unset;
  bottom: 0;
}
.cstm-filter-gallery .eae-grid-overlay .eae-overlay-caption {
  margin: 0;
}

/*
 * END OF
 * CUSTOMIZABLE CSS
 */
