/*
Theme Name: {CWS} 
Theme URI: https://web.counterweight.co.za
Author: Jason Siddall - Counterweight Web Services
Author URI: https://web.counterweight.co.za
Description: Premium theme created exclusively for Cellfind
Version: 1.15
Template: generatepress
*/


/*
* =========={ BODY / TEXT / HEADINGS }==========
*/



:root {
	--theme: #017dc3; /* var(--theme) */
	--secondary: #f0f7fd; /* var(--secondary) */
	--light: #ffffff;
	--dark: #003d60;
	--heading: #505060;
	--text: #222222;
}

body {
    position: relative;
    z-index: 0;
    color: var(--text);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--heading);
}



.w3-theme {color:#fff !important; background-color:var(--theme) !important}
.w3-theme-secondary {color:var(--text) !important; background-color:var(--secondary) !important}

.w3-theme-l5 {color:#000 !important; background-color:#ecf8ff !important}
.w3-theme-l4 {color:#000 !important; background-color:#c0e8ff !important}
.w3-theme-l3 {color:#000 !important; background-color:#81d0fe !important}
.w3-theme-l2 {color:#fff !important; background-color:#42b9fe !important}
.w3-theme-l1 {color:#fff !important; background-color:#03a2fe !important}

.w3-theme-d1 {color:#fff !important; background-color:#016eae !important}
.w3-theme-d2 {color:#fff !important; background-color:#01629a !important}
.w3-theme-d3 {color:#fff !important; background-color:#015687 !important}
.w3-theme-d4 {color:#fff !important; background-color:#014974 !important}
.w3-theme-d5 {color:#fff !important; background-color:#003d60 !important}

.w3-bg-theme {background-color: var(--theme) !important}
.w3-bg-secondary {background-color:var(--secondary) !important}

.w3-theme-light {color:#000 !important; background-color:#ecf8ff !important}
.w3-theme-dark {color:#fff !important; background-color:#003d60 !important}
.w3-theme-action {color:#fff !important; background-color:#003d60 !important}

.w3-border-theme {border-color:var(--theme) !important}

.w3-theme-inverse {color:var(--theme) !important; background-color:#fff !important}

.w3-hover-theme:hover {color:#fff !important; background-color:var(--theme) !important}
.w3-hover-border-theme:hover {border-color:var(--theme) !important}

.w3-hover-theme-l5:hover {color:#000 !important; background-color:#ecf8ff !important}
.w3-hover-theme-l4:hover {color:#000 !important; background-color:#c0e8ff !important}
.w3-hover-theme-l3:hover {color:#000 !important; background-color:#81d0fe !important}
.w3-hover-theme-l2:hover {color:#fff !important; background-color:#42b9fe !important}
.w3-hover-theme-l1:hover {color:#fff !important; background-color:#03a2fe !important}

.w3-hover-theme-d1:hover {color:#fff !important; background-color:#016eae !important}
.w3-hover-theme-d2:hover {color:#fff !important; background-color:#01629a !important}
.w3-hover-theme-d3:hover {color:#fff !important; background-color:#015687 !important}
.w3-hover-theme-d4:hover {color:#fff !important; background-color:#014974 !important}
.w3-hover-theme-d5:hover {color:#fff !important; background-color:#003d60 !important}


.w3-text-l5 {color:#ecf8ff !important}
.w3-text-l4 {color:#c0e8ff !important}
.w3-text-l3 {color:#81d0fe !important}
.w3-text-l2 {color:#42b9fe !important}
.w3-text-l1 {color:#03a2fe !important}
.w3-text-d1 {color:#016eae !important}
.w3-text-d2 {color:#01629a !important}
.w3-text-d3 {color:#015687 !important}
.w3-text-d4 {color:#014974 !important}
.w3-text-d5 {color:#003d60 !important}

.w3-text-theme {color:var(--theme) !important}

.w3-hover-text-theme:hover {color:var(--theme) !important}

.w3-text-alt1 {color:#7c5ff8 !important} /* purple */
.w3-text-alt2 {color:#808285 !important} /* grey */


.white p,
.white h1,
.white h2,
.white h3,
.white h4,
.white h5,
.white h6,
.white ul,
.white li {
	color: white;
}

.blue-heading h1,
.blue-heading h2,
.blue-heading h3 {
    color: var(--theme);
}

.black-heading h1,
.black-heading h2,
.black-heading h3 {
    color: black;
}

.w3-button {
	white-space: normal;
}

.m-b-none {
    margin-bottom: 0;
}


.display-1 { font-size: 70px; line-height: 1.2; }
.display-2 { font-size: 60px; line-height: 1.2; }
.display-3 { font-size: 50px; line-height: 1.2; }
.display-4 { font-size: 40px; line-height: 1.2; }


/*
* =========={ HEADER }==========
*/


.site-header {
    box-shadow: 0 3px 8px 0 rgb(0 0 0 / 15%) !important;
}

/*
.secondary-nav-aligned-right .secondary-navigation .inside-navigation {
    justify-content: space-between;
}
*/

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item a.mega-menu-link:before {
    display: inline-block;
    margin: 0 6px 0 0px;
    vertical-align: middle;
    height: auto;
    width: auto;
    top: auto;
    font-size: 30px;
}


#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
    vertical-align: middle;
    display: flex;
    align-items: center;
}


@media (max-width: 1024px), (min-width: 1025px) {
	.main-navigation.sticky-navigation-transition .site-logo img, .main-navigation.sticky-navigation-transition .navigation-search input[type="search"], .main-navigation.sticky-navigation-transition .navigation-branding img {
		height: 60px;
	}
}

#sticky-navigation #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
    line-height: 60px;
    height: 60px;
}


@media (max-width: 1023px) {
	body #mobile-header .menu-toggle {
		display: none;
	}
}

#mega-menu-wrap-primary .mega-menu-toggle {
    margin-right: 10px;
}

@media only screen and (max-width: 1023px) {
	#mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open + #mega-menu-primary {
		display: block;
		margin-top: 30px;
	}
}


.mobile-header-navigation {
	padding: 10px;
	box-shadow: 0 3px 8px 0 rgb(0 0 0 / 15%) !important;
}

.mobile-header-navigation .site-logo.mobile-header-logo img {
    height: 80px;
    width: auto;
}







.gm-navbar .gm-wrapper {
	/* margin-top: 40px; enable when using topbar*/
}

.gm-navbar-fixed-sticky.gm-navbar-sticky-toggle .gm-wrapper {
	/* margin-top: 0; */
}


/* -- Navigation -- */

.gm-grid-container {
	padding-top: 20px;
	padding-bottom: 20px;
}

.gm-main-menu-wrapper .gm-mega-menu__item__title {
    padding-top: 12px;
    padding-bottom: 12px;
	min-height: 45px;
}

.gm-main-menu-wrapper .mm-item-products .gm-menu-item__link,
.gm-main-menu-wrapper .mm-item-enterprise .gm-menu-item__link {
	justify-content: center;
}

.gm-menu-item__txt-wrapper {
	display: block;
}

.gm-navbar .gm-main-menu-wrapper .gm-menu-item__icon {
	margin-right: 0;
	text-align: center;
	font-size: 30px;
}



/*
* =========={ PAGE CONTENT }==========
*/

.flex-container {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.vc_row-has-fill>.vc_column_container>.vc_column-inner {
    padding-top: 0px;
}








.pillar-cards {
    padding: 40px;
	background-color: white;
}

.pillar-cards h3 {
    margin-top: 25px;
}



.home-product-cards h3 {
	min-height: 50px;
}





.fly-sm {
    backface-visibility: hidden;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.fly-sm:hover {
    transform: translate(0, -3px) !important;
}


.shadow-sm, .shadow, .shadow-lg, .shadow-hover-sm, .shadow-hover, .shadow-hover-lg, .shadow-inverse-sm, .shadow-inverse, .shadow-inverse-lg {
    backface-visibility: hidden;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.shadow-inverse-sm {
    box-shadow: 0 3px 8px 0 rgb(0 0 0 / 15%) !important;
}

.shadow-lg {
    box-shadow: 0 0.25rem 0.5rem rgb(0 0 0 / 5%), 0 1.5rem 2.2rem rgb(0 0 0 / 10%) !important;
}

.shadow-inverse-hover-sm:hover {
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 15%) !important;
}

.shadow-hover-lg:hover {
    box-shadow: 0 0.5rem 1.2rem rgb(0 0 0 / 10%), 0 2rem 3rem rgb(0 0 0 / 15%) !important;
}





.blog-cards img {
	border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}
 
.blog-cards-inner {
	padding: 20px;
}



/* -- Product Blogs -- */

.product-blogs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.product-blog-cards { 
	margin: 15px !important; 
	width: 30%;
}

.product-blog-cards img {
	border-top-left-radius: 16px;    
	border-top-right-radius: 16px;    
}

.product-blog-cards-inner {
	padding: 20px;    
}

.product-blog-cards-inner h3 {
	min-height: 75px;
}

.product-blog-cards-inner p {
	min-height: 101px;    
}


/* -- Tabs -- */

body .cws-tab-link-container, body .cws-tab-body-container {
    padding-left: 0;
    padding-right: 0;
}  
   
.cws-tab-body {
    padding: 40px;
    background-color: #f3f7fb;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.cws-tab-body h2 {
    color: black;
}

.cws-tab-body p {
    font-size: 120%;
}

.cws-tab-link {
    display: block;
    font-size: 19px;
    width: 100%;
    padding: 26px 16px;
    text-align: left;
    /*margin: 5px auto;*/
    background-color: #e3e3e3;
    color: #606062;
    cursor: pointer;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.cws-tab-link:hover {
    background-color: #f3f7fb;    
}

.cws-tab-link i {
    width: 25px;
    height: 20px;
    text-align: center;
}

.cws-tab-link span {
    margin-left: 15px;
}

.cws-tab-active {
    background-color: #f3f7fb;
}



/* -- Sub Section Heading -- */

/* -- Sub Section Heading -- */

/* -- Sub Section Heading -- */

/* -- Sub Section Heading -- */

/* -- Sub Section Heading -- */







/* -- Alt Page Template -- */

body.altpage {
    background: linear-gradient(to top,rgba(248,250,255,0) 0,#f4f6f8 100%);
}

body.altpage .gm-navbar:not(.gm-navbar-sticky-toggle) .gm-inner-bg, .gm-padding {
    background-color: rgba(255, 255, 255, 0);
}

body.altpage .gm-navbar--has-shadow:not(.gm-navbar-sticky-toggle) .gm-inner {
    box-shadow: 0 0 0px rgb(0 0 0 / 0%);
}

body.altpage .container {
    background-color: transparent;
}

body.altpage .site-main {
    padding: 80px;
    padding-top: 80px;
    border-radius: 10px;
    box-shadow: 6px 6px 30px 0 rgb(60 81 99 / 11%);
    background-color: white;
    margin-top: 50px;
    margin-bottom: 50px;
}





/*

body.contact,
body.careers {
    background: linear-gradient(to top,rgba(248,250,255,0) 0,#f4f6f8 100%);
}

body.contact .gm-navbar:not(.gm-navbar-sticky-toggle) .gm-inner-bg, .gm-padding,
body.careers .gm-navbar:not(.gm-navbar-sticky-toggle) .gm-inner-bg, .gm-padding {
    background-color: rgba(255, 255, 255, 0);
}

body.contact .gm-navbar--has-shadow:not(.gm-navbar-sticky-toggle) .gm-inner,
body.careers .gm-navbar--has-shadow:not(.gm-navbar-sticky-toggle) .gm-inner {
    box-shadow: 0 0 0px rgb(0 0 0 / 0%);
}

body.contact .container,
body.careers .container {
    background-color: transparent;
}

body.contact .site-main,
body.careers .site-main {
    padding: 80px;
    padding-top: 80px;
    border-radius: 10px;
    box-shadow: 6px 6px 30px 0 rgb(60 81 99 / 11%);
    background-color: white;
    margin-top: 50px;
    margin-bottom: 50px;
}


*/





/* -- Learn More Link -- */

.learn-more-link {
    font-weight: bold;
    display: inline-block;
    padding: 15px 2px;
    position: relative;
}

.learn-more-link:after {    
  background: none repeat scroll 0 0 transparent;
  bottom: 0;
  content: "";
  display: block;
  height: 2px;
  left: 0%;
  position: absolute;
  background:  var(--theme);
  transition: width 0.3s ease 0s;
  width: 0;
}
.learn-more-link:hover:after { 
  width: 100%; 
  left: 0; 
}

.learn-more-link i {
	margin-left: 10px;
}






/* -- Pillar Page Images -- */

.pillar-page-image {
	padding: 80px;
	margin-bottom: 0;
	background-color: var(--secondary);
}




/* -- Splide Sliders -- */

.splide__arrow--prev {
	left: -2em;
}

.splide__arrow--next {
	right: -2em;
}

#home-hero-slider .splide__pagination {
	bottom: -2em;
	justify-content: left;
}

.splide__pagination__page {
	width: 10px;
	height: 10px;
	background: black;
}

.splide__pagination__page.is-active {
	background: var(--theme);
}




/* -- Section Spacings -- */

.section-m80 {
    margin: 80px;
    margin-bottom: 160px;
}

.section-m80:last-child {
    margin: 80px;
    margin-bottom: 80px;
}

.section-mtb80 {
    margin-top: 80px;
    margin-bottom: 160px;
}

.section-mtb160 {
    margin-top: 160px;
    margin-bottom: 160px;
}

.section-mlr80 {
    margin-left: 80px;
    margin-right: 80px;
}

.section-p80 {
    padding: 80px;
}

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

.section-plr80 {
    padding-left: 80px;
    padding-right: 80px;
}

.w3-col {
	padding-left: 15px;
	padding-right: 15px;
}

.section-triangle {
    clip-path: polygon(50% 100%, 100% 95%, 100% 0, 0 0, 0 95%);
}



@media (max-width: 1023px) {

    .section-m80 {
        margin: 40px 0;
        margin-bottom: 80px;
    }
    
    .section-m80:last-child {
        margin: 40px 0;
        margin-bottom: 80px;
    }
    
    .section-mtb80 {
        margin-top: 80px;
        margin-bottom: 160px;
    }
    
	.section-mtb160 {
		margin-top: 40px;
		margin-bottom: 40px;
	}
	
    .section-mlr80 {
        margin-left: 20px;
        margin-right: 20px;
    }
    
    .section-p80 {
        padding: 20px;
    }
    
    .section-ptb80 {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    
    .section-plr80 {
        padding-left: 20px;
        padding-right: 20px;
    }

} /* max 1024 */ 





/* -- Social Menu -- */
ul.social-menu {
	margin: 0;
	text-align: center;
	padding: 0;
}

ul.social-menu li {
	display: inline-block;
	margin: 0;
}

ul.social-menu li a {
    font-size: 0;
	color: black;
}


ul.social-menu li a i:before {
	font-family: "FontAwesome";
	font-size: 1.6rem;
	display: inline-block;
	speak: none;
	font-style: normal;
	font-weight: 400;
	text-transform: none;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

ul.social-menu li a:hover {
	color: black;
}

/*dup this for each place icons are displayed - if needed*/

.social-bar ul.social-menu li a i  {
	width: 80px;
	height: 80px;
	line-height: 80px;
	vertical-align: baseline;
}

.social-bar ul.social-menu li a i:before {
	font-size: 45px;
}


.footer-after-widgets ul.social-menu li a i  {
	width: 70px;
	height: 70px;
	line-height: 70px;
	vertical-align: baseline;
}

.footer-after-widgets ul.social-menu li a i:before {
	font-size: 30px;
}





/* -- Cookie Consent -- */
#catapult-cookie-bar {
    background-color: rgba(0, 0, 0, 0.9) !important;
	font-size: 12px;
}

#catapult-cookie-bar button {
    padding: 5px 10px;
    border-radius: 4px;
    background-color: transparent;
    border: 1px solid white;
}


/* -- Caldera Forms -- */
.caldera-grid .row {
    margin: 5px 10px 5px 10px;
}

.caldera-grid .caldera-forms-gdpr-field-label { 
	font-weight: normal;
}



/*
* =========={ PRODUCT PAGES }==========
*/

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




/*
* =========={ FOOTER }==========
*/

.footer-widgets {
	background: rgb(243,247,251);
	background: linear-gradient(180deg, rgba(243,247,251,1) 0%, rgba(255,255,255,1) 30%);
}

.footer-after-widgets {
	padding: 40px;
}

.generate-back-to-top,
.generate-back-to-top:visited {
	bottom: 60px;
}

/*
* =========={ RESPONSIVE STYLES }==========
*/

@media (max-width: 1023px) {

	.gm-navbar .gm-toolbar {
		display: none;
	}
	
    #secondary-navigation {
        display: none;
    }
    
    .gm-navbar .gm-wrapper {
    	margin-top: 0;
    }
	
	.splide__arrow--prev {
		left: 0em;
	}

	.splide__arrow--next {
		right: 0em;
	}
	
	
} /* max 1024 */ 


@media (min-width: 1023px) {
	
} /* min 1024 */ 


@media (max-width: 768px) {

	ol, ul {
		margin: 0 0 1.5em 1em;
	}
	
	.product-blog-cards { 
		width: 100%;
	}

	body.contact .site-main, body.careers .site-main {
		padding: 10px;
	}

	body.altpage .site-main {
		padding: 20px;
		padding-top: 40px;
	}
	
    .flex-reverse {
        flex-direction: column-reverse;
    }
	
} /* max 768 */ 



@media (max-width: 575px) {
    .display-1 { font-size: 40px; line-height: 1.2; }
    .display-2 { font-size: 40px; line-height: 1.2; }
    .display-3 { font-size: 30px; line-height: 1.2; }
    .display-4 { font-size: 30px; line-height: 1.2; }   
} /* max 575 */ 




/* - Responsive Shortcodes - */
@media (max-width: 575px) {
    .desktop-only { display: none; }
} /* max 575 */ 


@media screen and (min-width: 575px) {
	.mobile-only { display: none; }
} /* min 575 */


/*
* === DOCUMENT END ===
* === THANKS FOR READING ===
* === {CWS} ===
*/