:root {
	--pale-blue: #E6F8FF;
	--logo-blue: #007298;
	--dk-blue: #00222D;
	--earthwise-orange: #C65010;
	--logo-green: #6CC04A;
	--logo-gray: #99999A;
	--admin-search-offset-y: var(--gin-toolbar-secondary-height, 0px);
}
/* ----- Global ----- */

html {
	line-height: 1.2;
	}

* {
	box-sizing: border-box;
	}

body {
	font-family: 'Nunito Sans', Verdana, Arial, Helvetica, sans-serif;
	font-size: 0.9em;
	line-height: 1.5em;
	}

  	@media only screen and (min-width: 800px) {
		body {
			font-size: 1.1em;
			}
		}

  body.cke_editable {
	  background-color: #fff;
    }

hr {
	color: var(--earthwise-orange);
}

figure {
	max-width: 100%;
}

@media only screen and (min-width: 800px) {
	figure.align-left {
		margin: 0 1rem 1rem 0;
	}

	figure.align-right {
		margin: 0 0 1rem 1rem;
	}
}

figcaption {
	color: var(--logo-blue);
	border-left: 5px solid var(--logo-blue);
	padding: .5rem;
}

.breadcrumb {
	margin: 10px 0;
	font-size: 1rem;
}

.breadcrumb ol {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	column-gap: 1.25rem;
	row-gap: .25rem;
}

@media only screen and (min-width: 800px) {
	.breadcrumb ol {
		column-gap: 2rem;

	}
}

.breadcrumb a {
	color: var(--earthwise-orange);
}

.breadcrumb li::after {
	font-family: "fontello";
	content: '\e805';
	color: var(--earthwise-orange);
	margin-left: 2px;
	vertical-align: middle;
}

.unpublished {
  font-size: 1.2em;
  font-weight: 500;
  text-align: center;
  background-color: #ffffb8;
  border: 1px solid #e72d2c;
  padding: 0.5em 0;
  margin-top: 1em;
	}

.mobile-display {
	display: block;
	}

.mobile-tablet-display { /* up to 1250px */
	display: block;
}

.desktop-display {
	display: none;
	}

	@media only screen and (min-width: 800px) {
		.mobile-display {
			display: none !important; /* !important prevents superfish from overriding this rule */
			}
		.desktop-display {
			display: block;
			}
		}
	
	@media only screen and (min-width: 1250px) {
		.mobile-tablet-display {
			display: none !important;
		}
	}

footer.author-date {
	margin-bottom: 1em;
	}

.center {
	text-align: center;
	}

.remote-video-colorbox-launch-modal {
    cursor: pointer;
    position: relative;
	}

.remote-video-colorbox-launch-modal:before {
	position:absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	content: url(../images/play-arrow.png);
	font-size: 100px;
	color: #fff;
	opacity: 1;
	}

.remote-video-colorbox-launch-modal img {
	border: 1px solid #999;
	}

.white-text {
	color: #fff;
	}


/* ----- Layout ----- */

.inner {
	margin: 0 auto;
	overflow: hidden;
	padding: 0;
	position: relative;
	width: 90%;
	max-width: 1600px;
	}

.inner.narrow {
	max-width: 900px;
	}

#header .inner {
	padding: 20px 0;
	overflow: visible;
	}

#main .inner { /* this rule set gets precedent over layout builder padding styles without '#main' */
	padding: 40px 0;
	}

    #main .layout .inner { /* this rule set gets precedent over layout builder padding styles without '#main' */
      padding: 0;
      }

.layout__25,
.layout__33,
.layout__34,
.layout__40,
.layout__50,
.layout__60,
.layout__67,
.layout__75 {
	width: 100%;
	}

.layout--onecol-section .layout-builder__region {
	flex: 1;
	}

.layout--onecol-section .layout__region--first {
	width: 100%;
	}

/* 2 col */

.layout--twocol-section .layout__region--first {
	padding: 0;
	margin: 0 0 2em;
	}

.layout--twocol-section .layout__region--second {
    padding: 0;
    margin: 0;
	}

/* 3 col */

.layout--threecol-section .layout__region--first {
    padding: 0;
	margin: 0 0 2em;
	}

.layout--threecol-section .layout__region--second {
    padding: 0;
	margin: 0 0 2em;
	}

.layout--threecol-section .layout__region--third {
    padding: 0;
    margin: 0;
	}

/* 4 col */

.layout--fourcol-section .layout__region--first {
    padding: 0;
	margin: 0 0 2em;
	}

.layout--fourcol-section .layout__region--second {
    padding: 0;
	margin: 0 0 2em;
	}

.layout--fourcol-section .layout__region--third {
    padding: 0;
	margin: 0 0 2em;
	}

.layout--fourcol-section .layout__region--fourth {
    padding: 0;
    margin: 0;
	}

#main .section-no-bottom-padding.layout .inner {
  padding: 40px 0 0;
  }

	@media only screen and (min-width: 40em) {
		.layout .inner {
			display: flex;
			}
		.layout--twocol-section .layout__region--first {
			margin: 0 3em 0 0;
			}
		.layout--threecol-section .layout__region--first {
			margin: 0 2em 0 0;
			}
		.layout--threecol-section .layout__region--second {
			margin: 0 2em 0 0;
			}
		.layout--fourcol-section .layout__region--first {
			margin: 0 1.5em 0 0;
			}
		.layout--fourcol-section .layout__region--second {
			margin: 0 1.5em 0 0;
			}
		.layout--fourcol-section .layout__region--third {
			margin: 0 1.5em 0 0;
			}
    .layout__20 {
      flex: 1;
      }
		.layout__25 {
			flex: 1;
			}
		.layout__75 {
			flex: 3;
			}
		.layout__33 {
			flex: 1;
			}
		.layout__34 {
			flex: 1;
			}
		.layout__67 {
			flex: 2;
			}
		.layout__40 {
			flex: 2;
			}
		.layout__60 {
			flex: 3;
			}
		.layout__50 {
			flex: 1;
			}
		}

/* Layout Builder styles */

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

.section-vertical-align-center.layout .inner {
  align-items: center;
  }

.section-vertical-align-bottom.layout .inner {
  align-items: flex-end;
  }

.section-margin-top-10px.layout .inner {
  margin-top: 10px;
  }

.section-margin-top-20px.layout .inner {
  margin-top: 20px;
  }

.section-margin-top-30px.layout .inner {
  margin-top: 30px;
  }

.section-margin-top-40px.layout .inner {
  margin-top: 40px;
  }

.section-margin-bottom-10px.layout .inner {
  margin-bottom: 10px;
  }

.section-margin-bottom-20px.layout .inner {
  margin-bottom: 20px;
  }

.section-margin-bottom-30px.layout .inner {
  margin-bottom: 30px;
  }

.section-margin-bottom-40px.layout .inner {
  margin-bottom: 40px;
  }

.section-padding-top-10px.layout .inner, #main .section-padding-top-10px.layout .inner {
  padding-top: 10px;
  }

.section-padding-top-20px.layout .inner, #main .section-padding-top-20px.layout .inner {
  padding-top: 20px;
  }

.section-padding-top-30px.layout .inner, #main .section-padding-top-30px.layout .inner {
  padding-top: 30px;
  }

.section-padding-top-40px.layout .inner, #main .section-padding-top-40px.layout .inner {
  padding-top: 40px;
  }

.section-padding-bottom-10px.layout .inner, #main .section-padding-bottom-10px.layout .inner {
  padding-bottom: 10px;
  }

.section-padding-bottom-20px.layout .inner, #main .section-padding-bottom-20px.layout .inner {
  padding-bottom: 20px;
  }

.section-padding-bottom-30px.layout .inner, #main .section-padding-bottom-30px.layout .inner {
  padding-bottom: 30px;
  }

.section-padding-bottom-40px.layout .inner, #main .section-padding-bottom-40px.layout .inner {
  padding-bottom: 40px;
  }

@media only screen and (min-width: 428px) {
  .col-2 {
    column-count: 2;
    -moz-column-count: 2;
    -webkit-column-count: 2;
    }
  .col-2 p {
    display: inline-block;
    }
  }


/* ----- Fonts ----- */

.front h2 {
  font-size: 2.4em;
  font-weight: 700;
  }

a {
  	text-decoration: none;
  	color: var(--logo-blue);
}

.main-content a, p > a {
	color: var(--earthwise-orange);
}

#block-rye-local-tasks a {
	color: black;
}

.main-content h1 > a, .main-content h2 > a, .main-content h3 > a, .main-content h4 > a, .main-content h5 > a, .main-content h6 > a { /* make sure all header links aren't orange */
	color: var(--logo-blue);
}

em {
	font-style: italic;
	}

.margin-bottom-less { /* for use in Views which strips inline styles */
	margin: 0 0 0.2em 0;
	}

.caption {
	font-size: 0.9em;
	}

sup {
	vertical-align: super;
	font-size: smaller;
	}

sub {
	vertical-align: sub;
	font-size: smaller;
	}


/* ----- Lists ----- */

#main ul {
    list-style: square outside;
    margin-bottom: 1em;
    margin-left: 1em;
	}

#main ol {
	list-style: decimal outside;
	margin-bottom: 1em;
    margin-left: 1em;
	}

.flexgrid {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap;
  -ms-flex-pack: justify;
      justify-content: center;
  align-items: flex-start;
  text-align: center;
  }

.flexgrid.col-5 a {
	width: 100%;
	display: block;
	margin: 1em;
    text-decoration: none;
	}

.flexgrid.col-5 a {
	width: 11em;
	margin: 1.2em;
	}

#main ul.flexgrid { /* no indent for albums */
	margin: 0;
	}

.flexgrid li {
	width: 100%;
	padding: 20px 0;
	}

	@media only screen and (min-width: 400px) {
		.flexgrid li {
			width: 235px;
			padding: 10px 15px;
			}
		.wide-grid .flexgrid li {
			width: 200px;
			padding: 10px 50px;
			}
		.big-grid .flexgrid li {
			width: 330px;
			padding: 10px 30px;
			}
		.big-one-grid .flexgrid li {
			width: 600px;
			padding: 10px 30px;
			}
		}

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

.grid-image {
	width: 80%;
	margin: 0 auto;
	}

	@media only screen and (min-width: 600px) {
		.grid-page {
	    display: -ms-flexbox;
	    display: flex;
	    -ms-flex-flow: row wrap;
	    flex-flow: row wrap;
	    -ms-flex-pack: justify;
	    justify-content: center;
			align-items: flex-start;
			text-align: center;
			}
		.grid-image {
			width: 100%;
			}
		.grid-page .views-row {
	    width: 360px;
	    padding: 20px;
			}
		}

#main .flexgrid {
	list-style: none;
	}

#main .flexgrid li {
	text-indent: 0;
	}

.views-field-created {
	color: #999;
	margin: 0 0 1em;
	}


/* ----- Mobile Header ----- */

#mobileheader {
  overflow: visible;
  background-color: #e6f8ff;
  }

#mobileheader .item-list--linkicon { /* align all linkicon divs on the right */
	margin: 1rem 0;
	text-align: right;
}

#mobileheader a {
	color: var(--dk-blue);
}

#mobileheader .icon-phone-squared { /* keeps phone icon inline */
	display: inline-block;
	vertical-align: text-bottom; /* centers icon vertically */
}

#mobileheader .icon-phone-squared::before {
	font-size: 20px;
	padding: unset;
	height: auto;
	width: auto;
}


/* ----- Header ----- */

#header {
  overflow: visible;
  background-color: #e6f8ff;
  }

.header-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  }

#block-rye-branding {
  width: 60%;
  text-align: center;
  }

#block-rye-branding img {
    width: 100%;
    max-width: 232px;
  }

#block-desktopheaderregionblock {
  width: 20%;
  text-align: center;
  }

#block-desktopheaderregionblock > .content { /* Right align icons, make 2x2 grid for tablet */
	display: grid;
	grid-template: repeat(2, auto) / auto;
	justify-content: end;
	margin: 0;
}

#block-desktopheaderregionblock > .content > .layout--twocol-section {
	flex-wrap: nowrap;
}

#block-desktopheaderregionblock > .content > .layout--twocol-section > .layout__region--first {
	margin: 0; /* remove rye layout builder margins */
}

#block-desktopheaderregionblock div.item-list--linkicon {
	margin: 0;
}

#block-desktopheaderregionblock ul.linkicon li {
	margin: 0;
}

#block-mainmenu,
#block-horizontalmenu /*default desktop menu component */ {
  display: none;
  }

#block-responsivemenumobileicon {
  font-weight: 500;
  letter-spacing: 0.1em;
  cursor: pointer;
  width: 20%;
  }

#block-mobilesearchbutton {
	flex: 1;
}

#block-mobilesearchbutton ul.linkicon { /* right aligns mobile search icon */
	display: flex;
	justify-content: flex-end;
}

#block-mobilesearchbutton ul.linkicon > li {
	margin: 0; /* removes more extra space around mobile search icon */
}

#block-mobilesearchbutton ul.linkicon > li span.icon-search::before {
	padding-right: 0;
	font-size: 1.75rem;
}

.responsive-menu-toggle-icon::before,
.responsive-menu-toggle-icon::after,
.responsive-menu-toggle-icon span.icon {
  background: #118ac0;
  }

.responsive-menu-toggle-icon span.label {
  display: none;
  }

  @media only screen and (min-width: 800px) {
	#linkicon-block-content-region-block-field-ribbon-icons-5 {
		display: flex;
    }
  }

  @media only screen and (min-width: 960px) {
	.responsive-menu-toggle-wrapper.responsive-menu-toggle {
	  display: inline-block;
	  }
	}

@media only screen and (min-width: 1250px) {
	#block-rye-branding,
    #block-desktopheaderregionblock {
      flex: 1;
      width: initial;
      text-align: inherit;
    }
	#block-desktopheaderregionblock > .content {
		/* put header icons in 1 row on desktop */
		grid-template: auto / repeat(2, auto);
	}
	#block-responsivemenumobileicon {
	  display: none;
	}
	.responsive-menu-toggle-wrapper.responsive-menu-toggle {
	  display: none;
	}
	#block-mainmenu {
	  display: flex;
  	  flex: 3;
	}
	#block-mainmenu > .content {
	  margin: 0 auto;
	}
}

	/* Desktop - Superfish Menu */
.superfish-main ul.sf-menu {
  font-size: 1.25rem;
}

.superfish-main ul.sf-menu > li > a {  /* remove underline from main menu links */
  text-decoration: none;
}

.superfish-main ul.sf-menu > li { /* main menu items only */
	display: inline-block;
	line-height: 1.2;
	padding: 0;
}

a.sf-depth-1.menuparent::after { /*adds caret to lvl 1 items with children */
	font-family: "fontello";
	content: "\e801"; /* down arrow icon */
	padding-left: 5px;
}

li.sfHover.sf-depth-1.menuparent > a::after { /* change to up arrow on hover */
	content: "\e802"; /* up arrow icon */
}

.sf-menu li > ul { /* all lvls of submenus */
	background-color: #fff;
	border-radius: 0.3em;
	box-shadow: 5px 5px 5px #777;
}

.superfish-main ul.sf-menu ul.menu li {
	margin-left: 0;
	}

.superfish-main ul.sf-menu .sf-multicolumn {
	top: 35px;
	right: 0px !important;
	}

#superfish-main .sf-depth-2.sf-multicolumn-column {
	/*width: 50% !important;*/
	}

.superfish-main ul.sf-menu li a,
.superfish-main ul.sf-menu li .nolink {
	color: #00222d;
	padding: 10px 15px;
  }

.superfish-main ul.sf-menu li a.active {
	color: #fff;
  	background-color: #007298;
	}

.superfish-main ul.sf-menu > li.sfHover > a {
	color: #fff;
	background: #00222d;
  	line-height: 1.2em;
  	border-radius: 1.2em;
	text-decoration: none;
	}

.superfish-main ul.sf-menu li#main-views-viewviewssearch-contentpage-1 a {
  color: #fff;
  }

  /* Mobile Menu */
a.mobile-display[href="https://earthwisereports.com"]::before { /* add user icon to "Client Login" on mobile */
	font-family: "fontello";
	padding-right: 5px;
	content: "\f2bd";
}


/* ----- Search Popups ----- */
#block-mobilesearchpopup,
#block-desktopsearchpopup { /* rule recommended by module */
	display: none; /* hide search box while layout loading */
}

#spb-block-mobilesearchpopup div.spb-popup-main-wrapper,
#spb-block-desktopsearchpopup div.spb-popup-main-wrapper {
	display: flex;
	flex-direction: row-reverse;
	padding: 15px;
}

#spb-block-mobilesearchpopup div.spb-popup-main-wrapper {
	filter: drop-shadow(0px 10px 4px rgba(0, 0, 0, 0.6));
	border-width: 0 0 1px 0;
	border-radius: 0px 0px 15px 15px;
	top: calc(181.6px + var(--admin-search-offset-y));
}

#spb-block-desktopsearchpopup div.spb-popup-main-wrapper {
	filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.6));
	border: 1px solid black;
	border-radius: 15px;
	right: 10vw;
}

#spb-block-mobilesearchpopup div.spb-controls,
#spb-block-desktopsearchpopup div.spb-controls {
	position: initial; /* override position absolute from module */
}

#spb-block-mobilesearchpopup div.spb-controls .spb_close,
#spb-block-desktopsearchpopup div.spb-controls .spb_close {
	/* hide default close button */
	visibility: hidden;
	font-size: 1rem;
	padding: 0;
	margin: 9px 0 0 0;
	border: 0;
}

#spb-block-mobilesearchpopup div.spb-controls .spb_close::after,
#spb-block-desktopsearchpopup div.spb-controls .spb_close::after {
	/* replace default close button with Fontello icon */
	font-family: "fontello";
	content: '\e808';
	color: var(--earthwise-orange);
	visibility: visible;
}

#spb-block-mobilesearchpopup div.spb-controls .spb_close::after {
	font-size: 38px;
}

#spb-block-desktopsearchpopup div.spb-controls .spb_close::after {
	font-size: 44px;
}

#search-keywords { /* search text box */
	border-radius: 6px;
	font-size: 1.25rem;
	margin-bottom: .75rem;
}

#search-keywords + input { /* Search button */
	font-size: 1rem;
	background-color: var(--logo-blue);
	font-weight: 700;
	width: initial;
}

@media only screen and (min-width: 800px) {
	#spb-block-desktopsearchpopup div.spb-popup-main-wrapper {
		top: calc(64px*2 + 40px + var(--admin-search-offset-y));
		/* 2*icon height + #header padding + gin toolbar offset */
	}

	#search-keywords {
		font-size: 1.5rem;
	}

	#search-keywords + input {
		font-size: 1.25rem;
	}
}

@media only screen and (min-width: 1250px) {
	#spb-block-desktopsearchpopup div.spb-popup-main-wrapper {
		top: calc(64px + 4.2rem + var(--admin-search-offset-y));
		/* icon height + ~2 icon margins + gin toolbar offset */
	}
}

#block-mobilesearchpopup input, #block-desktopsearchpopup input {
	font-family: inherit;
}

#block-mobilesearchpopup p, #block-desktopsearchpopup p {
	margin: 0;
}


/* ----- Banner ----- */

#banner {
	height: 400px;
	background-position: center center;
	background-color: #fff;
	padding-bottom: 0;
	position: relative;
  }

/*.front #banner > div {
	background: transparent;
	background-image: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.1),rgba(0,0,0,0.3));
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	}*/

#banner .banner-text {
  display: flex;
  height: 400px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  text-align: center;
  width: 80%;
  margin: 0 auto;
  z-index: 1;
	}

#banner h1 {
	color: #00222D;
  background: rgba(255,255,255,0.5);
  font-size: 2.5em;
  font-weight: 400;
  letter-spacing: 0.05em;
  display: inline-block;
  padding: 0.5em 1em;
  border-radius: 15px;
  margin-bottom: 1em;
	}

.front #banner {
	height: 500px;
	}

.front #banner .banner-text {
	height: 500px;
	}

@media only screen and (min-width: 600px) {
	.front #banner .banner-text {
		width: 70%;
		}
	}

@media only screen and (min-width: 1000px) {
	.front #banner {
		height: 600px;
		}
	.front #banner .banner-text {
		height: 600px;
		}
	.front #banner h1 {
		font-size: 3em;
		}
	}

.banner-call-to-action a {
  color: #fff;
  font-size: 1.5em;
  line-height: 1.2em;
  text-decoration: none;
  display: inline-block;
  background: #00222D;
  padding: 1em 2em;
  border-radius: 9999px;
  }


/* ----- Webform -----*/

a.button,
.form-submit {
  font-size: 1em;
  color: white;
  background-color: var(--earthwise-orange);
  padding: 0.5em 1.0em;
  border: none;
  border-radius: 9999px;
  text-decoration: none;
  appearance: inherit !important;
  -webkit-appearance: inherit !important;
  }

input,
textarea,
select {
  width: 100%;
  font-size: 1em;
  padding: 0.2em 0.5em;
  }

.webform-submission-form {
  padding: 2em;
  margin: 0 0 2em 0;
  background: #f1f2f3;
  }


/* ----- Content ----- */
  	/* -- Home -- */
#main {
	line-height: 1.5em;
	background-color: #fff;
	}

#block-rye-content {
	background-color: #fff;
	}

.industries-we-serve-homepage .flexgrid {
  align-items: stretch;
  }

.industries-we-serve-homepage .flexgrid li {
  border: #007298 1px solid;
  border-radius: 50%;
  background: radial-gradient(50% 50% at 50% 50%, #FFF 0.01%, #E6F8FF 89.06%, #007298 100%);
  display: flex;
  align-items: center;
  margin: 10px;
  width: 235px;
  height: 235px;
  padding: 10px 15px;
  justify-content: center;
  }

@media (min-width: 800px) {
	.industries-we-serve-homepage .flexgrid li {
		width: 300px;
		height: 300px;
	}
}

.flexgrid li {
  width: 235px;
  padding: 10px 15px;
  }

.industries-we-serve-homepage li h2 {
  font-size: 1.125rem;
  font-weight: 500;
  }

@media (min-width: 800px) {
	.industries-we-serve-homepage li h2 {
		font-size: 1.625rem;
	}
}

.industries-we-serve-homepage li h2 a {
  color: #00222d;
  }

.case-studies-homepage h2 {
  text-align: center;
  }

.case-studies-homepage .views-row.even .views-field-nothing .field-content {
  flex-direction: row-reverse;
  }

.case-studies-homepage {
  text-align: center;
  }

.case-studies-homepage .views-row {
  margin-bottom: 3em;
  }

.case-study-image {
  text-align: center;
  margin-bottom: 1em;
  }

  @media only screen and (min-width: 800px) {
    .case-studies-homepage .views-row,
    .case-study-image {
      margin-bottom: 0;
      }
    .case-studies-homepage {
      text-align: initial;
      }
    .case-studies-homepage .views-row .views-field-nothing .field-content {
      display: flex;
      align-items: center;
      padding: 1em 0;
      }
    .case-studies-homepage .views-row .views-field-nothing .case-study-image {
      flex: 2;
      }
    .case-studies-homepage .views-row .views-field-nothing .case-study-text {
      flex: 1;
      text-align: center;
      }
    }

		/* -- Industries Overview -- */
.industries-page-wrapper {
	margin-bottom: 2.5rem;
	--card-radius: 14px;
}

#main ul.industries-page-list {
	list-style: none;
	margin: initial;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 24px;
}

li.industries-page-card {
	background: var(--dk-blue);
	border-radius: var(--card-radius);
	box-shadow: 0px -4px 4px 0px rgba(0, 0, 0, 0.40) inset;
}

li.industries-page-card > div {
	position: relative;
}

.industry-card-text > .content {
	display: none;
}

li.industries-page-card h2 {
	margin: 0;
	line-height: 1.05em;
	position: absolute;
	font-weight: 700;
	font-size: 1.5rem;
	width: 100%;
	z-index: 5;
	background: var(--dk-blue);
	padding: 1rem 0;
	bottom: 0;
	text-align: center;
	border-radius: 0px 0px 14px 14px;
	border-top: 3px solid var(--logo-green);
}

li.industries-page-card h2 > a {
	color: white;
}

.industry-card-image img {
	width: 100%;
	height: auto;
	border-radius: var(--card-radius) var(--card-radius) 20px 20px;
}

@media (min-width: 800px) {
	#main ul.industries-page-list {
		grid-template-columns: repeat(auto-fill, minmax(345px, 1fr));
		gap: 24px;
	}

	li.industries-page-card {
		min-height: 335px;
		box-shadow: none;
	}

	li.industries-page-card:hover .industry-card-text > .content {
		display: block;
	}

	li.industries-page-card:hover .industry-card-text {
		background: var(--dk-blue);
		display: block;
	}

	li.industries-page-card:hover h2 {
		top: 45%;
		padding: 1rem 1rem 0.75rem 1rem;
	}

	li.industries-page-card:hover h2 > a > div {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	li.industries-page-card h2 {
		bottom: initial;
		top: 82%;
		font-size: 2rem;
		text-align: left;
		padding: 0 0 0 1rem;
		background: linear-gradient(180deg, rgba(0, 34, 45, 0) 0%, rgba(0, 34, 45, 0.95) 27%, #00222D 100%);
		border-top: none;
	}

	.industry-card-text {
		/* do NOT add display: none; here. It makes the content disappear in layout builder */
		font-size: 1.25rem;
		width: 100%;
		height: 35%;
		position: absolute;
		top: 60%;
		overflow-y: auto;
	}

	.industry-card-text > .content {
		color: var(--pale-blue);
		display: none;
		position: absolute;
		z-index: 10;
		padding: 1rem 1rem 0 1rem;
	}

	.industry-card-image::after {
		position: absolute;
		top: 0;
		display: block;
		background: linear-gradient(180deg, rgba(0, 34, 45, 0) 0%, rgba(0, 34, 45, 0.03) 71.48%, rgba(0, 34, 45, 0.91) 77.04%, #00222D 80.37%, #00222D 100%);
		border-radius: 14px;
		width: 100%;
		height: 100%;
		content: "";
	}
}

		/* -- Solutions -- */
#block-rye-system-main ul.solutions-menu {
	margin-left: 0;
	margin-bottom: 0;
	font-size: 1rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#superfish-main-accordion.solutions-menu { /* applies when superfish smallscreen kicks in */
	float: none; /* prevents page content on the right of the menu on mobile */
	position: relative !important;
	width: 100% !important;
	height: auto !important;
}

#superfish-main-accordion.solutions-menu > li {
	padding-bottom: .5rem;
}

#superfish-main-accordion.solutions-menu > li.sf-expanded {
	padding-bottom: initial;
}

#block-rye-system-main ul.solutions-menu ul {
	margin-left: 0;
	margin-bottom: 0;
}

ul.solutions-menu > li > a {
	border: 2px solid var(--dk-blue);
	border-radius: 9999px;
}

ul.solutions-menu a {
	color: var(--dk-blue);
}

ul.solutions-menu a:hover {
	text-decoration: none;
}

ul.solutions-menu > li > a { /* main parent links */
	font-weight: 700;
	padding: 10px 15px;
}

ul.solutions-menu > li > a.menuparent::after {
	font-family: "fontello";
	content: "\e801"; /* down arrow icon */
	padding-left: 5px;
	font-weight: 400;
}

ul.solutions-menu > li.sfHover > a.menuparent::after {
	content: "\e802"; /* up arrow icon */
}

article[data-history-node-id="16"] div.layout--onecol-section:first-child > .inner {
	overflow: visible;
}

@media (min-width: 800px) {
	#block-rye-system-main ul.solutions-menu {
		font-size: 20px;
	}
}

/* ----- Footer ----- */

#footer .content,
#footer .content a {
  color: #fff;
}

#footer .layout .inner {
  display: flex;
}

#footer #block-mobilefooterblock .layout .inner {
	flex-wrap: wrap;
}

#footer #block-mobilefooterblock .layout--twocol-section .layout__region--first {
	margin: 0;
}

#block-rye-footer { /* currently unused */
  margin-bottom: 1em;
}

#footer .item-list--linkicon { /* div container for linkicon uls */
	margin: 0; /* override linkicon default */
}

#footer ul.linkicon li {
	margin: 0; /* override linkicon default */
}

#footer a.linkicon__item {
  display: flex;
  align-items: center;
}

#footer #block-desktopfooterblock > .content > .layout--threecol-section .layout__60 {
	/* layout builder region containing phone num and email buttons */
	text-align: center;
}

#footer #block-desktopfooterblock > .content > .layout--threecol-section .layout__60 > * {
	/* containers for phone and email buttons */
	display: inline-block;
}

#footer h2 { /* both mobile and desktop blocks */
	margin-bottom: 0;
	font-weight: 500;
}

#footer #block-mobilefooterblock h2 {
	font-size: 1.5rem;
}

#footer #block-desktopfooterblock h2 {
	font-size: 2.19rem; /* biggest size without wrapping for 15" screen */
}

#footer #linkicon-block-content-region-block-field-icon-link-6 a.linkicon__item, /* phone button */
#footer #linkicon-block-content-region-block-field-icon-link-2-6 a.linkicon__item { /* email button */
  font-size: 1.5em;
  color: var(--dk-blue);
  background-color: #fff;
  padding: 0 1rem;
  border: none;
  border-radius: 9999px;
  text-decoration: none;
  margin-right: 1rem;
}

#footer #linkicon-block-content-region-block-field-ribbon-icons-6 { /* desktop social icons */
	text-align: right;
}

#footer #block-desktopfooterblock nav ul { /* footer menu */
  text-align: right;
}

#footer #block-mobilefooterblock > .content > .layout--onecol-section > .inner img {
	/* earthwise footer logo */
	max-width: 75%;
	aspect-ratio: auto;
	height: auto;
}

#footer nav li {
  display: inline-block;
}

#footer nav .droplet::before { /* mobile and desktop footer menu */
	font-family: 'fontello';
	content: '\e803';
	margin: 0 .5rem 0 .27rem; /* smallest screen size */
}

#footer #block-desktopfooterblock nav .droplet::before { /* screens >1280px */
	margin: 0 1.5rem 0 1.2rem; /* smaller left margin accomodates whitespace added after menu lis */
}

#footer p {
  margin: 0;
}

@media (min-width: 640px) { /* connect ribbon unwraps to 2 columns at 640px */
	#footer #block-mobilefooterblock h2 {
		text-align: left;
	}

	#footer #linkicon-block-content-region-block-field-ribbon-icons-8 { /* mobile social icons */
		text-align: right;
	}

	#footer nav .droplet::before { /* screens 640 - 800px */
		margin: 0 1rem 0 .77rem; /* smaller left margin accomodates extra space added after menu li items */
	}
}

@media (max-width: 1280px) {
	#footer #block-desktopfooterblock h2 {
		margin-bottom: 0;
		font-size: 1.75rem;
	}

	#footer #linkicon-block-content-region-block-field-icon-link-6 a.linkicon__item, /* phone button */
	#footer #linkicon-block-content-region-block-field-icon-link-2-6 a.linkicon__item { /* email button */
		font-size: 1.25rem;
	}

	#footer #block-desktopfooterblock nav .droplet::before { /* screens 800-1280px */
		margin: 0 1rem 0 .77rem; /* smaller left margin accomodates extra space added after menu li items */
	}
}

@media only screen and (min-width: 40em) { /* overrides Rye's default layout builder */
	#footer #block-mobilefooterblock .layout--twocol-section .layout__region--first {
		margin: 0 2.5em 0 0;
	}
}
