/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/


@media all and (min-width: 768px) {

}
@media all and (min-width: 981px) {

}

@media all and (min-width: 1145px) {

}

/* =Theme customization starts here
------------------------------------------------------- */
/** HOME PAGE **/


body {

}

.et_pb_text_inner a {
	text-decoration: underline;
}

@media all and (max-width: 980px) {
	h1 {
		font-size: calc(1.5rem + 1.5vw)!important;
	}
	h2:not([.no-calc]) {
		font-size: calc(1.075rem + 1.0vw)!important;
	}
}

.et_pb_text {
	word-wrap:normal;
}

@media all and (min-width: 1426px) {
	.et_pb_row_fullwidth .et_pb_column_1,.et_pb_row_fullwidth .et_pb_column_8 {
		/*right: -10%;
		width:50% !important;
		/*top:0;
		position: absolute;
		height:100%;*/
		/*right: calc((100vw - 1426px) / 2 * -1);*/
	    /*position: absolute;*/
	   /* width: 50%!important;
	    top: 0;
	    height: 100%;*/
	}

	.et_pb_row_fullwidth .et_pb_column_9 {
	/*	left: -10%;
		width:50% !important;
		/*top:0;
		position: absolute;
		height:100%;*/
	}
	.et_pb_row_fullwidth .et_pb_column_10 {
		/*left:40%;*/
	}
}
.et_header_style_left header .logo_container {
 /*position: relative!important;*/
 width:60% !important;
}
@media all and (min-width: 981px) {
 .et_header_style_left header .logo_container {
	/*position: relative!important;*/
	width:33% !important;
}
}


#logo {
	/*width:90%;*/
}

@media (max-width: 980px) {
    .et_header_style_left #logo {
        max-width: 75%;
    }
}


header .et_menu_container {
	display:flex;
	align-items: center;

}

header #et-top-navigation {

	margin-left:auto;
}




:root {
  --blue: #15479D;
	--dark-blue: #003462;
  --orange: #f85d14;
  --angle: -75deg;

  /* stripe tuning */
  --stripe-outset: 20px; /* how far stripes extend into the orange */
  --s1: 8px;  /* stripe thickness (blue) */
  --s2: 8px;  /* stripe thickness (orange) */
  --sp: 8px;  /* space between stripes */
}


#main-header {
	/*background-color:#003462;*/
	background: linear-gradient(
    -70deg,
    #ff6600 0%,       /* Orange start */
    #ff6600 65%,      /* Keep orange until stripe */
    #002b5c 65%,      /* Narrow blue stripe start */
    #002b5c 66%,
    #ff6600 66%,      /* Narrow orange stripe */
    #ff6600 67%,
    #002b5c 67%,      /* Switch to final blue */
    #002b5c 100%
  );
	background: linear-gradient(to left,
  var(--orange) 12%,
  var(--blue) 68%,

	var(--dark-blue) 100%
);
}

/* Main header is all orange */
#block-main-header {
  background-color: var(--orange);
  position: relative;
}

/* Logo container gets blue background */
#block-main-header .logo_container {
  /*position: relative;*/
  background-color: var(--blue);
  padding-right: 100px; /* space for stripe overlap */
}

/* Diagonal stripes attached to logo's right edge */
#block-main-header .logo_container::after {
  content: "";
  position: absolute;
  top: 0;
  right: -5%;
  height: 100%;
  width: calc(var(--stripe-outset) + 2 * var(--s1) + var(--sp) + var(--s2));
	width:100px;
  pointer-events: none;

	background: linear-gradient(
    -75deg,              /* diagonal angle */
    var(--orange) 0%,          /* blue start */
    var(--orange) 40%,         /* blue area before first stripe */
    var(--orange) 40%,         /* orange stripe start */
    var(--orange) 50%,         /* orange stripe end */
    var(--blue) 50%,         /* blue area between stripes */
    var(--blue) 70%,         /* blue area before second stripe */
    var(--orange) 70%,         /* second orange stripe start */
    var(--orange) 80%,         /* second orange stripe end */
    var(--blue) 80%          /* rest stays blue */
  );
}

#block-main-header .logo_container::before {
	content: "";
 position: absolute;
 top: 0;
 bottom: 0;
 right: 100%;                  /* start just left of the band */
 width: 100vw;                 /* reach all the way to the left edge */
 background: var(--blue);          /* same blue */
 z-index: -1;


}

/* Optional: Make sure nav sits flush after logo */
#block-main-header #et-top-navigation {
  background-color: transparent; /* let main orange show */
}




#et-main-area {
	margin-top:8px;
}


#top-menu li {
	padding-right:5rem;
}
@media all and (min-width: 981px) {
	.et_header_style_left #et-top-navigation {
		padding:24px 0 0 0!important;
	}
	.et_header_style_left #et-top-navigation nav>ul>li>a, .et_header_style_split #et-top-navigation nav>ul>li>a {
		padding-bottom:39px!important;
	}
}
#et-top-navigation span.mobile_menu_bar:before, #et-top-navigation span.mobile_menu_bar:after {
	color:#FFF!important;
	}

#et-top-navigation #top-menu-nav li:last-child a, footer .custom-footer div:last-child a {
	color:#fff!important;
	/*background:#F9A01B;*/
	background:#003462;
	border-radius: 5px;
	padding:1rem 2rem!important;

}
#et-top-navigation #top-menu-nav li:last-child a {
	background:#003462;
}

#et-top-navigation #et_mobile_nav_menu .et_mobile_menu li a {
	color:#003462;

}
#et-top-navigation #et_mobile_nav_menu .et_mobile_menu {

	background:#fff;
	border-top: 3px solid #f85d14;
	margin-top:24px;
}




@media all and (max-width: 980px) {
	#top-menu {
		display:block;
	}
	#top-menu li {
		display: none;
	}
	#top-menu li:last-child {
		display: block;
	}
	.et_header_style_left #main-header  #et-top-navigation {
		display: flex;
		align-items:center;
	}
	#top-menu-nav {
		padding-right:10px;
	}
}

.et_header_style_left #main-header  #et-top-navigation {
	padding-bottom:24px;
}

.et_header_style_left #et-top-navigation .mobile_menu_bar {
	padding-bottom:0;
}

/* SUPPLY CHAIN */

.et_pb_text_18 ul {
	column-count: 2;
}

/* New to Rail */
/*
@media all and (min-width: 981px) {
	.et_pb_column_12:after {
		content: '';
    	display: block;
	    height: 70%;
	    width: 2px;
	    position: absolute;
	    background-color: #003462;
	    top: 0;
	    right: 0;
	}

	.et_pb_column.et_pb_column_14 {
		min-height: 380px;
	}
}*/

/* CONTACT */
.et_contact_bottom_container {
	clear:both;
	float:none;

	justify-content: flex-start;
	grid-column: 1 / -1;
}

.et_contact_bottom_container button,
.et_contact_bottom_container input {
	margin-left:0%;
}

@media all and (max-width: 980px) {
	.et_contact_bottom_container button,
	.et_contact_bottom_container input {
	 margin-left:3%;
	}
}

.et_pb_contact_form_label {
	color:#003462;
	font-size: 18px;
}

.et_pb_contact_field input#et_pb_contact_phone_0::placeholder,
.et_pb_contact_field input#phone::placeholder,
#salesForceForm div input::placeholder {
	/**color:#E6E6E6!important;**/
}
/* CONTACT FORM GRID LAYOUT */
@media all and (min-width: 981px) {

	.et_pb_contact_form, #salesForceForm .form-container {
		display: grid;
	  	gap: 20px;
	  	grid-row-gap: 10px;
	  	grid-column-gap: 20px;
	  	grid-template-columns: repeat(auto-fill, minmax(200px, 234px));
	  	/** 3 COLS - grid-template-columns: auto auto 1fr; **/

		grid-template-columns: auto auto;
	  	grid-auto-flow: dense;
	  	margin-left:0;
	}
	.et_pb_contact_form p, #salesForceForm .form-container div {
		display: flex;
	  	flex-direction: column;
	  	padding-left:0;
	}
	.et_pb_contact_form .et_pb_contact_field_0 {

	}
	.et_pb_contact_form .et_pb_contact_field_1 {

	}
	.et_pb_contact_form .et_pb_contact_field_2, #salesForceForm .form-container div:nth-child(3) {
		/* grid-column-end: span 2;*/
	}
	.et_pb_contact_form .et_pb_contact_field_3,#salesForceForm .form-container div:nth-child(4)  {
		/*margin-left:auto;*/
	}
	.et_pb_contact_form .et_pb_contact_field_4, #salesForceForm .form-container div:nth-child(5)  {
		/*margin-left:auto;*/
	}
}

/* ESG DOWNLOAD BLOCK */

.download-report-block {
	background:#fff;
	padding:20px;

	margin:0 auto;
}

@media all and (max-width: 767px) {
	.download-report-block {
		width: 100vw;
    	position: relative;
    	left: 50%;
    	right: 50%;
    	margin-left: -50vw;
    	margin-right: -50vw;
    	padding-left:0;
    	padding-right:0;
    	padding-bottom:0;
    	padding-top:40px;


	}
	.download-report-block > * {
		padding-left:10%;
		padding-right:10%;
	}
}
@media all and (min-width: 768px) {
	.download-report-block {
		max-width:400px;
		}
	}
.download-report-block p {
	padding-bottom:.75rem;
}
.download-report-block a {
	text-decoration: underline;
}
.download-report-block .et-pb-icon {
	color:#0058F0;
	font-size: 16px;
	font-weight: bold;
	padding-left:.5rem;
}

footer .et_pb_section_0_tb_footer {
	background:#E6E6E6;
	padding:0;
}
footer .et_pb_section_0_tb_footer .et_pb_row {
	padding-top:0;
}

footer .custom-footer {
	color:#003462;
	font-weight: bold;

	align-items:center;
	padding:1rem 0;
	flex-wrap: wrap;
}
footer .custom-footer .footer-quote,footer .custom-footer.top .footer-quote  {
		display:none;
}

.custom-footer-wrapper {
	display:flex;
}
.custom-footer.bottom {
	padding-top:2.5rem!important;
}
.footer-quote-2 {
	width:unset!important;
}

@media all and (min-width: 768px) {
	footer .custom-footer {
		display: flex;
	}
	footer .custom-footer.top .footer-quote {
		display:block;
	}
	footer .custom-footer.bottom .footer-quote-2 {
		display:none;
	}
}
footer .custom-footer div {
	padding-right:4rem;
	padding-top:1.5rem;
	padding-bottom:1.5rem;

}
footer .custom-footer div:first-child {
	line-height: 0;
	flex:1;
}
footer .custom-footer a {
	color:#FFF;
	text-decoration: none;
}






/*adjust Divi Menu module breakpoint*/
@media only screen and (max-width: 1550px) {
	/*#top-menu-nav {
		display: none;
	}
	#et_mobile_nav_menu {
		display: block;
	}
	*/

}









@media only screen and (max-width: 1426px) {
	.custom-width-section .et_pb_row {
		width:100%;
	}
	.custom-width-section .et_pb_row > div:first-child {
		padding-left:10%;
	}
	.custom-width-section.left .et_pb_row > div:nth-child(2) {
		padding-right:10%;
	}
}

@media only screen and (max-width: 850px) {
	footer .et_pb_section_0_tb_footer .et_pb_text_inner div:first-child {
		/*width:100%;*/
	}
	footer .et_pb_section_0_tb_footer .et_pb_text_inner div:not(:first-child) {
		padding-top:0;
	}
	}


/* STAT BLOCK */

.stat_block {

	margin-top:1.5rem;
	color:#FFF;
	font-size:18px;
	font-weight:bold;

	align-items: center;
	flex-wrap:wrap;


}
.stat_block.blue{
	color:#003462;
}
.stat_block .stat {
	font-size: 40px;
}
.stat_block p {
	padding-bottom:.33rem;
	line-height: 1em;
}
.stat_block .divider {
	height:3px;
	width:100%;
	background-color:#fff;
	margin:5% 0;

}
.stat_block .divider.blue {
	background-color:#003463;
}
.stat_block .divider.orange {
	background-color:#F9A01B;
}

.stat_block .col-1 {
	flex:1;
	align-self:start;
}

.stat_block .col-1.end ,.stat_block .divider.end {
	align-self:end;
}

@media all and (min-width: 768px) {
	.stat_block {
		display:flex;
		text-align:center;
	}
	.stat_block .divider {
		width:3px;
		height:100px;
		margin:0 5%;
	}
	.stat_block .stat {
		font-size: 60px;
	}
	.stat_block .divider.tall {
		height:172px;
	}
}


/* BLURB */
.et_pb_blurb_content .et_pb_main_blurb_image {
	/**display: none;**/
}
.et_pb_blurb_content .et_pb_blurb_container {
	/**padding-left:0;**/
}
@media all and (min-width: 768px) {
	.et_pb_blurb_content .et_pb_main_blurb_image {
		display: table-cell;
}
	#why .et_pb_blurb_content .et_pb_blurb_container {
		padding-left:35px;
}
	}
@media (min-width: 981px) {
.media-contact.et_pb_gutters2.et_pb_row .et_pb_column.et_pb_column_8 {
	margin-right:0 !important;
}
/* Target the row */
.media-contact {
  display: flex;
}

/* First two columns: keep gutter */
.media-contact .et_pb_column:nth-child(1),
.media-contact .et_pb_column:nth-child(2) {
  margin-right: 30px; /* adjust gutter size */
  flex: 0 0 auto;     /* keep natural width */
}

/* Last column: no gutter, expand */
.media-contact .et_pb_column:nth-child(3) {
  margin-right: 0;
  flex: 1;            /* take up remaining space */
}
}

.media-contact .et_pb_image .et_pb_image_wrap {
	display: block;
}

.media-contact .et_pb_image .et_pb_image_wrap img {
	width:100%;
}

.et_pb_accordion .et_pb_toggle {
	margin-bottom:0!important;
}


.et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title:after {
/*    font-size: 36px;
    right: -10px;
    color: #000000;
    font-family: ETmodules !important;
    font-weight: 400 !important;
    content: "\4b" !important;
		position:absolute;
		top:50%;
		margin-top: -.5em;
		left: auto;

		opacity: 1; */
}



.et_pb_column_8.et_pb_column_empty,
.et_pb_column_13.et_pb_column_empty,
.et_pb_column_18.et_pb_column_empty,
.et_pb_column_19.et_pb_column_empty,
.et_pb_column_25.et_pb_column_empty {
	display:block;
	min-height: 200px;
}


/* MILEAGE STATS */
@media all and (max-width: 980px) {
	.et_pb_section_1 .et_pb_column_3 {

  		/**display: flex;
  		align-items:center;

  		justify-content:center;**/
	}
	/*.et_pb_section_1 .et_pb_column_3 > div {
		width: calc(50% - 10px);
  		flex: 1;
	}*/
	.et_pb_section_1 .et_pb_column_3 > div:last-child {
		 margin-left:30px;
	}
}
/* TWITTER OVERRIDE TO X */
.et_pb_social_media_follow .et-social-twitter a.icon:before {
	color:transparent;
	display: block;
	/*width:27px;
	height:27px;*/
	background-image: url('images/x-logo-white.svg');
	background-size:27px 27px;
	background-position: center;
	transition: opacity .3s;
	background-repeat: no-repeat;
}

.et_pb_social_media_follow .et-social-twitter a.icon:hover:before {
	opacity: .7;
	color:transparent;
}


/* SALES FORCE FORM */

#salesForceForm {

}
#salesForceForm {

}
#salesForceForm {

}
#salesForceForm {

}
#salesForceForm div input {
	font-weight: 600;
	font-size: 18px;
	color: #003462;

	-webkit-appearance: none;
    background-color: #fff;
    width: 100%;
    border-width: 0;
    border-radius: 0;


    padding: 16px;
    position: relative;

    font-weight: 600;
    font-size: 18px;
}
#salesForceForm .required {
	color:#ff0038;
	padding-left:2px;
}
#salesForceForm label {
	color: #003462;
    font-size: 18px;
    font-weight: 600;
    margin-bottom:.5em;
}


#salesForceForm .button-container {
	clear: both;
    float: none;
    display:flex;
    justify-content: flex-start;
    margin-top:1em;
}
#salesForceForm .button-container input,#salesForceForm .button-container button{
	color: #ffffff;
    border-width: 0px!important;
    font-size: 22px;
    font-weight: 600;
    background-color: #003462;
    padding-top: 9px;
    padding-right: 75px;
    padding-bottom: 9px;
    padding-left: 75px;
    cursor:pointer;
    font-family: inherit;
    display: inline-block;

    cursor: pointer;
    border: 2px solid;
    border-radius: 3px;
    position: relative;
    line-height: 1.7em;
    -webkit-transition-duration: .2s;
    transition-duration: .2s;
    -webkit-transition-property: all!important;
    transition-property: all!important;
}

#salesForceForm .button-container input:hover:after,#salesForceForm .button-container button:hover:after {
	opacity:1;
	margin-left:0;
}
#salesForceForm .button-container input:after,#salesForceForm .button-container button:after {
	 font-family: ETmodules!important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 0 0;
    direction: ltr;
    font-size: 32px;
    line-height: 1em;
    content: "\35";
    opacity: 0;
    position: absolute;
    margin-left: -1em;
    -webkit-transition: all .2s;
    transition: all .2s;
    text-transform: none;
    -webkit-font-feature-settings: "kern" off;
    font-feature-settings: "kern" off;
    font-variant: none;
    font-style: normal;
    font-weight: 400;
    text-shadow: none;
    font-size: 1.6em;
}

/*** CUSTOM LAYOUT ***/
#why .et_pb_column_4_4 {
	display: flex;
	flex-wrap: wrap;
}
@media all and (min-width: 768px) {
	#why .et_pb_column_4_4 > div {
		width:50%;
		padding-right:5%;
	}
}
#why .et_pb_column_4_4 > div:first-child {
	/*width:100%;*/
}

/*** Responsive Styles Desktop Only ***/
@media all and (min-width: 981px) {
	.d-lg-none {
		display: none!important;
	}
	.d-lg-block {
		display: block!important;
	}
}

@media all and (min-width: 768px) {
	.d-md-none {
		display: none!important;
	}
	.d-md-block {
		display: block!important;
	}
}

@media all and (min-width: 480px) {
	.d-sm-none {
		display: none!important;
	}
	.d-sm-block {
		display: block!important;
	}
}

/** TWO COL LIST **/

.two-col-list li {
}
@media all and (min-width: 768px) {
	.two-col-list {
    column-count: 2; /* Create two columns */
    column-gap: 20px; /* Space between columns */
    padding-left: 0; /* Remove default padding for ordered list */
    list-style-position: outside; /* Keep list-style outside */
  }

  .two-col-list li {
    text-align: left;
    padding-left: 1.5em; /* Space between number and text */
    text-indent: -1.5em; /* Indent first line to align with number */
		break-inside: avoid;
    list-style-position: inside; /* Keep numbers outside of the padding */
  }
}



/** NEWS GRID **/
/* create css grid column template */
.et-blog-css-grid > div {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
  gap: 40px;
}
@media all and (min-width: 981px) {
	.et-blog-css-grid > div {
		  grid-template-columns: repeat(auto-fill, minmax(45%, 1fr));
	}
	.et-blog-css-grid.three-cols > div {
		  grid-template-columns: repeat(auto-fill, minmax(28.333333%, 1fr));
	}
}
/* style css grid item or blog post */
.et-blog-css-grid .et_pb_post {
  align-self: start;

}

.et-blog-css-grid .et_pb_post {
	margin-bottom:30px;
}

/* remove pagination from blog module grid with absolute position */
/*.et-blog-css-grid > div > div {
  width: 100%;
  position: absolute;
  bottom: 0;
  transform: translate(0%, 150%);
}*/

/* Resize Featured Image Thumbnails */
.et-blog-css-grid .entry-featured-image-url {
  padding-top: 56.25%;
}
.et-blog-css-grid .entry-featured-image-url img {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  object-fit: cover;
}

.single-post .entry-title {
	font-size: 24px;
	margin-top:2rem;
	font-weight:bold;
}

.single-post h2 {
	font-weight: 600;
	font-size: 36px;
	color: #003462 !important;
	margin-bottom:3rem;
}

.single-post .et_pb_button {
	color: #000000 !important;
border-width: 2px !important;
font-size: 22px;
font-weight: 600 !important;
background-color: #FFFFFF;
padding: .3em 1em;
padding-left: 35px;
padding-right:35px;
display: inline-block;


transition: all 300ms ease 0ms;
}

.single-post .et_pb_button:hover {
	border-color: #000000 !important;
	background-color:#fff;
	border-radius: 3px!important;
	padding: .3em 1em;
	padding-left: 35px;
	padding-right:35px;
}


/* Statistics */


#stats-flex  {
	.et_pb_column:nth-child(1),.et_pb_column:nth-child(2) {
		display: flex;
		flex-direction: column;

		div {
			height:100%;
		}
	}
	.et_pb_column:nth-child(3) {
		display: flex;
		flex-direction: column;
		.et_pb_image {
			width:100%;
			flex: 1 1 auto;
			img {
				height:264px;
				height:100%;
				object-fit: cover;        /* fills width, crops top/bottom */
  			object-position: center;
			}
		}
	}

	hr {
		height:2px;
		border:none;
		background-color:#000;
		margin-top:1.5em;
		margin-bottom:1.5em;
	}

	.et_pb_image_wrap {
		display: block;
		height:100%;
		img {
			width:100%;

		}
	}
}


#stats-block {
	hr {
		height:2px;
		border:none;
		background-color:#000;
		margin-top:1.5em;
		margin-bottom:1.5em;
	}
}

#stats-block {
	.et_pb_with_border {
		height:100%;
	}
	.et_pb_image_wrap {
		display: block;
		img {
			width:100%;
		}
	}
	.et_pb_row {

		--gap: 24px;
 		--accent: #f37021; /* adjust to your orange */
 		display: grid;
 		grid-template-columns: 1fr 1fr 1fr; /* left column a bit wider */
 		grid-auto-rows: 1fr;
 		gap: var(--gap);
 		align-items: stretch;

		.et_pb_column {
			width:100%;
			/*align-self: end;*/
		}

		.et_pb_column:nth-child(1) {
				grid-column: 1; grid-row: 1 / span 2;
		}
		.et_pb_column:nth-child(2) {
				grid-column: 2; grid-row: 1;
		}
		.et_pb_column:nth-child(3) {
				grid-column: 2; grid-row: 2;
		}
		.et_pb_column:nth-child(4) {
				grid-column: 3; grid-row: 1;
				align-self: start;
		}
		.et_pb_column:nth-child(5) {
				grid-column: 3; grid-row: 2;
		}
	}
}

.post-flexed {
	display: flex;
	align-items: baseline

}

.post-flexed * {
	margin-right: 2rem;
}

.post-flexed *:last-child {
	margin-right: 0;
}

.flexed-content > div {
	display: flex;
	align-items: center;
}

.flexed-content > div * {
	margin-right:20px;
}

.flexed-content > div:last-child {
	margin-right:0;
}


.type-post  .et_pb_section {
	padding-top:0;
}

/** Mobile **/
	.d-none {
		display: none!important;
	}
	.d-block {
		display: block!important;
	}



.mb-0 {
	margin-bottom:0;
}
.pb-0 {
	padding-bottom:0;
}
