@charset "UTF-8";
/* Web Solutions 4.0 Compatible */

html {
	scroll-padding-top: 8.375em; /* Scroll offset for sticky header */
}



/* HEADINGS ------------------------------ */
h1, .h1-style {
	font-size: 2.6875em;
}

h2, .h2-style {
	font-size: 2.0625em;
}

h3, .h3-style {
	font-size: 1.75em;
}

h4, .h4-style, th {
	font-size: 1.5em;
}

h5, .h5-style {
	font-size: 1.1em;
}

h6, .h6-style {
	font-size: 1.0em;
}

.intro {
	font-size: 1.25em;
}



/* HEADER ------------------------------*/
body>header {
    background: #FFF;
    box-shadow: 0 1px 5px 0 rgba(69, 91, 91, 0.1);
    padding-inline: 1.875em 1.25em;
    padding-inline: 20px;
    position: sticky;
    top: 0;
    z-index: 10;
}

body.management>header {
	top: 35px;
}

#brand {
	display: block;
	max-width: 15em;
	padding-block: 1.25em;
	flex-shrink: 0;
	order: 1;
}

#brand img {
	display: block;
	height: auto;
	width: 100%;
}

nav ul {
	margin: 0;
}

#navContainer {
	order: 2;
}

#mainnav {
	overflow: visible;
}

#mainnav > ul {
	display: flex;
	justify-content: center;
	gap: 10px;
}

#mainnav ul {
	
  margin: 0;
  padding: 0;
  text-align: center;
}

#mainnav li {
	align-items: center;
	display: flex;
	position: relative;
	line-height: 1;
}

#mainnav a {
	border-radius: 0.5em;
	color: var(--ws-shade-3);
  display: inline-block;
  font-weight: 500;
  font-size: 0.875em;
  text-decoration: none;
  padding: 0.75em;
}

#mainnav li.menu-item-has-children > a {
  padding-right: 2em;
}

/* On-state */
#mainnav>ul>li.on>a {
	background: var(--ws-shade-5);
}

/* Hover/focus-state: */
#mainnav>ul>li:is(:hover,:focus-within)>a {
	background: var(--ws-shade-4);
}


/* Accessible dropdowns */
#mainnav>ul>li>button {
	display: inline-block;
	background: transparent;
	bottom: 0;
	border: 0;
	height: .5rem;
	margin-left: -2rem;
	padding: 0;
	pointer-events: none;
	height: 1.6875rem;
	width: 1.6875rem;
	box-shadow: none;
}

#mainnav>ul>li>button:focus {
	outline-offset: -6px;
}

#mainnav>ul>li>button:before {
	mask: url('/images/icons/misc/chevron-down.svg') no-repeat center / contain;
	content: '';
	height: .75rem;
	display: block;
	background-color: var(--ws-shade-3);
}


/* Drop-down menu */
#mainnav li>div {
	background-color: rgba(255, 255, 255, 1);
	border-radius: 8px;
	box-shadow: 0 0 0 1px rgba(243, 244, 246, 1), 0 1px 5px 0 rgba(69, 91, 91, 0.1);
	height: auto !important;
	left: 0;
	opacity: 0;
	padding: 0.34375em 0;
	position: absolute;
	top: -200vh;
	visibility: hidden;
	width: 12.5em;
}

#mainnav li:first-child>div {
	width: 15.625em;
}

/* fade out */
#mainnav li:not(.expand)>div {

	transition:
		opacity .2s ease-out 0.25s,
		visibility .2s ease-out 0.25s,
		top 0s linear 0.7s;
}

#mainnav li:hover>div,
#mainnav>ul>li.tapped>div,
#mainnav>ul>li>a:focus+div,
#mainnav>ul>li.expand>div {
	opacity: 1;
	top: 100%;
	visibility: visible;
}

/* fade in */
#mainnav>ul>li:is(:hover, .expand)>div {

	transition:
		opacity .2s ease-in .3s,
		visibility .2s ease-in 0s,
		top 0s linear .3s;
}

#mainnav li ul li {
	display: block;
	margin-inline: 5.5px;
	margin-bottom: 1px;
	padding: 0;
}


#mainnav li ul li a {
  display: block;
  padding: 0.5rem 0.65625rem;
  text-align: left;
  width: 100%;
  font-weight: 400;
  font-size: 0.875em;
	border-radius: 4px;
}

#mainnav li ul li a:is(:hover, :focus),
#mainnav li ul li.on a {
	background: var(--ws-shade-5);
	/* color: #000; */
}

#mainnav li ul ul {
	display: none;
}

body>header .header-utility {
	align-items: center;
	display: flex;
	order: 3;;
}

body>header.logged-in .header-utility a {
    line-height: 2.5rem;
}

body>header.logged-in .header-utility a:not(:last-child) {
    border-right: 1px solid #E7E7E9;
}

body>header.logged-in .header-utility .phone {
	border-radius: 0.5em 0 0 0.5em;
}

body>header.logged-in .header-utility .cart {
	border-radius: 0 0.5em 0.5em 0;
}

body>header.logged-in .header-utility .cart span {
    background: var(--light-blue);
    border-radius: 3em;
    display: block;
    line-height: 1.875rem;
    min-width: 1.875rem;
	padding: 0 0.5rem;
    text-align: center;
    text-decoration: none;
	transition: var(--transition);
}

/* mobile */
#mobilenav, .toggleNav {
	visibility: hidden;
  display: none;
}

/* MAIN ------------------------------ */

main>.wrap {
	display: grid;
	gap: 1em;
	grid-template-columns: repeat(12, 1fr);
	padding: 3.75em 0 5em;
	position: relative;
}

#content {
	grid-column: 4 / -1;
	grid-row: 1;
	min-height: 37.5em;
	padding: 0 0 3.125em;
}

main>.wrap>#content:only-child {
	grid-column: 2 / -2;
}

body[class*=forgot-password] main>.wrap>#content:only-child {
	grid-column:3 / -3;
}

main>div>aside {
	grid-column: 1 / span 3;
	grid-row: 1;
	min-width: 14.375em;
}

body.fullWidth main>div>#content {
  float: none;
	margin: 0 auto;
  width: 100%;
}

main>div>aside nav {
	max-width: 14.375em;
}

.photoright {
	margin: 0 0 3em 4em;
}

.photoleft {
	margin: 0 4em 3em 0;
}

.wsManagementLogin td:first-child {
  text-align: right;
	width: 40%;
}

#popover .close:is(:hover, :focus) {
	opacity: 0.5;
}

.shareIcons a:is(:hover, :focus) {
	background-color: var(--link-color-hover);
}

.twoCol, .threeCol, .resCol {
	/* column-rule: 1px outset rgba(0,0,0,.15); */
}

.twoCol {
	columns: 2;
}

.threeCol {
	columns: 3;
}

.resCol {
	columns: auto;
	column-width: 13em;
}

.formTable td {
	width: 50%
}

.formTable td {
	padding: 0 0 .5em .5em
}

.formTable td:first-child {
	padding: 0 .5em .5em 0
}

.formTable td[colspan="2"] {
	padding-right: 0
}

.formTable.formLoose,
.formTable.formLoose td {
	width: auto
}


/* Contact Form - table removed ----- */


.form-grid {
    grid-template-columns: repeat(12, 1fr);
}

.form-grid > aside {
	grid-column: 1 / span 3;
	min-width: 21.75em;
    padding: clamp(1.875em, 1.102em + 3.86vw, 4em) clamp(1.25em, 0.614em + 3.18vw, 3em);
}

.form-locations {
	position: sticky;
	top: calc(var(--header-height) + 35px);
	max-width: 17.1875em;
	margin-inline: auto;
}

.form-grid > .form-container {
	display: grid;
	grid-template-columns: subgrid;
	grid-column: 4 / -1;
	padding: clamp(1.875em, 1.102em + 3.86vw, 4em) clamp(1.875em, 0.739em + 5.68vw, 5em);
}

.form-grid > .form-container .form-wrap {
	grid-column: 2/-2;
}

.form-flex .half {
	width: calc(50% - .5em); /* Full on mobile */
}

.form-flex .third {
	width: calc(33.33% - .5em); /* Full on mobile */
}

.form-flex .quarter {
	width: calc(25% - .5em); /* Half on mobile */
}



/* FOOTER ------------------------------ */

.fatFooter>nav {
	display: flex;
	width: 80%;
}

.fatFooter>nav>ul {
	width: 25%;
}

#web-solutions {
	float: right;
	margin-left: 0.6875em;
}

body>footer a:is(:hover, :focus) {
	color: #FFF;
}

body>footer .wrap nav span:before {
	content: "|";
	margin: 0 0.5em
}

.area-list {
	column-count: 2;
}

/* CTA */

.cta {
	/* display: flex;
	justify-content: space-between; */
}

.cta-image {
	/* width: 50%; */
}

/* Home hero */

.home-hero {
	position: relative;
}

.home-hero .hero-left {
	padding: clamp(3em, 2.159em + 4.2vw, 5.313em);
}

.home-hero .hero-left .container {
    margin-inline: auto;
    max-width: 43.75em;
}

.home-hero h1 {
	font-size: 3.125em;	
    margin-bottom: 1.5625rem;
}


/* Why Us */

.info-list {
	grid-template-columns: 1fr 1fr;
}

/* Services */

.services-ribbon > .wrap {
	display: flex;
	gap: 7.3125em;
}

.services-ribbon-intro .alert {
	margin-top: auto;
}

.service-list {
	margin: 0;
}

.landing .service-list li {
	width: calc(50% - var(--ws-gap));
}

.landing .service-list {
	flex-direction: row;
}

/* Process */

.process-list li {
	flex: 1;
}

/* complete-management */

.complete-management header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25em;
}

.complete-management h2 {
	flex: 1 1 100%;
  min-width: 0;
	margin-bottom: 0;
}

.complete-management .service-list {
	--ws-gap: 1.875em;
	justify-content: flex-start;
}

/* Partners */

.icon-list {
	flex-direction: row;
	flex-wrap: wrap;
}

.icon-list.icon-list-centered {
	justify-content: center;
}

.icon-list li {
	width: calc(50% - 0.9375em);
}

.single-service-hero > .wrap > * {
	flex: 1;
}



/* callout cards */

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

.service-area-map {
	padding-block: 3.75em 0;
}

.service-area-map-image {
	position: relative;
	margin-top: -12.5em;
	width: fit-content;
	margin-left: auto;
}

/* Service Regions */

.service-regions > .wrap {
	display: flex;
	gap: 100px;
}

.service-regions > .wrap > * {
	flex: 1;
}

/* Regulations */

.regulations > .wrap {
	display: flex;
	gap: 5.625em;
}

.regulations > .wrap > * {
	flex: 1;
}

.regulations .info-list {
	grid-template-columns: 1fr;
}


/* Quote form */

.form-heading h2,
#ContactForm fieldset legend,
#ContactForm:not(.landing-form) label[for=comments] {
	font-size: 1.5625em;
	line-height: 1.3;
}

/* Login */

.login-grid {
	grid-template-columns: 1fr 1fr;
}

.login-grid h2 {
	font-size: 1.4375rem;
}
















/* Logged In: 1400px */
@media (max-width: 87.5em) {
	.logged-in #brand {
		order:1;
		padding-left: 1em;
	}

	.logged-in .header-utility {
		order:2;
	}

	.logged-in #navContainer {
		order: 3;
		padding: 0 1em 1em;
		width: 100%;
	}

	.logged-in #mainnav > ul {
		justify-content: space-around;
	}

	.logged-in #mainnav > ul > li:last-child > div {
		right: 0;
		left: auto;
	}


}

/* 1150px */
@media (max-width: 71.875em) {
	#brand {
		order:1;
		padding-left: 1em;
	}

	.header-utility {
		order:2;
	}

	#navContainer {
		order: 3;
		padding: 0 1em 1em;
		width: 100%;
	}

	#mainnav > ul {
		justify-content: space-around;
	}

	#mainnav > ul > li:last-child > div {
		right: 0;
		left: auto;
	}

}

.types-list {
	grid-template-columns: repeat(3, auto);
}

/* 1080px */

@media (min-width: 67.5em) {

	.icon-list-3-col li {
		flex-basis: calc((33.33% - 1.875em));
		flex-grow: 0;
		flex-shrink: 0;
	}

#ContactForm fieldset legend {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 0 1em;
}

.form-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

	/* icon box */

.icon-box-list.icon-box-list-row {
	grid-template-columns: repeat(4, 1fr);
	gap: 2.5em;
}

	/* Intro Text */

.intro-text > .wrap {
	flex-direction: row;
	gap: 5.375em;
}

.intro-text:not(.text-taller) > .wrap {
	align-items: center;
}

.intro-text-left,
.intro-text-right {
	flex: 1;
}


.intro-text-left img {
	display: block;
	position: sticky;
	top: 9.375em;
}


.compliance-steps-media iframe {
	position: sticky;
	top: 120px;
}

.compliance-steps {
	display: flex;
}

.compliance-steps > * {
	flex: 1;
}

.compliance-steps-media {
	position: relative;
	padding: 3.75em 4em;
}

.compliance-steps-media::before {
	content: '';
	position: absolute;
	inset: -1em;
	background: linear-gradient(rgba(16, 24, 40, 0.6), rgba(16, 24, 40, 0.6)),
    url("/images/compliance-speaker-bg.webp");
	background-size: cover;
	filter: blur( 7px );
}

	.landing .service-list {
		justify-content: center;
	}

	.landing .service-list li {
		width: calc(33.33% - var(--ws-gap));
	}

	.icon-list:not(.icon-list-3-col) li {
		flex: 1;
		width: calc(25% - var(--ws-gap));
	}

	.partners .icon-list li {
		flex: initial;
	}

	/* Quote Form */

	.quote-form header {
		display: flex;
		gap: 1.25em;
	}

	.quote-form > .wrap {
		display: flex;
		justify-content: space-between;
		gap: 6.25em;
	}

	.quote-form:has(.icon-box-list) > .wrap {
		gap: 3.75em;
	}

	.quote-form:has(.icon-box-list) h2 {
		text-align: left;
	}

	.quote-form-left {
		width: 40%;
	}
	.quote-form-right {
		width: 60%;
	}

	.quote-form:has(.icon-box-list) .quote-form-left {
		width: 45%;
	}
	.quote-form:has(.icon-box-list) .quote-form-right {
		width: 55%;
	}

	.types-list {
		grid-template-columns: repeat(4, auto);
	}

	.area-list {
		column-count: 3;
	}

	.cta-text {
		padding: 6.25em 0;
		padding-right: 3.125em;
		width: 50%;
	}
	
	.cta + .cta .cta-text {
		padding-left: 3.125em;
		width: 50%;
	}

	.cta-image {
		position: absolute;
		z-index: 1;
		top: 0;
		bottom: 0;
		left: 50%;
		right: 0;
		grid-row: 1;
		clip-path: polygon(15% 0%, 100% 0, 100% 100%, 0% 100%);
	}
	
	.cta + .cta .cta-image {
		/* Angle on the right */
		clip-path: polygon(0% 0%, 100% 0%, 85% 100%, 0% 100%);
		right: 50%;
		left: 0;
	}
	
	.cta + .cta .wrap {
		display: flex;
		justify-content: flex-end;
	}

	.cta-alt .cta-text {
		padding-left: 50px;
		width: 50%;
		margin-left: auto;
	}

	.cta-alt .cta-image {
		right: 50%;
		left: 0;
		clip-path: polygon(0 0, 100% 0, 85% 100%, 0% 100%);
	}

	.hero-left {
		width: 60%;
		padding: 5.3125em 0;
		padding-right: 1.25em;
	}

	.hero-right {
		position: absolute;
		left: 60%;
		right: 0;
		top: 0;
		bottom: 0;
	}

	.hero-right img {
		max-height: none;
	}

	.header-utility {
		order: 1;
	}
}












/* 900px */
@media screen and (max-width: 900px) {
	.form-grid > aside {
		min-width: 18em;
	}
	.form-grid > .form-container .form-wrap {
		grid-column: 1/-1;
	}
	.login-grid {
		grid-template-columns: 1fr;
	}
}
