/*
Theme Name: BHS Robotics
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
 *   1.1 FRAMEWORK
 *   1.2 MODULES
 *   1.3 STYLES
 *
 * 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.4 NAV BAR
 *   4.5 NAV MENUS
 *   4.6 DROPDOWN MENUS
 *   4.7 MOBILE NAV
 *
 * 5 BODY STYLES
 *   5.1 BANNER
 *   5.2 BREADCRUMBS
 *   5.3 TITLE BAR
 *   5.4 PAGE NAV BAR
 *   5.5 MAIN
 *   5.6 ARCHIVE
 *   5.7 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");

/* Font 1 Open Sans */
/* normal */
@font-face {
  font-family: 'Roboto';
  font-weight: 300;
  src: url('fonts/roboto/Roboto-Light.woff2');
}

/* italic */
@font-face {
  font-family: 'Roboto';
  font-weight: 300;
  font-style: italic;
  src: url('fonts/roboto/Roboto-LightItalic.woff2');
}

/* bold */
@font-face {
  font-family: 'Roboto';
  font-weight: 400;
  src: url('fonts/roboto/Roboto-Regular.woff2');
}



/* medium */
@font-face {
  font-family: 'Roboto';
  font-weight: 500;
  src: url('fonts/roboto/Roboto-Medium.woff2');
}



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


/***  2.1 UNIVERSAL STYLES  ***/

:root {
  --primary: #005094;
  --primary-dk: #013d72;
  --primary-lt: #0062b8;

  --secondary: #f57c30;
  --secondary-dk: #f8670c;
  --secondary-lt: #f98c49;

  --light-1: #fcfcfc;
  --light-2: #F2F2F2;
  --light-3: #F7F7F7;
  --light-4: #e2e2e2;

  --radius-1: 10px;
  --radius-2: 30px;

  --shadow-1: 0 1px 5px rgba(0, 0, 0, .1);
  --shadow-2: rgba(0, 0, 0, 0.26) 0px 1px 4px;
  --shadow-3: 0 8px 32px rgba(0,0,0,0.1);

  --dark-1: #222;
  --dark-2: #555;
  --dark-3: #888;
  --dark-4: #d1cece;

  --pale-primary: rgba(0, 80, 148, 0.61);
  --pale-secondary: rgba(245, 124, 48, 0.61);
  --pale-dark-1: rgb(34, 34, 34, 0.3);

	--font-1: 'Roboto', sans-serif;
}

html {font-size: 18px;}

body {
  line-height: 1.6em;
  font-family: var(--font-1);
  color: var(--dark-2);
  font-weight: 300;
  background-color: white;
}

p:empty:before {display: none !important;}



/***  2.2 THEME STYLES  ***/

.section-container {max-width: 1920px;}



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

.btt-button .fa {
  border-radius: var(--radius-1);
  background-color: var(--primary-dk);
	font-weight: 300;
  color: white;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

.btt-button:hover .fa {
  background-color: var(--secondary);
  color: white;
}





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



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

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

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



/***  3.2 HEADINGS  ***/
h1, h2{ 
  color: var(--primary);
  font-weight: 500; 
}

h3, h4, h5, h6 { 
  color: var(--primary);
  font-weight: 300; 
}

h1 { 
  font-size: 3.556rem;
  margin: .6em 0 0 0; 
}

h2 { 
  font-size: 2rem;
  margin: .6em 0 0 0; 
}

h3 {font-size: 1.333rem;}

h4 {font-size: 1.111rem;}

h5 {
  color: var(--dark-1);
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 2px;
}

h6 {font-size: 0.889rem;}

@media screen and (max-width:901px) {
  h1 { font-size: 2.75rem; }
  
  h2 { font-size: 1.5em;}
}


/***  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;
}

b, strong, .bold, .text-bold, .strong, .text-strong{font-weight: 400!important;}

.text-xlg{
  font-size: 2em;
  font-weight: 800;
}

/***  3.4 BUTTONS  ***/

input[type="submit"], input[type="reset"], input[type="button"],
.button, 
.elementor-button,
.elementor-button:visited{
  padding: 1em 2em;
  border: 1px solid var(--primary);
  background-color: var(--primary);
  font-weight: 500;
  font-size: 0.9em;
  letter-spacing: 1.5px;
  color: white;
  transition: 0.5s;
  min-width: 10em;
  border-radius: var(--radius-2);
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:hover, 
.elementor-button:hover {
  background-color: transparent;
  color: var(--primary);
}

.elementor-button .elementor-button-icon i{
  color: inherit!important;
  transition: none;
}

.white-hover.button:hover, 
.white-hover .elementor-button:hover {
  background-color: white;
  border-color: white;
}

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

.white-button.button:hover, 
.white-button .elementor-button:hover {
  background-color: transparent;
  color: white;
}

.banner-custom-white-button.button {
  border: 1px solid var(--light-1);
  padding: 1em 2em;
  border: 1px solid var(--primary);
  background-color: var(--primary);
  font-weight: 500;
  font-size: 0.8em;
  line-height: normal;
  letter-spacing: 1.5px;
  color: white;
  transition: 0.5s;
  min-width: 10em;
  border-radius: var(--radius-2);
}

.banner-custom-white-button.button:hover {
  border-color: white;
  background-color: white;
  color: var(--primary);
}

/* Empty Button */

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

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



/***  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: white;
}

a:hover .fa-bg {
  background-color: var(--secondary);
  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);}

/* Elementor Icons */

.elementor-view-stacked .elementor-icon {background-color: var(--primary);}
.elementor-view-stacked .elementor-icon i {color: white;}
.elementor-view-stacked .elementor-icon:hover {background-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);
  display: block;
}

.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);
}

.contact-list a:hover{
  color: var(--primary);
  text-decoration: none;
}

.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);}

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

/* Search Form */

.search-form {position: relative;}

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

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;
  min-width: auto;
}

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;}

div.nf-field-label .nf-label-span,
div.nf-field-label label{font-weight: 300;}





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



/***  4.1 SCROLL BAR  ***/
.scroll-bar {
  background: linear-gradient(180deg, var(--primary) 0%, var(--primary) 20%, var(--primary-lt) 20%, var(--primary-lt) 100%);
  border-bottom: 1px solid var(--light-2);
}

.scroll-bar .nav-menu > li > a{
  padding-top: 10px;
  padding-bottom: 10px;
}

.scroll-logo img {
  max-height: 60px;
  padding: 5px;
  background-color: white;
  border-radius: var(--radius-1);
}

.scroll-bar-nav li a{font-size: .85em;}

/* .scroll-menu > li > ul{top: 60px!important;} */

@media screen and (min-width: 1024px) {
  .scroll-logo-wrapper {width: 120px;}
  .scroll-bar-nav{width: calc(100% - 120px);}
}

/***  4.2 TOP BAR  ***/

.top-bar {
  padding-top: 2px;
  padding-bottom: 2px;
  background-color: var(--light-2);
}

.top-bar .col-custom {
  padding-top: 2px;
  padding-bottom: 2px;
}



/***  4.3 HEADER  ***/

.header-wrapper{
  position: fixed;
  top: 0;
  left: 0;
  min-height: 100px;
  z-index: 10;
  background: linear-gradient(180deg, var(--primary) 0%, var(--primary) 20%, var(--primary-lt) 20%, var(--primary-lt) 100%);
}

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

.logo img {
  max-height: 116px;
  padding: 1em;
  background-color: white;
  box-shadow: var(--shadow-1);
  margin-bottom: -20px;
  position: relative;
  z-index: 2;
}

/* Menu Button */

.header .menu-button .fal, 
.header .menu-button:hover .fal {
  color: white;
  margin-top: 10px;
}

.header .menu-button.active .fal {
  background-color: var(--primary);
}

@media screen and (min-width: 1024px) {
  .header .logo-wrapper {width: 120px;}
  .header .header-right {width: calc(100% - 120px);}
}

/***  4.4 NAV BAR  ***/


/***  4.5 NAV MENUS  ***/
.nav-menu>li {padding-top: 10px}

.nav-menu > li > a {
  padding-top: 25px;
	padding-bottom: 13.71px;
  color: white;
  letter-spacing: 1.1px;
  font-size: .778em;
  font-weight: 700;
}

.single-service .nav-menu > li.services-link > a, 
.single-post .nav-menu > li.posts-link > a, 
.category .nav-menu > li.posts-link > a, 
.nav-menu > li.current-menu-ancestor:not(.nav-button) > a,  
.nav-menu > li.current-menu-item:not(.nav-button) > a, 
.nav-menu > li:not(.nav-button):hover > a {
  border-top: 1px solid white;
}

.nav-menu .sub-menu {box-sizing: border-box;}

.nav-menu .sub-menu a{
  text-align: left;
}

@media (min-width: 1025px) {
  .nav-button > a > span{
    padding: 1em;
    border: 1px solid white;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: white;
    font-weight: 300;
    transition: 0.5s;
    border-radius: var(--radius-1);
  }
  
  .nav-button:hover > a > span{
    background-color: var(--primary);
    border-color: var(--primary);
    color: white;
  } 
}

/*menu description*/
.menu-item-description{
  font-size: .8em;
  display: none;
  color: var(--dark-1);
  display: block;
  margin-top: 0;
}

/***  4.6 DROPDOWN MENUS  ***/
.nav-menu li ul {
  background-color: white;
  width: 240px;
}

.nav-menu li ul li a {
  padding: 12px 16px;
  text-align: left;
  color: var(--dark-2);
  font-size: 0.778em;
}

.nav-menu li:not(.nav-contact) ul li.current-menu-item > a {color: var(--primary);}

.nav-menu li ul li:hover a {
  background-color: var(--light-3);
  color: var(--primary-md);
}

.nav-menu .nav-contact > .sub-menu{
	left:unset;
	right:0;
}


/***  4.7 MOBILE NAV  ***/

.mobile-menu > li > a {}

@media screen and (min-width: 1025px) {
  .mobile-menu .nav-button{margin-top: 1em;}
}


.mobile-menu .sub-menu{padding-left: 10px;}

.mobile-menu .menu-item i {display: none;}

/*all menu*/
ul.nav-menu > li > a p,
ul.nav-menu > li > a i,
ul.menu > li > a > p,
ul.menu > li > a > i{display: none;}


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



/***  5.1 BANNER  ***/

.banner {
  background-color: var(--dark-1);
  color: white;
}

.banner:after{
	content:'';
	width:100%;
	height:100%;
	position:absolute;
	visibility:visible;
	background: linear-gradient(90deg, var(--primary) 0%, rgba(0,0,0,0) 100%);
	top:0;
	left:0;
	z-index:1;
	opacity:.5;
}

.banner-inner {
  min-height: 350px;
  padding-top: 80px;
	padding-bottom: 80px;
  justify-content: center;
	position:relative;
	z-index:2;
}

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

/*add transparent header height*/
.banner-container{
  padding-top: 90px;
}

.banner .page-title{
  position: relative;
  line-height: 1;
}

.banner h1{text-transform: uppercase;}

.banner h1:before{
  content: ' ';
  background-color: var(--secondary);
  height: 3px;
  width: 40px;
  position: absolute;
  top: -15px;
  left: 0;
}

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

.banner a:hover {color: white;}

.banner-content{
  display: flex;
  max-width: 1400px;
  gap: 40px;
}

.banner .button { color:white; }

.banner .page-intro-wrapper{font-size: 1.2em;}

@media screen and (max-width:900px){
  .banner-content{ flex-direction: column; }
}

/***  5.2 BREADCRUMBS  ***/

.breadcrumbs {
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: var(--light-2);
}



/***  5.3 TITLE BAR  ***/

.title-bar {
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: var(--light-1);
}


/***  5.4 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.5 MAIN  ***/

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

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

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

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



/***  5.6 ARCHIVE  ***/

/* Entry Cols */

.entry-cols .current-menu-item{display: none;}

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

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

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

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

.entry-cols .entry-excerpt{color: var(--dark-1);}

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

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

.entry-cols .entry-meta, 
.entry-cols .entry-meta li {
  margin-left: 0;
  list-style: none;
}

.entry-cols .entry-meta li:not(:last-child) {margin-right: 10px;}

.entry-cols .entry-date {
  font-size: 0.8em;
  color: var(--dark-3);
  margin-top: -10px;
  display: block;
  text-transform: uppercase;
  letter-spacing: .5px;

}

.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:#0438659c; */
  background-color: var(--pale-primary);
  color: white;
  transition: all 300ms ease-in-out;
}

.entry-cols .entry-link:hover .entry-cats span {background-color: var(--pale-secondary);}

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

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

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

.post-cols .post-link .entry-button.post-button {
  padding: 0.8em 1.5em;
  border-radius: 0;
  border: 1px solid var(--primary);
  background-color: var(--primary);
  font-weight: 500;
  font-size: 0.9em;
  letter-spacing: 1.5px;
  color: white;
  transition: all 300ms ease-in-out;
}

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

/*solutions*/
.solution-cols .grid{justify-content: center;}
.entry-cols .solution-link{
  background-color: var(--primary);
}

.entry-cols .solution-text-wrap{
  padding: 0;
  text-align: center;
  background-color: #0050945c;
  z-index: 1;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.entry-cols .entry-link:hover .solution-title,
.entry-cols .entry-link .solution-title{ 
  color: white; 
  padding: 1em;
  font-weight: 600;
  letter-spacing:1px;
}


/*home-solutions*/
.home-solutions .entry{margin-top:40px;}

.home-solutions .entry-link{overflow:visible;}

.home-solutions .entry-title{
	top: -37px;
    position: absolute;
    background-color: var(--primary);
    padding: 10px!important;
    font-size: 1.1em;
    line-height: 1;
    width: 100%;
    text-align: left;
	font-weight:400!important;
}

.home-solutions .solution-text-wrap{
	background-color:unset;
}

.home-solutions .entry-link .entry-thumb-wrap{overflow:hidden}
.home-solutions .entry-link img{transition: all 300ms ease-in-out;}
.home-solutions .entry-link:hover img{transform: scale(1.05); }

/* 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.7 SINGLE  ***/





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



/***  6.1 CTA BAR  ***/

.cta-bar {
	padding-bottom: 60px;
  background-color: #00509485;
	color: white;
  position: relative;
}

.cta-bar:after {
  visibility: visible;
  content: ' ';
  width: 100%;
  height: 100%;
  top: 0;
  position: absolute;
  background-repeat: no-repeat;
  background-size: 100%;
  background-image: url(/wp-content/uploads/Contact-us-form-background.png);
  background-position: center;
  background-size: cover;
  z-index: -1;
}

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

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

.cta-bar .cta-title, 
.cta-bar .elementor-widget-heading,
h2#contact-cta {
  padding-top: 6.25rem;
  margin-bottom: 0.5em;
  text-align: center;
}

.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,
.cta-bar .nf-error-msg, 
.cta-bar .ninja-forms-req-symbol{color: white;}

.cta-bar aside:not(.widget_custom_html) .textwidget{
  font-size: 1.2em;
  text-align: center;
}

.cta-bar .nf-field-element textarea{height: 150px;}

.cta-bar input[type="submit"]:hover,
.cta-bar .button:hover {background-color: white;}

.cta-buttons{
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.cta-buttons input[type="submit"],
.cta-buttons .button{
  text-align: center;
  background-color: white;
  color: var(--dark-1);
  border-color: var(--primary);
}

.cta-buttons input[type="submit"]:hover,
.cta-buttons .button:hover{
  background-color: var(--primary);
  color: white;
}

@media screen and (min-width: 901px) {
  .cta-bar .col-custom:last-child {
    max-width: 600px;
    margin-top: 2em;
  }
}

@media screen and (max-width: 600px) {
  .cta-bar:after {
    background-position: 70% center;
  }

  .cta-buttons{flex-direction: column;}
}


/***  6.2 FOOTER  ***/

.footer {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: var(--primary);
  font-size: .833em;
}

.footer .section-container{
  max-width: 1400px;
}

@media screen and (min-width:1025px) {
  
  .footer .grid{justify-content: space-between;}

  .footer aside.col-custom{
    width: auto!important;
    flex:auto!important;
  }

  .footer aside:first-of-type{width: 25%;}

}
.footer h4,
.footer h5,
.footer h6{
  color: white;
  font-size: 1.3rem;
}

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

.footer .nf-error-msg, 
.footer .ninja-forms-req-symbol,
.footer a {color: white;}

.footer a:hover,
.footer .contact-list li a:hover {
  color: var(--light-4);
  text-decoration: underline;
}

.footer img{
  max-height: 70px;
}

.footer .ninja-forms-req-symbol{display: none;}

.footer .nf-field-label{
  margin-top: -2px;
  font-size: .86em;
}

/* Footer Menus */

.footer .menu {margin-top: -5px;}

.footer .menu a {
  display: block;
	padding-top: 5px;
	padding-bottom: 5px;
}

/* Footer Icon List */

.footer .arrow-list li, 
.footer .check-list li, 
.footer .check-circle-list li, 
.footer .icon-list li, 
.footer .contact-list li {margin-left: 1.75em;}

.footer .contact-list li:before,
.footer .social-list i,
.footer .social-list .social-list svg{
  color: white;
  font-weight: 700;
}

.footer label,
.footer .contact-list li a{color:white;}


.footer input[type="submit"]:hover{
  background-color: white;
  border-color: white;
}

.footer .footer-logo {
	max-height: 300px;
    width: 140px;
}


/***  6.3 BOTTOM BAR  ***/

.bottom-bar {
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: var(--primary);
  font-size: .722em;
  color: white;
  border-top: 1px solid white;
}

.bottom-bar .col-custom {
  padding-top: 10px;
  padding-bottom: 10px;
}

.bottom-bar a {color: white}

.bottom-bar a:hover {
  color: var(--light-4);
}

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

.credits img {width: 1.1em;}





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

html {margin-top: 0 !important;}
 
.section.site {padding-top: 100px;}

.index-1 {z-index: 1;}

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

 .bg-primary-dk{background-color: var(--primary-dk);}
 
 .bg-primary-lt{background-color: var(--primary-lt);}
 
 .bg-secondary{background-color: var(--secondary);}
 
 .bg-secondary-dk{background-color: var(--secondary-dk);}
 
 .bg-secondary-lt{background-color: var(--secondary-lt);}
 
 .bg-dk-one{background-color: var(--dark-1);}
 
 .bg-dk-two{background-color: var(--dark-2);}
 
 .bg-dk-three{background-color: var(--dark-3);}
 
 .bg-lt-one{background-color: var(--light-1);}
 
 .bg-lt-two{background-color: var(--light-2);}
 
 .bg-lt-three{background-color: var(--light-3);}

 .gradient-lt-one{background: linear-gradient(0deg, var(--light-1) 0%, rgba(255,255,255,0) 100%);}

 .gradient-lt-one-reverse{background: linear-gradient(0deg, white 0%, var(--light-1) 100%);}

.icon-secondary-color i {color: var(--secondary);}
.icon-secondary-color svg {fill: var(--secondary);}

.icon-secondary-color-fill svg,
.icon-secondary-color-fill svg * {fill: var(--secondary) !important;}

.icon-secondary-color-stroke svg,
.icon-secondary-color-stroke svg * {stroke: var(--secondary) !important;}

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

/*heading-line*/
h2.heading-line,
.heading-line .elementor-heading-title,
.heading-line .elementor-image-box-title{ 
  position: relative; 
}

h2.heading-line:before,
.cta-bar-widget:first-of-type .cta-title:before,
.heading-line .elementor-heading-title:before,
.heading-line .elementor-image-box-title:before{
  content: ' ';
  background-color: var(--secondary);
  height: 3px;
  width: 60px;
  position: absolute;
  top: -15px;
  left: 0;
}

h2.heading-line.line-center:before,
.cta-bar-widget:first-of-type .cta-title:before,
.heading-line.line-center .elementor-heading-title:before{ left: calc(50% - 20px);}

.heading-line.line-right .elementor-heading-title:before{
  left: unset;
  right: 0;
}

/*img-radius*/
.img-radius img{border-radius: var(--radius-1);}

/*img-radius*/
.img-box-shadow img{box-shadow: var(--shadow-1);}

.img-box-shadow .elementor-widget-container{overflow: visible;}

/*img dots*/
.img-dots .elementor-custom-embed-image-overlay,
.img-dots.elementor-widget-image,
.img-dots .elementor-image-box-img{position: relative;}

.img-dots .elementor-custom-embed-image-overlay:after,
.img-dots.elementor-widget-image:after,
.img-dots .elementor-image-box-img:after{
  content: '';
  opacity: .5;
  margin-top: 10px;
  width: 200px;
  height: 100px;
  background-image: url(/wp-content/uploads/dots-primary.png);
  background-repeat: no-repeat;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: -1;
}

.img-dots.dots-center .elementor-custom-embed-image-overlay:after,
.img-dots.dots-center.elementor-widget-image:after,
.img-dots.dots-center .elementor-image-box-img:after{left: 25%;}

.img-dots .elementor-widget-container{overflow: visible;}

/* Image Grayscale*/
.filter-grayscale-img img {filter: grayscale();}

/*boxed-cols*/
.boxed-cols .elementor-widget-wrap{
  background-color: var(--light-1);
  margin: .7em;
  padding: 1.5em !important;
  box-shadow: var(--shadow-1);
}

.boxed-cols.box-white .elementor-widget-wrap{background-color: white;}

@media screen and (max-width:900px){
  .boxed-cols .elementor-widget-wrap{
    margin: .7em 0;
  }
}


/*elementor defaults*/
.elementor-column-gap-wider > .elementor-column:first-of-type > .elementor-widget-wrap{margin-left: -35px;}

@media screen and (max-width:901px) {
  .elementor-column-gap-wider>.elementor-column>.elementor-element-populated{padding: 10px;}

  .elementor-column-gap-wider > .elementor-column > .elementor-widget-wrap{margin-left: -10px!important;}
}

/* number counter */
.elementor-widget-counter .elementor-counter-number-wrapper{
  color: var(--primary);
  font-weight: 300;
}

.elementor-widget-counter .elementor-counter-title{
  font-weight: 300;
  line-height: 1.3em;
  margin-top: 15px;
  text-align: center;
}

.elementor-widget-testimonial{
  background-color: white;
  border-radius: var(--radius-1);
  padding: 4em 3.5em 2em;
  box-shadow: var(--shadow-1);
}

.elementor-testimonial-wrapper .elementor-testimonial-content{font-size: 1em;}

.elementor-testimonial-wrapper .elementor-testimonial-name{
  font-weight: 400;
  margin-bottom: .4em;
}

@media only screen and (min-width: 901px) {
  .number-counter .elementor-widget-counter{
    width: 33.33%;
    margin-block-end: 0;
  }
}

@media only screen and (max-width: 900px) {
  .elementor-column-gap-wide>.elementor-column>.elementor-element-populated{padding: 10px;}

  .elementor-counter .elementor-counter-number-wrapper{
    font-size: 3em;
  }
}

@media only screen and (max-width: 600px) {
  .elementor-widget-image-box.elementor-position-left .elementor-image-box-title,
  .elementor-widget-image-box.elementor-position-right .elementor-image-box-title{
    margin-top: 1.5em;
  }

  .elementor-widget-testimonial{
    padding: 4em 1.2em 2em;
  }
}

.testimonial-read-more {
  background-color: transparent;
  padding: 0;
  border: 0;
  font-weight: 700;
}

.testimonial-read-more:hover {color: var(--secondary);}

.page-id-1272 .mfp-content {
  max-width: 800px;
  background-color: transparent !important;
}

.page-id-1272 .eae-popup-container {
  position: relative;
  padding: 15px;
}

.page-id-1272 .eae-popup-container:before,
.page-id-1272 .eae-popup-container:after {
  content: '';
  position: absolute;
  width: 150px;
  height: 150px;
  background-color: var(--primary);
  z-index: -1;
}

.page-id-1272 .eae-popup-container:before {
  top: 0;
  left: 0;
}

.page-id-1272 .eae-popup-container:after {
  bottom: 0;
  right: 0;
}

.page-id-1272 .eae-modal-content {background-color: white;}

.page-id-1272 .testimonials-section .elementor-widget-text-editor {margin-bottom: 0;}

.page-id-1272 .mfp-title {
  padding: 20px 46px 20px 20px;
  font-size: 1.5em;
  font-weight: 700;
  color: var(--primary);
  background-color: white;
}

.page-id-1272 .eae-close {
  color: var(--primary) !important;
  top: 25px;
  right: 25px;
}

/*value proposition*/
.value-proposition h3{font-size: 1.5em;}

.value-proposition .elementor-column{
  padding: 20px;
  margin: 0 15px;
  background-color: var(--light-2);
  border-radius: var(--radius-1);
  box-shadow: var(--shadow-2);
}

@media screen and (max-width: 900px) {.value-proposition .elementor-column{margin: 15px 10px;}}

/*testimonial solo*/
.testimonials-container .elementor-widget-image{
  margin-bottom: -2.3em;
  z-index: 1;
}
.testimonials-container .elementor-widget-image .elementor-widget-container{
  width: 80px;
  height: 80px;
  margin: auto;
  position: relative;
}

.testimonials-container .elementor-widget-image .elementor-widget-container:before{
  content:''; 
  background-image: url(/wp-content/uploads/double-quotes.svg);
  background-size: 25px;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: calc(50% - 17px);
  left: -1em;
  height: 35px;
  width: 35px;
  background-color: var(--primary);
  border-radius: 100%;
}

.testimonials-container .elementor-widget-image img{
  object-fit: cover;
  height: 100%;
  border-radius: 100%;
  box-shadow: var(--shadow-1);
}

.testimonials-no-image {margin-top: 1.2em;}

.testimonials-no-image .elementor-widget-image img {display: none;}

.testimonials-no-image .elementor-widget-testimonial:before {
  content: '';
  position: absolute;
  width: 80px;
  height: 80px;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 60%;
  background-image: url(/wp-content/uploads/double-quotes.svg);
  background-color: var(--primary);
  border-radius: 100%;
}


/* Add custom theme styles here */

/* social list */
.social-list{
  display: flex;
  gap: 15px;
}

.social-list li{
  list-style: none;
  margin-left: 0;
  font-size: 1.125em;
}

.social-list i,
.social-list svg{
  color: var(--primary);
}

/*contact page map*/
.map-section .elementor-container{
  padding-left: 0!important;
  padding-right: 0!important;
}

/*section-view-more*/
.section-view-more{background-color: var(--light-1);}

.section-view-more h2{
  margin-bottom: .75em;
  text-align: center;
}

/*posts page*/
.post-cols .post-thumb-wrap {
  position: relative;
  padding-bottom: calc(450 / 600 * 100%);
}
.post-cols .post-thumb-wrap img{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*posts single*/
body.single-post .banner-content{
  flex-direction: column;
  gap: 20px;
}

body.single-post .post-date{
  font-size: .9em;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .5px;
}

body.single-post .post-cat a{
  color: white;
  border-radius: var(--radius-2);
  padding: 5px 10px;
  background: #0438659c;
  margin-left: 10px;
}

/*** Swiper ***/
.ov-swiper .swiper {overflow: visible;}


/*** Cards Cols ***/
.cards-cols .elementor-container {
  display: grid;
  gap: 1.5em;
  grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 900px) {
  .cards-cols .elementor-container {grid-template-columns: 1fr;}
}

.cards-cols .elementor-container .elementor-column {
  padding: 1.5em;
  width: 100%;
  background-color: var(--light-2);
  border-radius: var(--radius-1);
  box-shadow: var(--shadow-2);
  transition: all 300ms ease-in-out;
}

.cards-cols .elementor-container .elementor-column:hover {transform: translateY(-3px);}

.cards-cols .elementor-icon i {color: var(--secondary);}

.cards-cols .elementor-icon svg {fill: var(--secondary);}

.cards-cols .elementor-container .elementor-column:hover .elementor-button {
  background-color: transparent;
  color: var(--primary);
}

/* Blog */ 

body.blog .section.main,
body.blog .archive-nav-bar,
body.archive .section.main,
body.archive .archive-nav-bar {max-width: 1300px;}


/* Custom CTA Bar Form */ 
.custom-cta-bar-form label {
  position: absolute;
  top: -10000em;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.custom-cta-bar-form input,
.custom-cta-bar-form textarea {margin-bottom: 25px;}

@media screen and (min-width: 901px) {
  .custom-cta-bar-form .input-wrap {
    display: flex;
    gap: 1em;
  }

  .custom-cta-bar-form .input-wrap input {width: 50%;}
}

.custom-cta-bar-form input[type="submit"] {
  margin: 0;
  width: auto;
  height: auto;
  line-height: 1.6;
}

/* SERVICE FORM */ 

.service-form.no-label label {
  position: absolute;
  top: -10000em;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.service-form .grid div {margin-top: 0.5em;}

.service-form input[type="submit"] {
  margin: 25px 0 0;
  width: auto;
  height: auto;
}

.service-form input[type="submit"]:hover {background-color: white;}

.service-form select:has(option[value=""]:checked)  {
  color: var(--pale-dark-1)
}

.service-form select option:not([disabled]) {color: var(--dark-1);}

/* SERVICE INQUIRE THANK YOU */
.elementor-page-3107 .banner-content  {flex-wrap: wrap;}

/** Filter Solution **/

.solution-filters {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 20px;
  gap:15px;
}

@media screen and (min-width: 1280px) {
  .solution-filters {gap: 0;}
}

.solution-filters .filter-btn {
  background-color: transparent;
  color: var(--primary-dk);
}

@media screen and (min-width: 1280px) {
  .solution-filters .filter-btn {
    position: relative;
    background-color: white;
    font-weight: 400;
    color: var(--dark-1);
    padding: 20px 10px;
    border-radius: 0;
    border: 0;
    letter-spacing: 0;
    border-bottom: 2px solid var(--primary-dk);
  }
}

.solutions-grid-cols .entry-link {background-color: white;}

.filter-btn:hover,
.filter-btn.active-filter{
  background-color: var(--primary-dk);
  color: white;
}


/*box-decor*/
.box-decor:after{
  content: '';
  background-color: var(--light-4);
  width: 100%;
  height: 100%;
  position: absolute;
  right: -30px;
  bottom: -30px;
  z-index: -1;
}


.testimonial-quote i{
  font-size: .5em;
  padding: 10px;
  background-color: var(--primary);
  color: white;
  border-radius: 100%;
	border:4px solid white;
}

/*photo-gallery*/
.photo-gallery .elementor-gallery-item:hover{
  transform: scale(1.05);
}

 /*lightbox file name*/
 .elementor-slideshow__description,
 .elementor-slideshow__title{display: none!important;}

/*approach-list*/
.approach-list{
	counter-reset: list-counter;
}

.approach-list .elementor-widget-icon{
	counter-increment: list-counter;
}
.approach-list .elementor-widget-icon .elementor-icon{position:relative;}

.approach-list .elementor-widget-icon .elementor-icon:after{
	content: counter(list-counter);
    position: absolute;
    top: -10px;
    right: -10px;
    font-size: .45em;
    background-color: var(--secondary);
    color: white;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    border-radius: 100%;
}

.approach-list .elementor-widget-icon i {color:white;}

.approach-list .elementor-widget-icon svg > * {filter: brightness(0) invert(1);}

.approach-list .elementor-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
	padding: 10px;
  min-width: 80px;
  min-height: 80px;
	background-color: var(--primary);
	border-radius:100%;
}

@media screen and (min-width:901px) {
	.approach-list .elementor-inner-column:nth-child(odd){
		/* border-right: 4px solid var(--light-2); */
	}

  .approach-list .elementor-top-column > .elementor-widget-wrap:before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 100%;
    background-color: var(--light-2);
    transform: translateX(-50%);
  }

  .approach-list .elementor-inner-column:nth-child(odd) > div {padding-right: 0;}
  .approach-list .elementor-inner-column:nth-child(even) > div {padding-left: 0;}

  .approach-list .elementor-inner-column .elementor-widget-icon .elementor-widget-container {margin-bottom: -80px;}

  .approach-list .elementor-inner-column:nth-child(odd) .elementor-widget:not(.elementor-widget-icon) .elementor-widget-container {margin-right: 100px;}

  .approach-list .elementor-inner-column:nth-child(even) .elementor-widget:not(.elementor-widget-icon) .elementor-widget-container {margin-left: 100px;}
}

@media screen and (max-width: 900px) {
  .approach-list .elementor-inner-column .elementor-widget-icon {order: -1;}
}

/* External Blog Feed */
.external-blog-feed {margin-top: 3em;}

/* Hide Current Solution */

.single-solution .elementor-widget-nav-menu .current-menu-item {display: none;}

/*
 * END OF
 * CUSTOMIZABLE CSS
 */
