/* Site Wide */
@font-face {
	font-family: 'Roboto';
	src: url('/resource/font/roboto/Roboto-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Roboto';
	src: url('/resource/font/roboto/Roboto-Bold.ttf') format('truetype');
	font-weight: bold;
	font-style: normal;
}

:root {
	--teal-blue: #22798c;
	--midnight-green: #055060;
	--teal-blue-pastel: #6996a0;

	--mustard-green: #64733a;
	--mustard-green-darkened: #4a552b;
	--mustard-green-pastel: #a2ab89;

	--vivid-auburn-red: #9b1e21;
	--vivid-auburn-red-darkened: #81181a;
	--vivid-auburn-red-pastel: #b44b4d;

	--dark-pastel-red: #c34b27;
	--dark-pastel-red-darkened: #95391d;
	--dark-pastel-red-pastel: #df937d;

	--japanese-violet: #563355;
	--japanese-violet-darkened: #40263f;

	--goldenrod-yellow: #d9a026;
	--goldenrod-yellow-darkened: #ad801f;
	--goldenrod-yellow-pastel: #ecca7d;

	--granite-gray: #5d6061;
	--cultured-gray: #f4f4f4;
	--darkened: rgba(0, 0, 0, 0.5);
}

body {
	margin: 0;
	font-family: "Roboto", sans-serif;
	background-color: white;
}

header {
	position: fixed;
	width: 100%;
	z-index: 100;
	background-color: white;
}

.container {
	max-width: 1400px;
	padding: 0 5%;
	margin: auto;
	display: block;
}

.medium-container {
	max-width: 1280px;
	padding: 0 5%;
	margin: auto;
	display: block;
}

.large-container {
	max-width: 1600px;
	padding: 0 5%;
	margin: auto;
	display: block;
}

#body-container {
	padding-top: 10rem;
}

#logo {
	min-width: 150px;
	width: 100%;
}

a {
	color: var(--teal-blue);
}

ul {
	padding-left: 0;
}

textarea {
	font-family: "Roboto", sans-serif;
	font-size: 13px;
}

input {
	box-sizing: border-box;
}




/* Helpers */
.underline {
	text-decoration: underline;
}

.uppercase {
	text-transform: uppercase;
}

.no-text-decoration {
	text-decoration: none;
}

.no-scroll {
	overflow: hidden;
}

.bold {
	font-weight: bold;
}

.flex {
	display: flex;
}

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

.relative {
	position: relative;
}

.hidden {
	display: none !important;
}

.flex-column {
	flex-direction: column;
}

.flex-row {
	flex-direction: row;
}

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

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

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

.white-button {
	border: 2px solid var(--teal-blue);
	background-color: white;
	color: var(--teal-blue);
	cursor: pointer;
	transition-duration: .25s;
	text-decoration: none;
}

.white-button:hover {
	color: white;
	background-color: var(--teal-blue)
}

.blue-button {
	border: 2px solid var(--teal-blue);
	background-color: var(--teal-blue);
	color: white;
	cursor: pointer;
	transition-duration: .25s;
	text-decoration: none;
}

.blue-button:hover {
	color: var(--teal-blue);
	background-color: white;
}

.thumbnail-buttons > a {
	margin-right: 2rem;
}

.thumbnail-buttons > a:last-child {
	margin-right: 0;
}

.thumbnail-button {
	text-transform: uppercase;
	padding: .5rem;
	border-radius: 20px;
	border: 1px solid black;
	box-shadow: 1px 1px 3px gray;
	transition-duration: .5s;
}

.thumbnail-button {
	text-decoration: none;
}

.thumbnail-button p {
	font-size: .95rem;
	text-align: center;
	margin: 0;
}

*:not(.thumbnail-no-hover) > .thumbnail-button:hover {
	color: white;
}

.thumbnail-button img {
	width: 90%;
	display: block;
	margin: .5rem 5%;
	border-radius: 5px;
	border: 1px solid white;
}

.thumbnail-green {
	color: var(--mustard-green);
}
.thumbnail-green:hover {
	background-color: var(--mustard-green);
}

.thumbnail-orange {
	color: var(--dark-pastel-red);
}
.thumbnail-orange:hover {
	background-color: var(--dark-pastel-red);
}

.thumbnail-red {
	color: var(--vivid-auburn-red);
}
.thumbnail-red:hover {
	background-color: var(--vivid-auburn-red);
}

.thumbnail-purple {
	color: var(--japanese-violet);
}
.thumbnail-purple:hover {
	background-color: var(--japanese-violet);
}

.thumbnail-teal {
	color: var(--teal-blue);
}
.thumbnail-teal:hover {
	background-color: var(--teal-blue);
}

.thumbnail-yellow {
	color: var(--goldenrod-yellow);
}
.thumbnail-yellow:hover {
	background-color: var(--goldenrod-yellow);
}

.background-green {
	background-color: var(--mustard-green);
}

.background-green-gradient {
	background: radial-gradient(circle at center, var(--mustard-green), var(--mustard-green-darkened));
}

.background-green-pastel {
	background-color: var(--mustard-green-pastel);
}

.background-orange {
	background-color: var(--dark-pastel-red);
}

.background-orange-gradient {
	background: radial-gradient(circle at center, var(--dark-pastel-red), var(--dark-pastel-red-darkened));
}

.background-orange-pastel {
	background-color: var(--dark-pastel-red-pastel);
}

.background-red {
	background-color: var(--vivid-auburn-red);
}

.background-red-gradient {
	background: radial-gradient(circle at center, var(--vivid-auburn-red), var(--vivid-auburn-red-darkened));
}

.background-red-pastel {
	background-color: var(--vivid-auburn-red-pastel);
}

.background-purple {
	background-color: var(--japanese-violet);
}

.background-purple-gradient {
	background: radial-gradient(circle at center, var(--japanese-violet), var(--japanese-violet-darkened));
}

.background-teal {
	background-color: var(--teal-blue);
}

.background-teal-gradient {
	background: radial-gradient(circle at center, var(--teal-blue), var(--midnight-green));
}

.background-teal-pastel {
	background-color: var(--teal-blue-pastel);
}

.background-yellow {
	background-color: var(--goldenrod-yellow);
}

.background-yellow-gradient {
	background: radial-gradient(circle, var(--goldenrod-yellow), var(--goldenrod-yellow-darkened));
}

.background-yellow-pastel {
	background-color: var(--goldenrod-yellow-pastel);
}

.background-light-gray {
	background-color: var(--cultured-gray);
}

.background-dark-gray {
	background-color: var(--granite-gray);
}

.blue-border-headline {
	color: var(--teal-blue);
	text-transform: uppercase;
	border-bottom: 2px solid var(--teal-blue);
	padding: 1rem 3rem;
	text-align: center;
	font-size: 2.25rem;
	align-self: center;
}

.w-full {
	width: 100%;
}

.h-full {
	height: 100%;
}

.multicolor-list {
	margin: 0;
}

.multicolor-list li h2 {
	font-size: 2rem;
	text-transform: uppercase;
	color: white;
	padding-top: 1rem;
	padding-bottom: 1rem;
	margin-top: 0;
	margin-bottom: 0;
	display: flex;
	justify-content: space-between;
}

.multicolor-list li {
	list-style-type: none;
}

#downloads .multicolor-list li:last-child {
	margin: 0;
}

.multicolor-list li > p {
	color: var(--granite-gray);
	padding-top: 2rem;
	padding-bottom: 3rem;
	font-size: 1.35rem;
}

.multicolor-accordion-title {
	cursor: pointer;
}

.multicolor-accordion-title h2::after {
	content: "\002B";
	float: right;
	margin-left: .5rem;
}

.multicolor-accordion-title-open h2::after {
	content: "\2212";
	float: right;
}

.multicolor-accordion-content {
	display: none;
}

.multicolor-accordion-visible {
	display: grid;
}

.info-list {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

.info-list h2 {
	color: var(--teal-blue);
	text-transform: uppercase;
}

.info-list p, .info-list li{
	color: var(--granite-gray);
}

.info-list li {
	list-style-position: inside;
}

.info-list img {
	width: 90%;
	border-radius: 20px;
	padding: 5%;
	border: 1px solid black;
}

.info-list .flex-grid > div:first-child {
	margin-right: 2rem;
}

.info-list .flex-grid {
	margin-bottom: 2rem;
	scroll-margin-top: 175px;
}

.info-list .flex-row-reverse iframe {
	display: block;
	margin-left: auto;
}

.info-list iframe {
	padding: 1rem;
	box-sizing: border-box;
	border: 1px solid black;
	border-radius: 20px;
}

.info-list .flex-row-reverse p {
	padding-right: .5rem;
}

.content-paragraph {
	color: var(--granite-gray);
	padding: 2rem 0;
	background-color: var(--cultured-gray);
	line-height:1.5;
}

.hide-bullet-points li {
	list-style-type: none;
}

.full-width-graphic {
	margin: 2rem auto;
	display: block;
	width: 90%;
	max-width: 1400px;
}

.call-to-action {
	text-align: center;
	padding: 2rem 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.call-to-action h3 {
	text-transform: uppercase;
	vertical-align: middle;
	display: inline;
	color: white;
	font-size: 2.25rem;
	padding-right: 1rem;
	margin: 0;
}

.call-to-action a {
	font-weight: bold;
	padding: 1rem 2rem;
	border-radius: 10px;
	border: 1px solid white;
	max-width: 50%;
	height: fit-content;

}

.call-to-action a:hover {
	background-color: var(--midnight-green);
}



/* 404 */
#not-found {
	color: var(--teal-blue);
	font-weight: bold;
}

#not-found h1 {
	font-size: 3rem;
	margin-bottom: .25rem;
}

#not-found h2 {
	margin-top: .5rem;
	font-size: 2rem;
}



/* Search */
.search-modal {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	z-index: 100;
}

.search-modal-background {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0,0,0,0.5);
	z-index:96;
}

.search-modal-opened {
	display: flex;
}

.search-box {
	width: 50%;
	margin-bottom: 35%;
	position: relative;
	z-index: 97;
	background-color: white;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
}

.search-box > *:last-child {
	width: 100%;
}

.search-box input {
	background: white !important;
}

.search-box input::placeholder {
	content: "test";
}

.search-box #search-close-modal {
	float: right;
	padding: 1rem;
	cursor: pointer;
}

.search-button {
	cursor: pointer;
	margin-right: 0.5rem;
}



/* Mailchimp Newsletter */
.mc_embed_shell {
	margin: 1rem 0;
	color: var(--teal-blue);
}

.mc_embed_shell img {
	margin: auto;
	display: block;
}

.mc-embedded-subscribe-form {
	display: block;
	margin: auto;
	width: max-content;
}

.mc_embed_signup h2 {
	text-align: center;
}

.mc-field-group label, .mc-field-group input {
	display: block;
}

.mc-embedded-subscribe {
	margin: .5rem auto auto auto;
	display: block;
	border: 1px solid var(--teal-blue);
	border-radius: 0;
	padding: .5rem 1rem;
	background-color: white;
	color: var(--teal-blue);
	cursor: pointer;
	transition-duration: .5s;
}

.mc-embedded-subscribe:hover {
	background-color: var(--teal-blue);
	color: white;
}

.mc_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.mc_grid input {
	padding: .25rem 1rem;
}


/* Contact Form */
.contact-form {
	align-items: center;
	width: 33%;
	margin: 2rem auto;
}

.contact-form h2 {
	color: var(--teal-blue);
	margin-bottom: 0;
}

.contact-form p, .contact-form select {
	color: var(--granite-gray);
}

.contact-form img {
	width: 100px;
}

.contact-form .flex-grid > input:first-child:not(.col-12), .contact-form .flex-grid > select:first-child {
	margin-right: 1rem;
}

.contact-form input:not([type="submit"]), .contact-form select {
	padding: .25rem;
	border-style: groove;
	background-color: white;
}

.contact-form textarea {
	margin-bottom: 1rem;
	width: 75%;
	margin-top: .5rem;
}

.contact-form input[type="submit"] {
	border: none;
	padding: .5rem 1.5rem;
	cursor: pointer;
	font-size: 1rem;
	border: 1px solid var(--teal-blue);
}

.contact-form input[type="submit"] {
	border: none;
	padding: .5rem 1.5rem;
	cursor: pointer;
	font-size: 1rem;
	border: 1px solid var(--teal-blue);
}



/* Header */
#top-banner {
	background-color: var(--teal-blue);
	position:relative;
	overflow: hidden;
}

#top-banner::before {
	content: "";
	position: absolute;
	top: -2rem;
	left: 0;
	width: 100%;
	height: 50rem;
	transform-origin: bottom left;
	transform: skewY(-55deg);
	background-color: var(--midnight-green);
}

.top-banner-child {
	padding: 1.5rem;
	color: white;
	font-weight: bold;
	font-size: 1rem;
	box-sizing: border-box;
}

.top-banner-child p {
	margin: 0;
}

.top-banner-child a {
	color: white;
}

#bottom-banner {
	padding: 1rem 0;
}

#desktop-nav {
	display: flex;
	column-gap: .70rem;
	justify-content: right;
	height: 100%;
	align-items: center;
}

.nav-item {
	cursor: pointer;
	color: black;
	text-decoration: none;
	font-weight: bold;
	font-size:1.15rem;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	transition-duration: .5s;
	margin: 0;
}

.has-small-nav {
	position: relative;
}

.small-nav {
	position: absolute;
	background-color: white;
	list-style-type: none;
	padding: 1.5rem .75rem;
	border: 1px solid var(--teal-blue);
	border-radius: 5px;
	width: max-content;
	opacity: 0;
	visibility: hidden;
	transition-duration: .5;
}

.small-nav li a {
	text-decoration: none;
	margin-bottom: 1rem;
	display: block;
}

.small-nav li:last-child a {
	margin-bottom: 0;
}

#last-nav-item {
	margin-right: 0.5rem;
}

.nav-button {
	border-radius: 5px;
	padding: .5rem 2rem;
}

.mega-nav {
	margin-top: -10px;
	position: absolute;
	width: 100%;
	background: white;
	border-top: 3px solid var(--teal-blue);
	border-bottom: 3px solid var(--teal-blue);
	opacity: 0;
	visibility: hidden;
	padding: 3rem 2rem;
	transition-duration: .5s;
	box-sizing: border-box;
}

.nav-hovered {
	opacity: 1;
	visibility: visible;
}

.nav-button-hovered {
	border-bottom: 4px solid var(--teal-blue);
}

.mega-nav ul {
	margin: 0;
}

.mega-nav li {
	list-style-type: none;
	padding-bottom: .75rem;
}

.mega-nav p, .mega-nav a {
	color: var(--granite-gray);
	display: inline;
	margin: 0;
	text-decoration: none;
	font-size: 1.15rem;
}

.mega-nav .headline {
	display: block;
	font-size: 1.35rem;
	font-weight: bold;
	color: var(--teal-blue);
	padding-bottom: 1rem;
}

.mega-nav-second-row {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 2px solid var(--teal-blue);
}



/* Mobile Menu */
#mobile-menu {
	position: fixed;
	top: 0;
	bottom: 0;
	right: -600px;
	width: 100%;
	max-width: 600px;
	z-index: 99;
	background: white;
	visibility: hidden;
	transition-duration: .5s;
	overflow-y: scroll;
	overflow-x: hidden;
}

#mobile-nav-list {
	position: relative;
	height: 80%;
}

#mobile-nav-list > ul {
	height: 100%;
}

#mobile-menu ul, #mobile-menu-header {
	padding: 1rem;
}

#mobile-menu-background {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 95;
	display: none;
}

.mobile-menu-opened {
	visibility: visible !important;
	transform: translateX(-600px);
}

.mobile-menu-background-opened {
	display: block !important;
}

#mobile-menu svg {
	height: 2.5rem;
}

#mobile-menu li {
	list-style-type: none;
}

#mobile-menu li a, #mobile-menu li span {
	padding: 1.5rem 0;
	display: block;
	text-decoration: none;
	text-align: center;
	text-transform: uppercase;
	border-bottom: 1px solid black;
	color: var(--teal-blue);
	font-size:1.25rem;
}

#mobile-menu div:not(.mobile-sub-menu) li:first-child {
	border-top: 1px solid black;
}

#mobile-back-button {
	float: right;
	text-transform: uppercase;
	display: flex;
	align-self: center;
	cursor: pointer;
}

#mobile-menu-header {
	display: flex;
	justify-content: space-between;
}

#mobile-menu ul .mobile-menu-has-children {
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 0;
}

.mobile-sub-menu {
	position: absolute;
	top: 0;
	bottom: 0;
	right: -600px;
	visibility: hidden;
	max-width: 600px;
	width: 100%;
	transition-duration: .5s;
}

.mobile-sub-menu ul {
	border: 1px solid black;
	margin: 5px;
	background: var(--cultured-gray);
	height: 100%;
}

.mobile-sub-menu-open {
	visibility: visible !important;
	transform: translateX(-600px);
}

.mobile-menu-has-children .right-chevron {
	margin-left: .5rem;
}

.mobile-menu-has-children .right-chevron path {
	fill: var(--teal-blue);
}

#hamburger-button {
	float: right;
	display: none;
	width: auto;
	margin-left: auto;
	align-self: center;
	cursor: pointer;
}

#hamburger-button path {
	fill: var(--teal-blue);
}



/* Contact Modal */
#contact-modal-background, #newsletter-modal-background {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 101;
	display: none;
}

.contact-modal-background-open, .newsletter-modal-background-open {
	display: block !important;
}

#contact-modal, #newsletter-modal {
	display: none;
	position: fixed;
	width: 80%;
	background-color: white;
	border: 1px solid black;
	padding: 1rem;
	z-index: 102;
	margin: auto 10%;
	box-sizing: border-box;
}

#contact-modal .contact-form, #newsletter-modal .newsletter-form {
	width: 66%;
	margin-left: auto;
	margin-right: auto;
}

#contact-close-modal, #newsletter-close-modal {
	float: right;
	cursor: pointer;
}

.contact-modal-open, .newsletter-modal-open {
	display: block !important;
}

.contact-modal-button, .newsletter-modal-button {
	cursor: pointer;
}

.contact-form .flex-grid > *, .newsletter-form .flex-grid > * {
	margin-bottom: .5rem;
}




/* Footer */
footer {
	padding: 3rem 5rem;
	margin-bottom: 0;
}

footer, footer a{
	color: white;
}

footer ul {
	padding: 0;
	margin-top: 1.5rem;
}

footer li a {
	text-decoration: none;
}

footer li {
	padding-bottom: .5rem;
	list-style-type: none;
}

#footer-socials svg {
	background-color: white;
	border-radius: 5px;
	padding: .5rem .5rem;
}

#footer-socials a:last-child svg {
	padding: .5rem .65rem;
}

#footer-socials path {
	fill: var(--midnight-green);
}

#footer-socials a {
	text-decoration: none;
}

#footer-bottom {
	border-top: 1px solid var(--cultured-gray);
	padding-top: 1rem;
}

.copyright-footer {
	margin-left:1rem;
}



/* ReCaptcha footer badge */
.grecaptcha-badge {
	display: none;
}



/* GDPR Cookie Alert */
#gdpr-cookie-alert {
	background-color: var(--teal-blue);
	color: white;
	position: fixed;
	bottom: 0;
	width: 100%;

}

#gdpr-cookie-container {
	padding: .5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.05rem;
	box-sizing: border-box;
	position: relative;
	text-align: center;
}

#gdpr-cookie-icon {
	height: 2rem;
	fill: white;
	margin-right: 1rem;
}

#gdpr-buttons {
	display: flex;
	flex-direction: row;
}

#gdpr-cookie-accept {
	cursor: pointer;
	background: white;
	border-radius: 50px;
	margin-left: 1rem;
	margin-right: 1rem;
	padding: .5rem 2rem;
	font-weight: bold;
	text-transform: uppercase;
}

#gdpr-cookie-close {
	display: flex;
	align-items: center;
	cursor: pointer;
}

#gdpr-cookie-close svg {
	fill: white;
}


/* Grid, Flex Grid */
.grid-1 {
	display: grid;
	grid-template-columns: auto;
}


.grid-2 {
	display: grid;
	grid-template-columns: 49% 49%;
	column-gap: 2%;
	row-gap: 20px;
}

.grid-3 {
	display: grid;
	grid-template-columns: 32% 32% 32%;
	column-gap: 2%;
	row-gap: 20px;
}

.grid-4 {
	display: grid;
	grid-template-columns: 23.5% 23.5% 23.5% 23.5%;
	column-gap: 2%;
	row-gap: 20px;
}

.grid-5 {
	display: grid;
	grid-template-columns: 18.4% 18.4% 18.4% 18.4% 18.4%;
	column-gap: 2%;
	row-gap: 20px;
}

.grid-6 {
	display: grid;
	grid-template-columns: 15% 15% 15% 15% 15% 15%;
	column-gap: 2%;
	row-gap: 20px;
}

.grid-7 {
	display: grid;
	grid-template-columns: 12.57% 12.57% 12.57% 12.57% 12.57% 12.57% 12.57%;
	column-gap: 2%;
	row-gap: 20px;
}

.grid-full-width {
	grid-column: 1 / -1;
}

.flex-grid {
	width:100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
}

.flex-row-reverse {
	flex-direction: row-reverse;
}

.flex-grid > * {
	width: 100%;
}

.flex-grid-gap-4 {
	column-gap: 4rem;
}

.flex-grid > .col-1 {
	width:  calc(100% / 12 * 1);
}

.flex-grid > .col-2 {
	width:  calc(100% / 12 * 2);
}

.flex-grid > .col-3 {
	width:  calc(100% / 12 * 3);
}

.flex-grid > .col-4 {
	width:  calc(100% / 12 * 4);
}

.flex-grid > .col-5 {
	width:  calc(100% / 12 * 5);
}

.flex-grid > .col-6 {
	width:  calc(100% / 12 * 6);
}

.flex-grid > .col-7 {
	width:  calc(100% / 12 * 7);
}

.flex-grid > .col-8 {
	width:  calc(100% / 12 * 8);
}

.flex-grid > .col-9 {
	width:  calc(100% / 12 * 9);
}

.flex-grid > .col-10 {
	width:  calc(100% / 12 * 10);
}

.flex-grid > .col-11 {
	width:  calc(100% / 12 * 11);
}

.flex-grid > .col-12 {
	width:  calc(100% / 12 * 12);
}



/* Front Page */
#homepage-hero {
	position: relative;
	height: 30rem;
}

#hero-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self:stretch;
	padding-right: 2rem;
	padding-bottom: 2rem;
}

#hero-headline {
	margin: 0;
	font-size: 2.75rem;
}

#hero-text {
	margin: 1rem 0;
	font-size: 1.1rem;
	line-height: 1.35;
}

#hero-contact {
	padding: .75rem 3rem;
	font-weight: bold;
	margin-top: 1rem;
	display: inline-block;
	border-radius: 10px;
	align-self: flex-start;
}

#homepage-video {
	width: 100%;
	border-top-right-radius: 20px;
	border-bottom-right-radius: 20px;
	box-shadow: 1px 1px 1px gray;
}

#video-opaque-overlay {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, .5) 20%, rgba(255, 255, 255, 0) 50%);
}

#homepage-processes-services {
	margin-top: 2rem;
}

#homepage-processes-services h1 {
	color: var(--teal-blue);
	font-weight: bold;
	text-transform: uppercase;
	font-size: 2rem;
	margin-top: 0;
	margin-bottom: 1rem;
}

#homepage-processes-services-text {
	color: var(--granite-gray);
	font-size: 1.15rem;
	margin: 0 0 2.5rem 0;
}

#homepage-standard-products {
	padding: 2rem 0;
	margin: 4rem 0;
	color: white;
	text-align: right;
	line-height: 1.5;
}

#homepage-standard-products .flex-grid > div:first-child {
	margin-right: 3rem;
}

#homepage-standard-products .flex-grid > div:last-child {
	display: flex;
	justify-content: center;
}


#homepage-standard-products h2 {
	text-transform: uppercase;
	font-size: 2.25rem;
}

#homepage-standard-products a {
	padding: 1rem 3rem;
	margin: 2rem 0;
	display: inline-block;
	border-radius: 10px;
	border: 1px solid var(--teal-blue);
	font-weight: bold;
}

#homepage-standard-products a:hover {
	background-color: var(--midnight-green);
	border: 1px solid white;
}

#homepage-standard-products img {
	height: 100%;
}

#featured-content {
	padding-bottom: 4rem;
}

#featured-content-image {
	width: 100%;
	max-height: 40rem;
}

#blog-accordion-wrapper {
	margin-left: 2rem;
}

#blog-accordion-wrapper .blog-accordion-title {
	text-decoration: none;
	font-size: 1.85rem;
	font-weight: bold;
	display: flex;
	justify-content: space-between;
}

#blog-accordion-wrapper .blog-accordion-read-more {
	display: inline-block;
	padding: .75rem 2rem;
	border-radius: 10px;
	font-weight: bold;
	margin-bottom: 1.5rem;
}

.blog-accordion {
	margin: 1rem 0 1rem 0;
	border-bottom: 1px solid var(--teal-blue);
}

.blog-accordion:last-child {
	border-bottom: none;
}

.blog-accordion-title {
	color: var(--teal-blue);
	cursor: pointer;
}

.blog-accordion-title:not(.blog-accordion-title-hidden)::after {
	float:right;
	content: "\2212";
}

.blog-accordion-title-hidden::after {
	float:right;
	content: "\002B";
}

.blog-accordion-content {
	max-height:0;
	overflow: hidden;
	transition-duration:  0.3s;
}

.blog-accordion-content p {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	margin-top: 0;
}

#homepage-info-cards {
	padding: 5rem 0 8rem 0;
}

#homepage-info-cards .flex-grid {
	padding: 0;
}

#homepage-info-cards li {
	list-style-type: none;
	text-align: center;
	color: var(--teal-blue);
}

#homepage-info-cards li p:first-child {
	font-weight: bold;
	font-size: 2.5rem;
	margin-bottom: 0;
}

#homepage-info-cards li p:last-child {
	font-size: 1.2rem;
	margin-top: 0;
}

#featured-content h2 {
	color: var(--teal-blue);
	text-transform: uppercase;
	border-bottom: 2px solid var(--teal-blue);
	padding: 1rem 3rem;
	text-align: center;
	font-size: 2.25rem;
	align-self: center;
}

#top-industries {
	padding-top: 1.5rem;
	padding-bottom: 2rem;
}

#top-industries h2 {
	margin-top: 0;
}

#top-industries .blue-button {
	align-self: center;
	display: inline-block;
	margin-top: 2rem;
	padding: .75rem 3rem;
	border-radius: 10px;
}



/* Page */
#page-title {
	color: white;
	padding: 3rem 0;
	margin: 0;
}

#page-title h1 {
	font-weight: bold;
	font-size: 3rem;
	margin: 0 0 .5rem 0;
}

#page-title h1:only-child {
	margin: 0;
}

#page-title p {
	margin: 0 0 .25rem 0;
}

#page-title p:last-child {
	margin: 0;
}

#page-title a {
	color: white;
}

#page-title-card {
	padding: 1rem;
}

#page-title-card h2 {
	font-size: 1.75rem;
	color: var(--teal-blue);
}

#page-title-card p {
	color: var(--granite-gray);
}

#page-title-card .flex-grid > *:last-child {
	margin-left: 1rem;
}

#page-title-card img {
	width: 100%;
	border-radius: 20px;
	padding: 1rem;
	border: 1px solid black;
	box-sizing: border-box;
}

#page-gray-subtitle h2 {
	margin: 0 0 1rem 0;
	color: white;
	font-size: 2.25rem;
	padding: 2rem 0;
	text-transform: uppercase;
}

.breadcrumb {
	display: flex;
	justify-content: center;
	margin: 30px 0;
}

.breadcrumb > * {
	padding: 0 10px;
	text-transform: uppercase;
	font-size: 13px;
}

.breadcrumb > a {
	color: var(--teal-blue);
	text-decoration: none;
}

.breadcrumb > a:hover {
	text-decoration: underline;
}

.breadcrumb > .breadcrumb-slash {
	color: var(--granite-gray);
	font-weight: bold;
}



/* Blog */
.blog-content {
	color: var(--granite-gray);
	font-weight: 300;
	padding-bottom: 2rem;
}

.blog-content p {
	margin: 0 0 10px 0;
}

.blog-content h3 {
	font-size: 31px;
	font-weight: 400;
}

.blog-content table, .blog-content thead, .blog-content tbody {
	display: block;
	width: 100%;
}

.blog-content table tr {
	display: grid;
	grid-template-columns: 49% 49%;
	column-gap: 2%;
	row-gap: 20px;
	width: 100%;
}

.blog-content table tr img {
	width: 100%;
}

.blog-content img {
	max-width: 100%;
}


.blog-item {
	list-style-type: none;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid gray;
}

.blog-item-content {
	padding-left: 1rem;
}

.blog-item h3 {
	margin-bottom: 0;
}

.blog-item-author {
	font-size: 14px;
	margin:0;
}

.blog-thumbnail {
	width: 90%;
	display: block;
	margin: auto;
	box-shadow: 3px 3px 3px black;
}

.blog-thumbnail-link {
	justify-content: center;
	display: flex;
	height: 100%;
}


.tag-title {
	text-align: center;
	margin-bottom: .5rem;
	color: var(--granite-gray);
}

.tag-list {
	display: flex;
	justify-content: center;
	padding-bottom: 2rem;
}

.tag-link {
	padding: 0 .5rem;
}

#see-more {
	padding: 1rem 2rem;
	text-align: center;
	margin: 0 auto 2rem auto;
	display: block;
	font-weight: bold;
	border-radius: 10px;
}

#see-more::after {
	padding-left: .35rem;
	content: "\002B";
}

/* FAQ */

#faq-accordion-wrapper {
	margin-left: 2rem;
}

#faq-accordion-wrapper .faq-accordion-title {
	text-decoration: none;
	font-size: 1.85rem;
	font-weight: bold;
	display: flex;
	justify-content: space-between;
}

#faq-accordion-wrapper .faq-accordion-read-more {
	display: inline-block;
	padding: .75rem 2rem;
	border-radius: 10px;
	font-weight: bold;
	margin-bottom: 1.5rem;
}

.faq-accordion {
	margin: 1rem 0 1rem 0;
	border-bottom: 1px solid var(--teal-blue);
}

.faq-accordion:last-child {
	border-bottom: none;
}

.faq-accordion-title {
	color: var(--teal-blue);
	cursor: pointer;
}

.faq-accordion-title:not(.faq-accordion-title-hidden)::after {
	float:right;
	content: "\2212";
}

.faq-accordion-title-hidden::after {
	float:right;
	content: "\002B";
}

.faq-accordion-content {
	max-height:0;
	overflow: hidden;
	transition-duration:  0.3s;
}

.faq-accordion-content p {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	margin-top: 0;
}

.faq-content {
	color: var(--granite-gray);
	font-weight: 300;
	padding: 2 rem 0 2rem 0;
}

.faq-content p {
	margin: 0 0 10px 0;
}

.faq-content h3 {
	font-size: 31px;
	font-weight: 400;
}

.faq-content table, .faq-content thead, .faq-content tbody {
	display: block;
	width: 100%;
}

.faq-content table tr {
	display: grid;
	grid-template-columns: 49% 49%;
	column-gap: 2%;
	row-gap: 20px;
	width: 100%;
}

.faq-content table tr img {
	width: 100%;
}

.faq-content img {
	max-width: 100%;
}


.faq-item {
	list-style-type: none;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid gray;
}

.faq-item-content {
	padding-left: 1rem;
}

.faq-item h3 {
	margin-bottom: 0;
}

.faq-item-author {
	font-size: 14px;
	margin:0;
}

.faq-thumbnail {
	width: 90%;
	display: block;
	margin: auto;
	box-shadow: 3px 3px 3px black;
}

.faq-thumbnail-link {
	justify-content: center;
	display: flex;
	height: 100%;
}



/* Processes and Services */
#processes-services .multicolor-accordion-content {
	width: 60%;
	margin-bottom: 2rem;
}

#processes-services .multicolor-accordion-content p {
	font-weight: bold;
	font-size: 1.15rem;
	padding: .5rem 0;
}

#processes-services .multicolor-list {
	margin-top: 1rem;
}

#processes-services .multicolor-list li h2 {
	font-size: 2.5rem;
}

#processes-services .multicolor-list li h2 .processes-services-subtitle {
	font-weight: lighter;
	font-size: 2rem;
	text-transform: lowercase;
	font-style: italic;
}



/* Standard Products */
#standard-products {
	margin: 2rem auto;
}

#standard-products .thumbnail-button > h2, #standard-products .thumbnail-button > p {
	margin-left: 5%;
	margin-right: 5%;
	text-align: left;
}

#standard-products .thumbnail-button > h2 {
	margin-bottom: .5rem;
}

#standard-products .thumbnail-button > p {
	color: var(--granite-gray);
	text-transform: none;
	margin-bottom: 1rem;
	font-size: 1.1rem;
	line-height: 1.35;
}

#standard-products .thumbnail-button:hover > p {
	color: white;
}

.standard-products-category {
	margin-bottom: 3rem;
	padding-bottom: 2rem;
	border-bottom: 2px solid var(--teal-blue);
}

.standard-products-category .white-button {
	border-radius: 10px;
	padding: 1rem 2rem;
	font-weight: bold;
	text-transform: uppercase;
	font-size: 1.25rem;
	margin-bottom: 1rem;
	display: inline-block;
}

.standard-products-category h2 {
	color: var(--teal-blue);
	font-size: 1.75rem;
	font-weight: bold;
	text-transform: uppercase;
}

.standard-products-category ul {
	padding-left: 20px;
}

.standard-products-category li {
	padding-bottom: .5rem;
}

.standard-products-category p, .standard-products-category li {
	color: var(--granite-gray);
	font-size: 1.25rem;
}

.standard-products-category b {
	text-transform: uppercase;
}

.standard-products-category table {
	width: 100%;
	border-spacing: 0;
}

.standard-products-category td {
	padding: .25rem 1rem;
}

.standard-products-category table tr:nth-child(odd) {
	background-color: var(--cultured-gray);
}

.standard-products-category table td {
	width: 25%;
}

.standard-products-category table td:nth-child(odd) {
	font-weight: bold;
	text-align: right;
}

.standard-products-category table td:nth-child(even) {
	text-align: center;
}

.standard-products-options {
	border-bottom: none;
}

.standard-products-options ul {
	padding-left: 0;
}

.standard-products-options li {
	padding-bottom: 1rem;
	list-style-type: none;
}

#product-detail-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 1rem;
}

#product-detail-tabs > span[data-target] {
	cursor: pointer;
	display: inline-block;
}

#product-detail-content > div[data-tab] {
	display: none;
}

#product-detail-content > div[data-tab] h2 {
	color: var(--teal-blue);
	font-size: 1.75rem;
}

#product-detail-content > div[data-tab] table {
	border-spacing: 0;
}

#product-detail-content > div[data-tab] td {
	color: var(--granite-gray);
	padding:.5rem;
}

#product-detail-content > div[data-tab] tr:nth-child(odd) {
	background-color: var(--cultured-gray);
}

#product-detail-content > div[data-tab] .flex-grid > * {
	padding: 1rem;
}

#product-detail-content div.active-product-tab {
	display: block;
}

#product-detail-content img {
	max-width: 250px;
}

#product-detail-tabs {
	margin-bottom: 2rem;
}

#product-detail-tabs span[data-target] {
	padding: 1rem 2rem;
	background-color: var(--teal-blue);
	color: white;
	border: 2px solid var(--teal-blue);
}

#product-detail-tabs span[data-target].active-product-tab-button {
	background-color: white;
	color: var(--teal-blue);
}

.product-file-links {
	margin: 0;
}

.product-file-links li {
	list-style-type: none;
	margin-bottom: 1rem;
	display: block;
}

.product-file-links li a {
	padding: 1rem 0;
	text-decoration: none;
	text-align: center;
	width: 100%;
	display: block;

}

.product-file-links li:hover a {
	color: white;
}

.drill-down-page-thumbnail {
	max-height: 20rem;
	margin: 0 1rem;
	float: right;
}

/* Service */
.service-page-contact-form .machine-manuals-form {
	width: 33%;
	margin-left: auto;
	margin-right: auto;
}

/* Industries */
#industries {
	padding-bottom: 2rem;
}

#industries .flex-grid {
	margin-bottom: 2rem;
}

#industries .grid-3 > p {
	text-align: center;
	color: var(--granite-gray);
	text-transform: uppercase;
	font-size: 1.35rem;
}

.industries-items {
	margin: auto;
	display: block;
	padding-top: 3rem;
	padding-bottom: 3rem;
}

.industries-items .thumbnail-button, .industries-items .thumbnail-button:hover {
	color: var(--teal-blue);
}

.industries-items b {
	font-size: 1.05rem;
}



/* Downloads */
.file-links {
	list-style-type: none;
}

#downloads .file-links, #downloads p {
	margin: 1rem 0;
	font-size: 1.35rem;
}

#downloads .file-links li {
	padding: .5rem 0;
}

#downloads .multicolor-list > li {
	margin-bottom: 1rem;
}

#downloads .multicolor-accordion-title {
	width: 100%;
	padding: 0 5%;
	box-sizing: border-box;
}

#downloads .multicolor-accordion-content h2 {
	color: var(--granite-gray);
}


#downloads .multicolor-accordion-content {
	width: 100%;
	padding: 0 5%;
	box-sizing: border-box;
}

.machine-manuals-form {
	margin: 2rem 0;
}

.machine-manuals-form > div {
	border: 2px solid var(--teal-blue);
	border-radius: 10px;
	padding: 1rem;
	display: block;
	margin: auto;
	box-sizing: border-box;
}

.machine-manuals-form input, .machine-manuals-form textarea {
	display: block;
	margin: .5rem auto;
	padding: .25rem;
	box-sizing: border-box;
	width: 100%;
}

.machine-manuals-form input {
	width: 100%;
}

.machine-manuals-form input[type="submit"] {
	border-radius: 5px;
}

.machine-manuals-form p {
	text-align: center;
}


/* Events */
#events {
	margin-top: 1rem;
}

#events .multicolor-accordion-title {
	margin-bottom: 1rem;
	padding-left: 1rem;
	padding-right: 1rem;
}

#events .multicolor-accordion-content h2 {
	color: var(--granite-gray);
	font-size: 1.5rem;
}

#events .event-list {
	margin-bottom: 1rem;
}



/* Contact Page */
.rsm-picker {
	margin: 2rem 0;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--cultured-gray);
}

.rsm-dropdown {
	display: flex;
	justify-content: center;
	align-self: center;
}

.rsm-dropdown > form {
	text-align: center;
}

.rsm-dropdown select {
	height: fit-content;
	margin: .25rem;
	background-color: white;
	border: 1px solid var(--teal-blue);
	border-radius: 0;
	font-size: 1.05rem;
	padding: .25rem .5rem;
}

.rsm-dropdown p {
	font-size: 1.5rem;
	margin: 0 0 .5rem 0;
}

.rsm-dropdown p > span {
	color: var(--midnight-green);
}

.rsm-dropdown select[disabled] {
	display: none;
}

.rsm-content {
	background-color: var(--cultured-gray);
	padding: 2rem 1rem;
	min-height: 20rem;
	color: var(--granite-gray);
	display: flex;
	align-items: center;
	box-shadow: 1px 1px 3px var(--granite-gray);
}

.rsm-content .rsm-content-empty {
	margin: auto;
}

.rsm-content h2 {
	margin-top: 0;
}

.rsm-content p {
	margin: 0.75rem 0;
}

.rsm-content svg {
	fill: var(--teal-blue);
	margin-right: .25rem;
}

.rsm-content img {
	width: 100%;
	padding: .5rem;
	border: 1px solid black;
	border-radius: 20px;
	box-sizing: border-box;
}

#rsm-contact {
	border-bottom: 1px solid var(--cultured-gray);
}

#rsm-contact img {
	width: 100%;
}

#rsm-contact .col-7 {
	margin-right: 1rem;
}

#rsm-contact .multicolor-list {
	margin-top: 0;
}

#rsm-contact .multicolor-list li {
	list-style-type: none;
	margin-bottom: 1rem;
}

#rsm-contact .multicolor-list li h2 {
	font-size: 2rem;
	font-weight: normal;
	text-transform: none;
}

#rsm-contact .multicolor-accordion-content p {
	margin: 0 0 .25rem 0;
	color: var(--granite-gray);
}


#rsm-contact .multicolor-accordion-content .contact-image {
	padding: 1rem;
	border-radius: 20px;
	border: 1px solid black;
}

#rsm-contact .multicolor-accordion-content > * {
	margin: .75rem 0;
}

#rsm-contact path {
	fill: var(--teal-blue);
}

#rsm-contact .contact-social-icons {
	margin-top: 1rem;
}

#rsm-contact .contact-social-icons a {
	margin-right: .5rem;
}

#rsm-contact .background-yellow-pastel.multicolor-accordion-title > h2 {
	color: var(--granite-gray);
}

.contact-list {
	margin: 2rem 0;
}

.contact-list .thumbnail-button  {
	display: flex;
	flex-direction: column;
	width: 90%;
	text-align: center;
	color: var(--teal-blue);
}

.contact-list .thumbnail-button > img {
	margin-left: auto;
	margin-right: auto;
}

.contact-list .thumbnail-button > h2 {
	margin: 0;
}

.contact-list .thumbnail-button:hover {
	color: var(--teal-blue);
}

.contact-list .contact-socials {
	margin-top: .5rem;
	display: flex;
	flex-direction: row;
	justify-content: center;
}

.contact-list .contact-socials svg {
	fill: var(--teal-blue)
}

.contact-list .contact-socials > *:not(:last-child) {
	margin-right: 10px;
}


/* Partners */
.partners-list {
	margin-bottom: 2rem;
}
.partners-list li {
	margin-bottom: 1rem;
}


/* About Us */
.about-us-unbiased-approach li {
	margin-bottom: .5rem;
}

.about-us-values {
	margin-top: 3rem;
	margin-bottom: 3rem;
	text-align: center;
}

.about-us-values > h2 {
	text-transform: uppercase;
}

.about-us-values > h2, .about-us-values > p {
	text-align: center;
}

.about-us-green {
	color: var(--mustard-green);
}

.about-us-orange {
	color: var(--dark-pastel-red);
	margin-top: 3rem;
}

.about-us-purple {
	color: var(--japanese-violet);
	margin-top: 3rem;
}

.about-us-teal {
	color: var(--teal-blue);
}

.about-us-values-list h3 {
	margin-top: 0;
	margin-bottom: .5rem;
}

.about-us-values-list p {
	margin: 0;
}


/* Distributors */
#distributors-headline {
	text-align: center;
}

#distributors-headline .content-paragraph p {
	font-size: 1.5rem;
	text-align: center;
}

#distributors-list {
	text-align: center;
}

#distributors-list p {
	margin: 0;
}