/* Import Roboto font */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap');


@font-face {
    font-family: 'itc_lubalin_graph_stdbold';
    src: url('/lubalingraphstd-bold-webfont.woff2') format('woff2'),
         url('/lubalingraphstd-bold-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}


section h1.lubalin-bold,
section h2.lubalin-bold,
section h3.lubalin-bold,
.lubalin-bold
{font-family: 'itc_lubalin_graph_stdbold', serif!important;}


/* Display Roboto font */
header,
section,
section h1,
section h2,
section h3,
section p,
section a,
section ul,
section .large-orange,
section .small-orange,
section .large-light-teal,	
section .small-light-teal,
footer
{font-family: 'Roboto', sans-serif!important;}

section	{text-wrap: pretty;} 

/* Button font bold */ 				 
section .large-orange,
section .small-orange,
section .large-light-teal,	
section .small-light-teal 
{font-weight: 700!important;}





.quotation-mark {
    position: absolute;
    top: 24px;
    left: -62px;
    font-size: 200px;
    z-index: -1;
}



html {scroll-padding-top: 65px;} 	
	

body {
	padding-left: 0!important;
	padding-right: 0!important;
	margin-left: 0!important;
	margin-right: 0!important;
	width: 100%!important;
	overflow-x: hidden;
}		
	
	
.row {
    margin-left: 0px!important;
    margin-right: 0px!important;
}	
	
.cookie-message, 
.mobile-canvas,
.navigation-bar-extended,
.header,
.header-utility,
.footer-dividing-line
	{display: none!important}	

.main-content {width: 100vw!important}

.container {padding: 0!important}	

#monetate_selectorHTML_f92ed8b4_0 {display: none!important}	

.pageType-ContentPage .main-content .col-xs-4 .content ul, .pageType-ContentPage .main-content .col-xs-4 .content ol, .pageType-ContentPage .main-content .col-xs-5 .content ul, .pageType-ContentPage .main-content .col-xs-5 .content ol {
	padding-left: 0!important;
	padding-right: 0!important;}
	
.col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1 {
	padding-left: 0!important;
	padding-right: 0!important;
}
	
	
/* 
==================================================
- h , p
==================================================
*/
/* Just for the example */


section p {
	font-size: 20px;
	line-height: 30px;
	text-wrap: pretty;
}


.intro-text {
	font-size: 34px;
	line-height: 1.4;
	max-width: 1353px;
	padding: 0 20px;
	text-wrap: pretty;
}

.section-text {
	font-size: 24px;
	line-height: 1.4;
	text-wrap: pretty;
}

.text-balance {text-wrap: balance;}


/* 
==================================================
- Header 
==================================================
*/
header {
	position: fixed;
	top: 0px;
	padding: 14px 0;
	width: 100%;
	height: 130px;
	color: #fff;
	background-color: transparent;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
	z-index: 1000;
}

header.stick {
	height: 66px;
	text-align: left;
	padding: 0 !Important;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
	background: #fff;
}
	
header.stick a {
	color: #006272!important;
	font-size: 14px!important;
}	

.wrap-container {
	padding: 0 70px;
	margin: 0 auto;
}


.branding {
	width: 25%;
	float: left;
	text-align: left;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.branding.stick {
	height: 70px;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.logo-lg {
	max-width: 138px;
	height: 100%;
}

.logo-sm {
	max-width: 150px;
	height: 100%;
	display: none;
}

.menu {
	width: 75%;
	float: left;
	text-align: right;
}

.listMenu {
	display: none;
}
	



/* 
==================================================
- The Mobile Menu
==================================================
*/

/* The Menu Button */
.hamburgerMenu {
	position: absolute;
	top:16px;
	left: 20px;
	width: 30px;
	height: 34px;
	z-index: 1000;
	border-radius: 40px;
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
}




.hamburgerMenu:hover span {
	background: #fff;
}

.hamburgerMenu:hover span:before {
	background: #fff;
}

.hamburgerMenu:hover span:after {
	background: #fff;
}

.hamburgerMenu span {
	margin-top: 50%;
}

.hamburgerMenu span, .hamburgerMenu span:before, .hamburgerMenu span:after {
	cursor: pointer;
	height: 3px;
	width: 30px;
	background: white;
	position: absolute;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	display: block;
	content: '';
}

	
.stick .hamburgerMenu span, .stick .hamburgerMenu span:before, .stick .hamburgerMenu span:after {
	background: #006272;
}	
	
	
.hamburgerMenu span:before {
	top: -10px;
}

.hamburgerMenu span:after {
	bottom: -10px;
}



/* The Menu */
.mobileMenu {
	width: 240px;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background-color: #fff;
	z-index: 1200;
	text-align: center;
	padding-top: 50px;
	transition: all .3s ease-in-out;
}

.slideOut {
	margin-left: -240px;
	transition: all .3s ease-in-out;
}

.slideIn {
	margin-right: 0px;
}

.mobileMenu h2 {
	font-family: sans-serif;
	color: #333333;
	font-size: 36px;
	padding-right: 30px;
	margin-bottom: 30px;
}

.mobileMenu ul {
	list-style: none;
}

.mobileMenu li {
	padding: 0 30px;
}

.mobileMenu li a {
	color: #006272;
	line-height: inherit;
	padding: 0;
	font-weight: 400;
	padding: 12px 0;
	font-size: 15px;
	text-decoration: none;
	font-family: sans-serif;
	display: block;
    /* CSS Transition */
	-webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-ms-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.mobileMenu li a:hover {
	font-weight: 700;
	text-decoration: none;
}

.overlay {
	background: rgba(0,0,0,0.7);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	opacity: 0;
	position: fixed;
	transition: all .3s ease-in-out;
	z-index: 1150;
}




/* 
==================================================
- Media Query Mobile First Aproach
==================================================
*/
@media (min-width:769px) {

	.overlay {
		display: none !important;
	}

	.mobileMenu {
		display: none;
	}

	.hamburgerMenu {
		display: none;
	}

	.listMenu {
		display: inherit;
	}

	.listMenu li {
		display: inline;
		padding: 0 20px 0 0;
	}

	.listMenu li a {
		color: #fff;
		line-height: inherit;
		padding: 0;
		font-weight: 400;
		font-size: 16px;
		text-decoration: none;
		font-family: 'Roboto', sans-serif;
		display: inline-block;
        /* CSS Transition */
		-webkit-transition: all .2s ease-in-out;
		-moz-transition: all .2s ease-in-out;
		-ms-transition: all .2s ease-in-out;
		-o-transition: all .2s ease-in-out;
		transition: all .2s ease-in-out;
	}

	.listMenu li a:hover {
		font-weight: 700;
	}
	
	
	.listMenu li a::before {
		display: block;
		content: attr(title);
		font-weight: bold;
		height: 0;
		overflow: hidden;
		visibility: hidden;
	}	
	

	.mobileButton {
		display: none;
	}
}
	
	
	
	
@media (max-width:1024px) {	
	.wrap-container {
		padding: 0 14px!important;
		margin: 0 auto;
	}
}

	
.main-menu-links {text-transform: uppercase}	

	
	
.text-center {
	text-align: center;
}

	
.make-relative {position: relative}	
	
	
.intro-content-container {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 300px 40px 195px 40px;
    position: relative;
    
    /* We use the brand color as the base, then layer the lighting on top */
    background-color: #006272; 
    
    /* This creates a glow of the brand color in the center, 
       fading into a much darker version of it at the edges */
    background: radial-gradient(
        ellipse at center 45%, /* Moves the "light source" slightly up to account for the long bottom padding */ 
        #006272 0%,      /* Brand color in the middle */
        #005866 60%,     /* Darker teal transition */
        #003d46 100%     /* Deep 'near-black' teal for the corners */
    );
    
    overflow: hidden;	
}

/* Optional: Subtle top/bottom shadow to match the mockup's depth */
.intro-content-container::after {
    content: "";
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(
        to bottom, 
        rgba(0,0,0,0.2) 0%, 
        transparent 15%, 
        transparent 85%, 
        rgba(0,0,0,0.2) 100%
    );
    pointer-events: none;
}

.intro-content-container img,
.intro-content-container p {z-index: 1;}


	
.section-content {	
	max-width:1440px;
	padding: 0 10px;
	text-align: left;
}		
	
	
	
	
	
/* 
==================================================
- Three dot drop-down
==================================================
*/	



.three-dots:after {
	cursor: pointer;
	content: '\22EE';
	font-size: 30px;
	padding: 20px 5px;
}

	
header.stick .three-dots:after {
	color: #006272;
	font-size: 25px;
}	
	
	
header.stick .dropdown-container a {
	color: #666!important;
}		
	
	
.dropdown a {
	text-decoration: none;
	color: #666;
	font-size: 18px;
}
	
.dropdown a:hover {
	font-weight: 700;
}	

.dropdown a div {
	padding: 10px;
	min-width: 200px;
	text-align: left;
}
	
.right-arrow {
	fill:#666;
}	

.dropdown {
	position: absolute;
	top: 60px;
	right: 0;
	background-color: white;
	outline: none;
	opacity: 0;
	max-height: 0;
	transition: opacity 0.1s, z-index 0.1s, max-height 5s;
}
	
.stick .dropdown {
	top: 66px!important;
}	

	
.dropdown-container {
	outline: none;
	display: inline-block!important;
}	
	
.dropdown-container:focus {
	outline: none;
}

.dropdown-container:focus .dropdown {
	opacity: 1;
	z-index: 100;
	max-height: 100vh;
	transition: opacity 0.2s, z-index 0.2s, max-height 0.2s;
}	
	
	
.drop-down-divider {
	margin: 0;
}	
	
	
.mobile-hr {
	margin: 0 0 30px 0;
	border: 1px solid #006272; 
}	



@media screen and (max-width: 768px) {

	.branding {
		width: 100%;
		text-align: center;
	}				
	
	
}  			
	

	
@media screen and (max-width: 600px) {
		
	.intro-content-container {
		padding: 140px 30px 50px;
	}
	
	.intro-text {
		font-size: 16px; 
		line-height: 22px!important;
	}		

	.intro-spacer {height: 40px!important}
	
	.theme-line-logo {width: 90%}
}  				
	
	
	
@media screen and (max-width: 320px) {
	.intro-text {font-size: 13px;}		
}  		





/* 
==================================================
- The Mobile Flyout Menu
==================================================
*/


.flyoutClose {
	position: absolute;
	left: 16px;
	top: 12px;
	width: 40px;
	height: 40px;
}
	
.flyoutClose:hover {
	opacity: 1;
	cursor: pointer;
}
	
.flyoutClose:before, .flyoutClose:after {
	position: absolute;
	left: 15px;
	content: ' ';
	height: 40px;
	width: 2px;
	background-color: #006272;
}
	
.flyoutClose:before {
	transform: rotate(45deg);
}
	
.flyoutClose:after {
	transform: rotate(-45deg);
}	





/* 
==================================================
- Video
==================================================
*/


	.video-wrapper {
		position: relative; /* Needed for absolute positioning of poster */
		display: flex;
		justify-content: center;
		width: 100%;
		height: auto;
		overflow: hidden;
	}

	/* Ensure poster and iframe share the same shape */
	.video-poster, 
	.video-frame,
	#video-target {
		width: 100%;
		max-width: 1920px;
		aspect-ratio: 16/9;
	}

	.video-poster {
		position: absolute;
		top: 0;
		z-index: 10;
		cursor: pointer;
	}

	.poster-img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	/* Positioning your custom play button */
	.play-button-overlay {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		/* Add transition for hover effect */
		transition: transform 0.2s ease;	
	}

	.video-poster:hover .play-button-overlay {
		transform: translate(-50%, -50%) scale(1.1);
	}







/* 
==================================================
- Phil Gas
==================================================
*/

	.phil-content {
		width: 100%;
		max-width: 1670px;
		padding: 0 20px;
	}

	.phil-image-box {
		width: 100%;
		max-width: 800px;
	}

	.phil-text-box {
		width: 598px;
		display: flex;
		align-items: center;
	}	








/* 
==================================================
- Resorces
==================================================
*/

	.full-bleed-container {
		width: 100%;
		/* This creates the infinite background colors to the left and right */
		background: linear-gradient(to right, 
			#AFE400 50%, /* Lime Green fills the left half of the screen */
			#fe8100 50%  /* Orange fills the right half of the screen */
		);
	}

	.content-inner-wrapper {
		display: grid;
		grid-template-columns: repeat(3, 1fr); /* Three equal 640px columns */
		max-width: 1920px;
		margin: 0 auto;
	}

	/* Individual Block Colors */
	.industry-block { background-color: #AFE400; }
	.solutions-block { background-color: #4ec3e0; }
	.shop-block { background-color: #fe8100; }

	/* Content Styling */
	.industry-block, .solutions-block, .shop-block {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		padding: 130px 100px 100px 120px;
	}






	.hover-black:hover {color:#000000!important}	
	.hover-green:hover {color:#afe400!important}	
	.hover-blue:hover {color:#4ec3e0!important}	
	.hover-orange:hover {color:#fe8100!important}	
	.hover-teal:hover {color:#006272!important; box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.4)!important;}	
	.hover-yellow:hover {color:#f1b434!important}	
	
	
	.section-headlines {
		font-family: 'itc_lubalin_graph_stdbold','Roboto Slab', serif!important;
		font-size:40px;
	}	
	
	.section-text-container {
		z-index: 2;
		padding: 10px 0 30px 0;
	}		
	
	
	.theme-line-button {
        color: white!important;
		background: #006272;
        padding: 18px 40px!important;
		border-radius: 6px;
        cursor: pointer;  
		font-size: 20px;
		z-index: 99;
	}

	.theme-line-button-wht {
		margin-top: auto;
        color: #006272!important;
		background: white;
        padding: 18px 40px!important;
		border-radius: 6px;
        cursor: pointer;  
		font-size: 20px;
		z-index: 99;
	}	
	
	
	.theme-line-button:hover,
	.theme-line-button-wht:hover {
		  box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.15);
	}	
	

	
	
	.careers:hover {
		background: #006272!important;
	}			
	
	
	
	.center-the-content-div {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
		
	
	
	.revealUp {
	  opacity: 0;
	  visibility: hidden;
	}


	
	
	
	
@media (max-width: 1600px) {
    .industry-block, .solutions-block, .shop-block {padding: 60px;}
}


@media (max-width: 1500px) {
	#phil-top-spacer {height: 100px;}
	#phil-bottom-spacer {display: none;}
    .phil-image-box, .phil-text-box {width: 45%;}
}

@media (max-width: 1200px) {
	.hide-1024 {display: none;}
    .full-bleed-container {
        /* Switch to a single column that takes the full width */
        grid-template-columns: 100%;
    }

    /* Make every block span the full width of the screen */
    .industry-block,
    .solutions-block,
    .shop-block {
        grid-column: 1 / -1;
        text-align: left; /* Usually looks better for stacked cards */
    }
    
    /* Ensure the buttons/content stay centered */
    .industry-block, .shop-block {
        justify-content: center;
    }
}

	
@media (max-width: 1100px) {
	#phil-top-spacer {display: none;}
	.phil-content {padding: 60px 60px 0;}
	.phil-text-box {order: -1;}
	.phil-image-box, .phil-text-box {width: 100%;}
	.phil-image-box {
		max-width: 100%;
		text-align: right;
		margin: -100px 0 0 0;
	}
	.phil-image-box picture img {max-width: 500px;}

}	
	
@media screen and (max-width: 768px) {
	.phil-image-box picture img {width: 70%;}
	.section-text-container {
		width: 100%!important;
	}

	.theme-line-button {
        padding: 16px 30px!important;
		border-radius: 6px;
		margin-bottom: 0!important;
		font-size: 16px;
	}			
}  		

@media (max-width: 600px) {
	.change-20-600 {height: 20px!important;}
	.phil-image-box {margin: -40px 0 0 0;}	
	.phil-text-box h2,
	.full-bleed-container h2 {
        font-size: 20px;
    }
    .phil-text-box p,
	.full-bleed-container p {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
	.intro-text {padding: 0;}
	.phil-content {padding: 40px 30px 0;}
	.phil-image-box {margin: -10px 0 0 0;}
	.industry-block, .solutions-block, .shop-block {padding: 40px 30px;}
}

