/*
Theme Name: Krugel
Version: 5.6
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 HEADER 
 *   4.3 NAV MENUS
 *   4.4 DROPDOWN MENUS
 *   4.5 MOBILE NAV
 *
 * 5 BODY STYLES
 *   5.1 BANNER
 *   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");



/***  MONTSERRAT  ***/

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

/* Semibold */
@font-face {
  font-family: 'Montserrat';
  font-weight: 600;
  src: url('fonts/Montserrat/Montserrat-SemiBold.ttf');
}

/* Italic */
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: normal;
  src: url('fonts/Montserrat/Montserrat-Italic.ttf');
}

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



/***  FRANK RUHL LIBRE  ***/

/* Normal */
@font-face {
  font-family: 'Frank Ruhl Libre';
  font-weight: normal;
  src: url('fonts/Frank_Ruhl_Libre/FrankRuhlLibre-Regular.ttf');
}


/* Bold */
@font-face {
  font-family: 'Frank Ruhl Libre';
  font-weight: bold;
  src: url('fonts/Frank_Ruhl_Libre/FrankRuhlLibre-Bold.ttf');
}





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



/***  2.1 UNIVERSAL STYLES  ***/

:root {
  --primary: #aa8c51;
  --primary-dk: #8f733c;
  --primary-lt: #c2a66e;
  --secondary: #666A86;
  --secondary-dk: #575a73;
  --secondary-lt: #788AA3;
  --dark-1: #1a1a1a;
  --dark-2: #222222;
  --dark-3: #5F656C;
  --light-1: #EDEDED;
  --light-2: #5F656C;
  --light-3: #F7F7F7;
  --radius-1: 50%;
  --radius-2: 3px;
  --radius-3: 20px;
  --shadow-1: 0 14px 40px rgba(0, 0, 0, 0.1);
  --shadow-2: 0 20px 40px rgba(0, 0, 0, 0.3);
	--shadow-3: 0 4px 12px rgba(0,0,0,0.5);
  --font-1: 'Montserrat',sans-serif;
  --font-2: 'Frank Ruhl Libre', serif;

}

html {font-size: 16px;}

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


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



/***  2.2 THEME STYLES  ***/

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



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

.btt-button .fa {
  border-radius: var(--radius-1);
  background-color: var(--primary);
	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(--primary-dk);
  color: white;
}





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



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

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

a:hover {
  color: var(--primary-lt);
	text-decoration: none;
}



/***  3.2 HEADINGS  ***/

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  color: var(--dark-1);
  font-family: var(--font-2);
}

h1 {
	font-size: 3em;
	line-height: 1.15em;
	font-family: var(--font-1);
	font-weight: normal;
}
h2 {font-size: 2.5em;}
h3 {font-size: 1.75em;}
h4 {font-size: 1.25em;}
h5 {font-size: 1em;}
h6 {font-size: 0.85em;}



/***  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: 0.8em 1.5em;
  border: 1px solid var(--primary);
  border-radius: var(--radius-2);
  background-color: transparent;
  font-weight: 600;
  font-family: var(--font-1);
  font-size: 0.8em;
  color:var(--primary)!important;
  letter-spacing: 2px;
  text-transform: uppercase;
}

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

/* Empty Button */

.button-empty, .bordered-button .elementor-button {
  border:2px solid transparent;
  background: none;
  color: var(--primary);

}

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



/***  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(--dark-1);}

/*  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(--dark-1);
  color: white;
}

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



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

.nf-form-content button, 
.nf-form-content input[type=button],
.nf-form-content input[type=submit] {
  background-color: transparent;
  font-weight: 600;
  border:2px solid var(--dark-1);
  color: var(--dark-1)!important;
  text-transform:uppercase;
  -webkit-transition: all 0.2s ease-in;
  -moz-transition: all 0.2s ease-in;
  -o-transition: all 0.2s ease-in;
  -ms-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}

.nf-form-content button:hover, 
.nf-form-content input[type=button]:hover,
.nf-form-content input[type=submit]:hover {
  background-color:var(--primary)!important;
  border-color: var(--primary);
  color: white!important;
}

.nf-form-content label {
    color:var(--dark-1);
}





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



/***  4.1 SCROLL BAR  ***/

.scroll-bar {
  background-color: var(--dark-1);
	z-index: 1000;
}

.scroll-bar-container {max-width: none;}

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



/***  4.2 HEADER  ***/

.header-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
} 

.header-container {max-width: none;}

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

.header {
	background: rgb(26,26,26);
	background: linear-gradient(-90deg, rgba(26,26,26,0.2) 0%, rgba(26,26,26,0.8) 100%);
} 

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

.header .logo-wrapper {
  padding-top: 15px;
  padding-bottom: 15px;
}

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

/* Menu Button */

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

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



/***  4.3 NAV MENUS  ***/

.nav-menu > li > a {
  padding-top: 32px;
  padding-bottom: 32px;
  color: white;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.scroll-menu > li > a {
  padding-top: 24px;
	padding-bottom: 24px;
	font-size: 0.9em;
}

.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 > a, 
.nav-menu > li.current-menu-item > a, 
.nav-menu > li:hover > a {color: var(--primary-lt);}

.scroll-bar .nav-menu > li > a {color:white;}

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

@media screen and (max-width: 1400px) {
.nav-menu > li > a {
	padding-left: 8px;
	padding-right: 8px;
}
}

/* Nav Button */

.nav-menu > li.nav-button > a > span {
  display: block;
  padding: 0.4em 1.5em;
  border-radius: var(--radius-2);
  border: 1px solid var(--primary);
  margin-top: -0.4em;
  margin-bottom: -0.4em;
  background-color: var(--primary);
  color: white;
  transition: all 300ms ease-in-out;
  text-transform:uppercase;
  font-weight:500;
}

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



/***  4.4 DROPDOWN MENUS  ***/

.nav-menu li ul {
  background-color: white;
  width: 240px;
  margin-top: -7px;
  border-top: 2px solid var(--primary);
  font-size: 0.9em;
}

.nav-menu li ul li a {
  padding: 12px 16px;
  text-align: left;
  color: var(--dark-1);
  font-weight: 500;
  text-transform:uppercase;
}

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

.nav-menu li ul li.current-menu-item.hide-active > a {color: var(--dark-1);}

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



/***  4.5 MOBILE NAV  ***/

.mobile-nav {background-color: white;}

.mobile-menu > li:not(:last-child) {border-bottom: 1px solid var(--light-2);}

.mobile-menu li a {color: var(--dark-1); font-weight: 500;}

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

.mobile-menu li ul {
  background-color: var(--light-2);
  font-size: 0.9em;
}

.mobile-menu li.menu-item-has-children:after {color: var(--dark-1);}





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



/***  5.1 BANNER  ***/

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

.banner-inner {
  min-height: 320px;
  padding-top: 120px;
  padding-bottom: 60px;
}

.banner-tall .banner-inner {min-height: 750px; text-align: left;}

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

.banner a:hover {color: white;}


.banner h1 {
  margin-bottom: 0;
  text-shadow: var(--shadow-3);
}

.banner p {
  margin-bottom: 0;
  text-transform: uppercase;
  text-shadow: var(--shadow-3);
}



/***  5.2 TITLE BAR  ***/

.title-bar {
  padding-top: 160px;
  padding-bottom: 60px;
  background-color: var(--dark-1);
	text-align: center;
	text: white;
}

.title-bar .page-title, 
.title-bar h1 {color: white;}

/* Dark Title Bar (Elementor) */

.dark-title-bar {
  padding-top: 60px;
  background-color: var(--dark-1);
	color: white;
}

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

.dark-title-bar .elementor-widget-heading + .elementor-widget-text-editor {margin-top: -15px;}


/***  5.3 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 {
    font-family: var(--font-2);
    line-height: 1.4;
    text-align: center;
    margin: 0;
    border-right: white solid 1px;
}

.page-nav-bar .page-menu li:first-child {
    border-left: white solid 1px;
}

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

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



/***  5.3 MAIN  ***/

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

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

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

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

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

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

@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 {
  background-color: white;
  overflow: hidden;
  color: var(--dark-2);
  transition: all 300ms ease-in-out;
}


.entry-cols .entry-link:hover img {transform: scale(1.05); transition: all 300ms ease-in-out;}


/*.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 {color: var(--dark-1);  padding: 0 0 0 16px;
  border-left: 2px solid var(--primary);}


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

.entry-cols .entry-excerpt {padding-left: 16px;}

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

.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: 0;
  bottom: 30px;
}

.entry-cols .entry-link .entry-button {
  padding: 0.8em 1.5em;
  border: 2px solid var(--primary);
  border-radius: var(--radius-2);
  background-color: transparent;
  font-weight: 600;
  font-family: var(--font-1);
  font-size: 0.8em;
  color:var(--primary)!important;
  letter-spacing: 2px;
  text-transform: uppercase;

}

.entry-cols .entry-link:hover .entry-button {
  border-color: var(--primary);
  background-color: var(--primary);
  color: white!important;
}

/* 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 {
	background: rgb(26,26,26);
	background: linear-gradient(0deg, var(--dark-1) 50%, white 50%);
}

.cta-bar-inner {
  position: relative;
  padding: 60px;
  background-color: var(--primary-lt);
  border-radius: var(--radius-2);
  text-align: center;
}

.cta-bar-inner:before {
  position: absolute;
  top: 10px;
  left: 10px;
  bottom: 10px;
  right: 10px;
  border: 2px solid var(--dark-1);
  border-radius: var(--radius-2);
  content: '';
}

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

.cta-bar-inner {max-width: 750px;}


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


.cta-bar p {color: black;}

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

.cta-bar .button,
.cta-bar .elementor-button {
  border-radius: var(--radius-2);
  border: 1px solid var(--light-1);
  background-color: var(--light-1);
  color:black;
  transition: all 300ms ease-in-out;
  margin-top: 20px;
}

.cta-bar .button:hover, 
.cta-bar .elementor-button:hover {
  border-color: var(--dark-1);
  background-color: var(--dark-1);
  color: white!important;
}



/***  6.2 FOOTER  ***/

.footer {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: var(--dark-1);
  color: var(--light-1);
}

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

.footer a {color: white;}

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

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

/* Footer Menus */

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

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

.footer .menu a:hover {
  color: var(--primary);
}

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



/***  6.3 BOTTOM BAR  ***/

.bottom-bar {
  padding-top: 20px;
  padding-bottom: 20px;
  background-color: var(--dark-1);
  color: var(--light-1);
  font-size: 0.9em;
}

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

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

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

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

.credits img {width: 1.1em;}





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



/***  UNIVERSAL ADDITIONS  ***/

.text-primary h1,
.text-primary h2,
.text-primary h3,
.text-primary h4,
.text-primary h5,
.text-primary h6,
.text-primary p,
.text-primary i,
.text-primary span,
.text-primary li a,
.text-primary li:before {color:var(--primary)!important;}

.text-primary li a:hover {color:var(--primary-dk)!important;}

.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6,
.text-white p,
.text-white i,
.text-white span,
.text-white li a,
.text-white li:before {color:white!important;}

.text-white li a:hover {color:var(--primary)!important;}
.text-white a:hover {color:var(--primary)!important;} 

.text-dark h1,
.text-dark h2,
.text-dark h3,
.text-dark h4,
.text-dark h5,
.text-dark h6,
.text-dark p,
.text-dark i,
.text-dark span,
.text-dark li a,
.text-dark li:before {color:var(--dark-3)!important;}

.text-dark li a:hover {color:var(--dark-2)!important;}

.shadow-img img {box-shadow: var(--shadow-2);}

.heading-line {
  padding: 0 0 0 16px;
  border-left: 2px solid var(--primary);
}

.spaced {letter-spacing: 0.1em;}



/***  BOX LOGO  ***/

.box-logo .elementor-column-wrap {
  padding: 40px!important;
    -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;
}

.box-logo .elementor-column-wrap:hover {
  background-color: white;
  box-shadow: 0 16px 48px -16px rgba(0,0,0,.24);
}

.elementor-testimonial-name {
    color: var(--dark-1);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
}



/***  ELEMENTOR SLIDE  ***/

.hp-banner .elementor-slides .swiper-slide-inner {text-shadow: var(--shadow-3);}

.hp-banner .elementor-slides .swiper-slide-inner h1 {
  margin-bottom: 0.5em;
	text-transform: capitalize;
}

.hp-banner .elementor-slides .swiper-slide-inner h1:after {
  display: block;
	width: 50px;
	height: 3px;
	margin-top: 0.25em;
	background-color: var(--primary);
  content: '';
}

.hp-banner .elementor-slides .swiper-slide-inner p {
  font-size: 1.1em;
  text-transform: uppercase;
  margin-top: 0;
}

.hp-banner .elementor-slides .swiper-slide-inner .elementor-slide-description:not(:last-child) {margin-bottom: 40px;}

.hp-banner .elementor-slides .swiper-slide-inner .elementor-slide-button {
  color: white!important;
  border-color: var(--primary);
	font-size: 1em;
}

.hp-banner .elementor-slides .swiper-slide-inner .elementor-slide-button:hover {
  background-color: var(--primary);
  border-color: var(--primary);
  color: white!important;
}

.hp-banner .swiper-slide-contents {width: 100% !important;}



/***  HOME TESTIMONIALS  ***/

.home-testimonial {
  background: white;
  padding: 30px;
  box-shadow: var(--shadow-2);
}

.home-testimonial .elementor-icon {font-size: 1.5em;}

.home-testimonial .elementor-testimonial-content {
  font-size: 1em;
  line-height: 1.6em;
  font-weight: 600;
}

.home-testimonial .elementor-testimonial__text {
  font-size: 1.1em;
  line-height: 1.6em;
}

.home-testimonial .elementor-testimonial__name {
  color:var(--primary-dk);
  font-family: var(--font-1);
}

.home-testimonial .elementor-widget-testimonial-carousel .swiper-slide {
  padding: 0;
}

.home-testimonial .elementor-testimonial-image {display: none !important;}

.home-testimonial .elementor-icon i, 
.home-testimonial .elementor-icon svg {
  font-size: 50px;
}



/***  TESTIMONIAL BOX  ***/

.testimonial-box {
  background-color: white;
  box-shadow: 0 32px 80px -24px rgb(0 0 0 / 14%);
  border-radius: var(--radius-2);
  padding: 40px 64px 40px 40px;
}

.testimonial-box .elementor-testimonial-name {
  font-size:1em;
  font-weight: 600;
  text-transform: capitalize;
}

@media screen and (max-width: 900px) {
.testimonial-box {padding: 25px;}
}
@media screen and (max-width: 600px) {
.testimonial-box {padding: 15px;}
}



/***  SERVICES  ***/

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



/***  PROJECTS  ***/

.projects-tile {
  transform: scale(1) translateY(0);
  transition: transform 0.3s ease-in-out;
}
.projects-tile:hover {
  transform: scale(1.05) translateY(-5px);
}

.projects-tile .elementor-heading-title {
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

.projects-tile:hover .elementor-heading-title {color: var(--primary);}



/***  TESTIMONIALS BOXES  ***/

.testimonial-boxes blockquote {
  padding: 40px;
  border-radius: 50px;
  border: solid 8px black;
}
.testimonial-boxes blockquote:hover::before{
  color:#08264A;
}
.testimonial-boxes blockquote p,
.testimonial-boxes blockquote footer {
  color: #08264A;
  transition:.5s all ease;
}

.elementor-blockquote--skin-quotation .elementor-blockquote::before{
  transition:.5s all ease;
}

.bio-thumb .bio-title  {
  color: white;
	margin-top: 15px;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;

}

a.bio-thumb:hover .bio-title {color: var(--primary);}

.bio-thumb .bio-position {
  color: var(--light-1);
	text-transform: uppercase;
	font-size: 0.9em;
}

.bio-full .bio-position {
	text-transform: uppercase;
	font-size: 0.9em;
}

a.bio-thumb:hover {
  transform: translateY(-3px) scale(1.05);
}





/***  MENU BAR  ***/

#section-container {
	max-width: 100%;
	padding: 0;
	background: white;
	box-shadow: 0 -6px 12px 12px rgba(0,0,0,0.1);
	z-index: 2;
	position: relative;
}

.menu-bar {
	padding: 0;
	margin: 0;
	list-style: none;
	justify-content: center;
}

.menu-bar {
	display: flex;
}

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

.dark-bar .menu-bar li a {color: white;}

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

.menu-bar 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;
}



/***  POINTER UNDERLINE  ***/

.e--pointer-underline .elementor-item:after {
  background-color: var(--primary)!important;
}



/***  WIDE IMAGE  ***/

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

.wide-img-left img, 
.wide-img-right img {
  width: 120% !important;
	max-width: 120% !important;
}

.wide-img-left img {margin-left: -20%;}

.wide-img-right img {margin-right: -20%;}

}



/***  DARK BAR  ***/

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

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



/***  LIGHT BAR  ***/

.light-bar {background-color: var(--light-3);}



/***  PRE TITLE  ***/

.pre-title {
  text-transform: uppercase;
	color: var(--primary);
	letter-spacing: 0.1em;
	margin-bottom: 10px !important;
}

.pre-title .elementor-heading-title {color: var(--primary);}



/***  LINK COLS  ***/

.link-cols .elementor-row {
  flex-wrap: wrap;
	justify-content: center;
}

.link-cols .elementor-column {width: 25%;}

.link-cols .elementor-widget-wrap {
  background-color: var(--primary);
	height: 240px;
	padding: 20px;
	border-radius: var(--radius-3);
	align-content: center;
  text-align: center;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

.link-cols .elementor-column:hover .elementor-widget-wrap {
  background-color: var(--primary-lt);
	transform: translateY(-3px) scale(1.05);
}
  
}



/***  GALLERY COLS  ***/

.gallery-cols .grid {justify-content: center;}

.gallery-cols .gallery-link {
  position: relative;
  display: block;
  background-color: var(--dark-1);
	overflow: hidden;
	border-radius: var(--radius-2);
	text-shadow: var(--shadow-3);
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

.gallery-cols .gallery-link:before {
  position: absolute;
  top: 10px;
  left: 10px;
  bottom: 10px;
  right: 10px;
  border: 2px solid white;
  border-radius: var(--radius-2);
  content: '';
	display: none;
}


.gallery-cols .gallery-link:hover {
  transform: translateY(-3px);
	box-shadow: var(--shadow-2);
}

.gallery-cols .gallery-thumb {
  opacity: 0.4;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

.gallery-cols .gallery-link:hover .gallery-thumb {opacity: 0.6;}

.gallery-cols .gallery-text-wrap {
  position: absolute;
	bottom: 0;
	left: 0;
	padding: 30px;
	color: white;
}

.gallery-cols .gallery-title {
  padding-left: 15px;
	border-left: 3px solid var(--primary-lt);
  color: white;
}

.gallery-cols .gallery-excerpt {
  text-transform: uppercase;
	font-size: 0.9em;
}

.gallery-cols .gallery-button {
	padding: 0.5em 1em;
	border: 1px solid var(--primary);
	border-radius: var(--radius-2);
	background-color: transparent;
	font-weight: 600;
	font-family: var(--font-1);
	font-size: 0.8em;
	color: white;
	letter-spacing: 2px;
	text-transform: uppercase;
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}

.gallery-cols .gallery-link:hover .gallery-button {
  border-color: var(--primary);
  background-color: var(--primary);
  color: white!important;
}




.img-collage:before {
  position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	width: 70%;
	height: 100%;
	background-color: var(--light-3);
	content: '';
}
/** Careers Setion**/
.startApply {
  margin-top: 50px;
  text-align: center;
}
.section.career {
  margin-top: 1.2em;
  margin-bottom: 1.2em;
}

/** Testimonials Setion **/
.testimonial-header {
  	margin-bottom: 40px;
}
.testimonial-entry {
    margin-bottom: 40px;
    background-color: white;
    box-shadow: 0 32px 80px -24px rgb(0 0 0 / 14%);
    border-radius: var(--radius-2);
    padding: 40px 60px 40px 40px;
} 
.testimonial-entry .entry-text-wrap {
    padding: 0;
}
.testimonial-entry .testimonial-title {
    font-family: var(--font1);
    font-weight: 600;
    color: var(--dark-1);
}

/** Career **/
.section-container.page-nav-bar-container.career-nav-bar-container {
  padding-top: 15px;
}
/** Services Section **/
.service-section {
	padding: 50px 0px 50px 0px;
}
/* ipad Mini Portrait */
@media only screen and (max-width: 768px) {
.section-spacer {
  padding-top: 80px !important;
  padding-bottom: 80px !important; }

}

/* ipad Mini Landscape */
@media only screen and (max-width: 810px) {
.section-spacer {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
}
/* 15" Notebook*/
@media only screen and (max-width: 1364px) {
.section-spacer {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
}

/*
 * END OF
 * CUSTOMIZABLE CSS
 */

