:root {
	--yellow: #ffc844;
	--green: #00b498;
	--blue: #01216a;
	--red: #940207;
	--paper: #ffffff;
	--base: #292929;
	--gap: 30px;

	.nospace {
		margin-top: 0;
		padding-top: 0;
		margin-bottom: 0;
		padding-bottom: 0;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

* {
	margin: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

html {
	scroll-behavior: smooth;
}

body,
html {
	min-height: 100vh;
	height: 100%;
	hyphens: none;
}

body {
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	font-family: "Barlow Condensed", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: var(--base);
	border-top: 20px solid var(--yellow);
	padding-top: 20px;
}

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

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
	width: 100%;
}

input,
button,
textarea,
select {
	font: inherit;
}

.page {
	/* max-width: 90em; */
	margin-inline: auto;
}

/* Typography */

p,
h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
	font-family: "Barlow Condensed";
	line-height: 1.3;
	hyphens: none;
}

h2 strong{
	font-weight: 600;
}

:root h1 small{
	display: block;
	font-size: 1.5rem;
	font-weight: 500;
	margin: -1.2rem 1rem 1rem 0;
	color: var(--green);
	text-align: right;
}

h1,
h2,
h3,
h4 {
	--pico-font-weight: 500;
}

.text-xl {
	font-size: 3.25rem;
	font-weight: 500;
	letter-spacing: -0.15rem;
	line-height: .9;
	margin-bottom: .5rem;
}

.text-lg {
	font-size: 1.5rem;
	font-weight: 500;	
	line-height: 1.1;
	margin-bottom: .5rem;	
}

.text-md {
	font-size: 1.25rem;
}

.text-sm {
	font-size: .8rem;
}

.clr-0 {
	color: var(--paper);
}

.clr-1 {
	color: var(--blue) !important;
}

.sb-1 {
	padding-top: 10px;
	margin-bottom: 10px;
}

.nbrk {
	white-space: nowrap;
}

/* navigation */
.mobile-header {
	padding: 0 var(--gap);
	background-color: var(--yellow);
}

#mobile-nav {
	text-align: center;
	display: flex;
	gap: 20px;
	line-height: 1.0;
	background-color: var(--yellow);
	margin-top: -20px;
}

nav a:link {
	text-decoration: none;
	padding-top: .9em;
	padding-bottom: .9em;
	font-size: .98rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--base);
	text-align: center;
}

.button,
main button {
	color: var(--paper) !important;
	display: inline-flex;
	padding: .9em 1em;
	font-weight: 600 !important;
	text-decoration: none;
	background-color: var(--blue);
	text-align: center !important;
}


input[type="submit"]{
	text-align: center !important;
}

.caps {
	text-transform: uppercase;
}

/* header */
header {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.product_logo{
	max-width: 450px;
	margin-bottom: 30px;
}

	.cookies .product_logo,
	.contact .product_logo, 
	.unsubscribe .product_logo{
			max-width: 300px;
	}

@media (min-width: 769px) and (max-width: 1030px) {
	header {
		flex-direction: column;
		gap: var(--gap);
	}
	
	.contact .product_logo{
			margin: 30px 0 0;
	}

	header nav {
		max-width: unset;
	}
}

hgroup {
	--pico-font-weight: 500;
	--pico-muted-color: #292929;
}

hgroup strong {
	font-weight: 600;
}

header #branding {
	aspect-ratio: 3 / 1;
	max-height: 90px;
	padding: 20px 5px;
}


header #branding img {
	object-fit: contain;
}

header nav {
	display: flex;
	justify-content: space-evenly;
	align-content: center;
	gap: var(--gap);
	/* max-width: 800px; */
}

main{
	padding: var(--gap) var(--gap) 100px var(--gap);
	align-items: center;
}

.footnotes {
	padding: var(--gap) 0 0 0;
	align-items: center;
}

.unsubscribe main{
	padding-bottom: 0;
}

[role="group"] label span {
	padding: 0 0 0 .25em !important;
	display: inline-flex !important;
	line-height: 1.2 !important;
}


@media (max-width:768px) {
	body {
		font-size: 115%;
		border-top: 0px solid var(--yellow);
	}

.product_logo{
	margin-top: -30px;
	}

	.cookies .product_logo,	
	.contact .product_logo, 
	.unsubscribe .product_logo{
			margin: 0 auto;
	}

	header {
	justify-content: center;
}


	span.br {
		display: none;
	}

	main .featured {
		order: -1;
		padding-bottom: 50px;
	}

	.unsubscribe main .featured{
		padding-bottom: 0;
	}

	.content {
		text-align: center;
	}

	[role="group"] {
		display: block;
	}

	[role="group"] label {
		margin-bottom: 15px;
	}

	label {
		display: inline-block;
	}

	label span {
		display: inline;
	}

	/* label br {
		display: none;
	} */

	.hide-on-mobile {
		display: none !important;
	}

	.hide-on-desktop {
		display: block;
	}

	#connect-link {
		white-space: nowrap;
		margin: 20px auto !important;
	}
}

@media (min-width: 769px) {
	body {
		font-size: 100%;
	}

	span.br {
		display: block;
	}

	.balance {
		display: block;
		max-width: 30ch;
	}

	.hide-on-desktop,
	.req br {
		display: none;
	}
	main .featured {
	min-width: 500px;
}
}


main .featured {
	display: grid;
	place-content: center;
}

main .featured img {
	max-width: 700px;
	object-fit: contain;
}



#stay:before {
	content: "";
	width: 200px;
	height: 150px;
	background-color: transparent;
	position: absolute;
	top: -150px;
	left: -25px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 733 628'%3E%3Cpath fill='%23003c71' d='M41.3 8.4c38-9.4 38.6-18.8 54.2 29.5c22.6 69.8 71.8 118.1 135 153.4c58 32.4 121.1 52 183.3 73.7c67.2 23.4 133 50 190.2 93.5c64.5 48.9 106.9 112.6 127.2 191.1c4 15.1-1 23.1-15.4 26.8c-15.5 3.9-30.9 8.3-46.3 12.3c-12.1 3.1-20.7-0.7-23.9-13.4c-24.8-99.1-93.8-156.7-183.3-195.5c-60.1-26-123.3-43.7-184.2-67.6c-69.7-27.4-135.2-61.4-188.2-115.8c-43.5-44.8-71.4-98.3-87.9-158.2c-3.3-11.8 .3-19.3 12.2-22.5c9-2.5 18.1-4.9 27.1-7.3'/%3E%3Cpath fill='%2300b398' d='M552.6 620.1c-50.1 14.2-40.7 9.8-55.8-28.3c-17.1-43.3-48.2-72.6-89.3-92.3c-74.5-35.8-154.3-50.1-235.7-56.7c-51.6-4.2-45.4-5.4-42-49.3c3.7-48.8 4.9-44.2 47.4-40.5c88.5 7.7 175.2 23.3 257.1 59.8c74.7 33.2 127.6 86.3 153.2 164.8c8.8 27 5.8 31.6-22.2 39.1l-12.7 3.4'/%3E%3C/svg%3E");
	background-size: 200px 200px;
	background-position: -25px 0;
}

#stay:after {
	content: "";
	width: 200px;
	height: 150px;
	background-color: transparent;
	position: absolute;
	top: -150px;
	right: 0;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8' standalone='no'%3F%3E%3C!-- Created with Keyshape --%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 415 460'%3E%3Cpath id='Path-6671' fill='%23ffc845' stroke='none' d='M0.56076,408.41C0.56076,361.523,0.517761,361.14,46.2519,356.431C96.7382,351.224,137.022,327.397,170.267,290.24C230.766,222.622,268.973,142.365,300.941,58.6205C306.275,44.6659,311.041,30.483,316.29,16.4854C321.454,2.68958,330.288,-3.50122,345.409,2.2182C363.475,9.04584,381.755,15.3342,399.949,21.8063C413.093,26.487,417.276,36.3298,412.993,48.5925C372.664,164.058,324.1,275.285,239.19,366.141C183.37,425.873,113.511,456.883,31.6589,459.799C3.64886,460.792,0.605499,457.196,0.564056,429.016C0.549316,422.16,0.564056,415.288,0.564056,408.417' transform='translate(207.584,230.018) translate(-207.584,-230.018)'/%3E%3C/svg%3E%0A");
	background-size: 200px 200px;
	background-position: 50px 0;
}

.bsd {
	font-family: "Big Shoulders Display";
}

sup,
sub {
	font-size: 70%;
	font-weight: 300;
	vertical-align: baseline;
	position: relative;
	top: -0.3em;
	padding-left: 2px;
}

sub {
	top: 0.4em;
}

#stay {
	background-color: var(--blue);
	--pico-h3-color: var(--paper);
	--pico-color: var(--paper);
	text-align: center;
	padding: 1.5em 1.5em 150px;
	margin-bottom: -120px;
	/* z-index: -1; */
}


#isi-wrapper {
	margin-top: 100px;
}

.unsubscribe #isi-wrapper {
	margin-top: 25px;
}

#isi-wrapper strong {
	font-weight: 500;
}


#isi-wrapper a {
	color: inherit;
}

mark {
	background-color: transparent;
	color: var(--yellow);
}

.unsubscribe mark {
	background-color: transparent;
	color: var(--blue);
}

a[href^="tel:"] {
	text-decoration: underline;
}

/* Form */

.form-container {
	max-width: 95ch;
	background-color: var(--yellow);
	border-bottom: 10px solid var(--blue);
	z-index: 500;
	padding: 2rem;
	text-align: left;
	color: var(--blue);
	margin-bottom: var(--gap);
	position: relative;
	--pico-form-element-spacing-vertical: 5px;
	--pico-form-element-spacing-horizontal: 10px;
}

.error input,
.error select {
	border: 2px solid var(--red);
}

.form-container small {
	color: var(--red);
}

.form-container svg {
	position: absolute;
	max-width: 80px;
	height: auto;
	top: 20px;
	right: 20px;
}

.form-top {
	padding-top: 50px;
}

.form-container label,
.form-container p strong {
	font-weight: 500;
}

.radiogroup label {
	margin-right: 2em;
	flex-grow: 0;
	font-weight: 300;
}

label[for="typeoftreatment"] {
	display: flex;
}

label[for="typeoftreatment"] span {
	margin: 0;
	padding: 0;
	line-height: 1.0;
}

.req{
	color: red;
}

/* contact page */
.contact-widgets{
	margin-top: var(--gap);
}

.contact-widgets .grid{
	border-bottom: 2px solid var(--yellow);
}

details{
	cursor: pointer;
	border: 1px solid var(--paper);
	padding: 15px 20px;
	margin: 20px 0;
	text-align: left;
}


details summary::-webkit-details-marker, summary:after { display:none !important; }

details:hover{
	/* border-color: var(--green); */
	border-radius: 8px;
	background-color: rgba(0, 180, 152, 0.15);
}

summary{
	display: flex;
	justify-content: flex-start;
	gap: 10px;
	align-items: center;
	font-size: 1.05rem;
	font-weight: 500;
	overflow: hidden;
	line-height: 1.4 !important;
}

summary img{
	display: block;
	width: 100px;
	height: auto;
	margin-right: 1em;
}

details p{
	margin-left: 130px;
}

/* footer */



@media (max-width: 768px) {

	.logos {
		margin: 50px 0 30px;
		display: block;
	}

	#corporate {
		max-width: 200px;
		display: block;
		margin-bottom: 10px;
	}

	#vita {
		max-width: 350px;
		display: block;
		margin-bottom: 10px;
	}
}

@media (min-width: 769px) {

	.logos {
		margin: 50px 0 30px;
		display: grid;
		grid-template-columns: 200px 1fr 300px;
		gap: var(--gap);
	}

}

a[href="#top"] {
	font-weight: 500;
	margin: 60px 0;
}

.show_isi #isi-widget {
	display: block;
	-webkit-animation: slide-top 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
	animation: slide-top 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}


#isi-widget {
	width: 100vw;
	height: 200px;
	background-color: var(--paper);
	box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, .2);
	overflow: hidden;
	bottom: -200px;
	position: fixed;
	display: none;
	z-index: 99999;
}

#isi-widget .link-icon {
	position: relative;
	display: inline-flex;
	margin-left: auto;
}

.widget-link {
	display: inline;
}

.widget-link svg {
	stroke: var(--blue);
}

.widgetbar {
	background-color: var(--yellow);
	margin-bottom: var(--gap);
}

.widgetbar .container {
	display: flex;
	justify-content: space-between;
}

.widgetbar h4 {
	padding: 5px 0;
	margin: 0;
}

.scrollable {
	height: 100px;
	overflow: scroll;
	border: 1px solid var(--base);
	padding: 10px;
}

.has-link-icon {
	position: relative;
	display: inline-flex;
	padding-right: 50px;
}

.link-icon {
	max-width: 30px;
	position: absolute;
	right: 0;
	stroke: var(--green);
}

footer {
	position: relative;
}

footer nav {
	justify-content: start;
	margin-bottom: var(--gap);
	line-height: 1.0;
}

footer nav a {
	padding: 0 10px 0 0 !important;
	margin: 0 10px 0 0 !important;
	border-right: 1px solid var(--base);
}

footer nav * {
	flex-grow: 0;
}

footer:after {
	content: "";
	width: 200px;
	height: 150px;
	background-color: transparent;
	position: absolute;
	bottom: -50px;
	right: 0;
	background-image: url("data:image/svg+xml,%3Csvg id='corner-swoop' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 580 459'%3E%3Cpath d='M.3 422.3c.6-31.3-6.6-33.8 34-35.8c58.7-3 106.3-31 146.7-72.6c37.1-38.2 65.4-82.9 95-126.6c32.1-47.1 66.3-92.5 111.8-127.7c49.6-39.1 111.1-59.9 174.2-58.8c12.6 .1 17.7 5.6 17.6 17.5c-0.2 12.8 0 25.6-0.1 38.4c-0.1 10-4.8 15.9-15.3 15.7c-81.9-1.4-140.7 40-189.3 101.2c-32.6 41.1-59.4 86.3-90.5 128.5c-35.6 48.2-75.5 91.9-128.6 121.6c-43.7 24.4-90.9 34.8-140.6 35.2c-9.8 .1-14.9-4.2-14.9-14.1c0-7.5 0-15 0-22.5' fill='%23003c71'/%3E%3Cpath d='M579.6 153.7c.6 41.7-0.9 33.4-33.5 37.2c-37.1 4.3-66.2 22.3-90 50c-43.1 50.2-70.7 108.9-92.7 170.6c-14 38.9-13.6 33.9-46.9 22.2c-37-13-33.1-12.9-21.5-45c24.3-67 54.4-130.7 99.6-186.5c41.2-50.9 93.3-80.8 159.3-84.4c22.7-1.2 25.7 2.1 25.7 25.3v10.6' fill='%2300b398'/%3E%3C/svg%3E");
	background-size: 200px 200px;
	background-position: 50px 0;
}

hr {
	border-color: var(--base);
}

.dwb{
	display: inline;
}

@media screen and (min-width: 768px) {
	.dwb{
		display: block;
	}
}

.plain {
	border: none;
}

.full-width {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

.legal {
	font-size: 70%;
	line-height: 1.0;
	margin-bottom: 30px;
}

.legal span {
	display: block;
}

/* dividers */

.slope {
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	transform: rotate(180deg);
}

.slope svg {
	position: relative;
	display: block;
	width: calc(100% + 1.3px);
	height: 66px;
	transform: rotateY(180deg);
}

.slope .shape-fill {
	fill: #FFFFFF;
}


@-webkit-keyframes slide-top {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	100% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
}

@keyframes slide-top {
	0% {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	100% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
}
