/* CSS Document */

/*
root {
	--mustard: #E0A74D;
	--sienna: #BE4827;
	--cactus: #9A9A74;
	--sky: #B3C1C5;
	--marshmallow: #F3F0E1;
	--stone: #49403F;
}*/

html {
  scroll-behavior: smooth;
}

body {
	margin:0;
	font-size:10px;
}

h1, h2, p, legend {
	margin:0;
}

h1, h2, h3, input[type=submit], button, input[type=text], input[type=email], input[type=tel], .ts>p, legend, label, form .error, .button, .link {
	font-family:futura-pt, sans-serif;
	font-weight:600;
	font-style:normal;
}

h1.big {
	font-size:2.5em;
}

h3, legend, label {
	text-transform:uppercase;
	font-size:1.5em;
	letter-spacing:0.05em;
	margin:10px 0px;
}

.button, input[type=submit], button {	
	color:#000000;
	font-size:1.5em;
	text-decoration:none;
	text-transform:uppercase;
	letter-spacing:0.5px
}

p {
	font-family:adobe-text-pro, serif;
	font-weight:400;
	font-style:normal;
	font-size:1.75em;
}

p.small {
	font-size:1em;
}

p.subtle {
	font-style:italic;
}

span.subtle {
	font-family:adobe-text-pro, serif;
	text-transform:none;
	font-weight:300;
	font-style:italic;
	font-size:0.75em;
}

p.fineprint {
	font-family:sans-serif;
	font-weight:300;
	font-size:1.2em;
	text-align:justify;
	margin:0 0 16px;
}

span.highlight {
	padding:4px 12px;
	line-height:2.5em;
	border-radius:1000px;
	background:#E0A64C;
	color:#ffffff;
}

.ts>p {
	font-family:futura-pt, sans-serif;
	font-weight:600;
	font-style:normal;
	text-transform:lowercase;
	color:#999999;
	padding:16px 0;
	margin:8px 0;
	background-color:#f2f2f2;
	border-radius:12px;
	flex-grow:1;
}

span.gray {
	color:#A3A3A3;
}

.leader, span.highlight.leader {
	background:#E0A64C;
}

.achiever, span.highlight.achiever {
	background:#B2C0C2;
}

.survivor, span.highlight.survivor {
	background:#638285;
}

.planner, span.highlight.planner {
	background:#76907F;
}

.protector, span.highlight.protector {
	background:#A94518;
}

.adventurer, span.highlight.adventurer {
	background:#C85718;
}

span.strikethrough {
	text-decoration:line-through;
}

.button {
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	padding:16px 0;
	background-color:#f2f2f2;
	border-radius:12px;
	flex-grow:1;
	min-height:20px;
	transition:background 0.25s, color 0.25s;
}

.button span {
	pointer-events:none;
}

.button:not(#ts-selection-button) {
		cursor:pointer;
}

/*.button:hover:not(#ts-selection-button) {
	background-color:#E8E8E8;
}*/

.button.timeslot /*, .button#ts-confirmation-button*/ {
	margin:8px 0;
}

/*.ts>a:hover, */.button.active {
	background-color:#E0A74D;
	color:#fff;
}

/*.ts>a:hover, .button.active:hover:not(#ts-selection-button) {
	background-color:#E0A74D;
	color:#fff;
}*/

.button.inactive {
	background:#f2f2f2;
	color:#b5b5b5;
	pointer-events:none;
}

.button.pill {
	border-radius:1000px;
	width:100%;
	padding:16px 0;
}

.button.final {
	background:#000000;
	color:#ffffff;
}

.button.final:hover {
	background:#2A2A2A;
}

.button.final:hover:not(#ts-selection-button) {
	background:#2A2A2A;
}

a.button.wait, input[type=submit].wait, button.wait {
	pointer-events:none;
}

input[type=submit].wait, button.wait {
	display:none;
}

a.button.wait span:first-child {
	display:none;
}

input[type=submit].wait+span.spinner, button.wait+span.spinner {
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:100%;
	background:#E0A74D;
	border-radius:1000px;
}

a.button.wait::after, input[type=submit].wait+span.spinner::after, button.wait+span.spinner::after {
	content:"";
	box-sizing: border-box;
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid #fff;
	border-radius: 50%;
	animation: wait-spinner 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
	border-color: #fff transparent transparent transparent;
}

@keyframes wait-spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.link {
	color:#707070;
	text-align:center;
	text-transform:lowercase;
	font-size:1.75em;
}

.link.active {
	color:#E0A74D;
}

.section {
	background-color:#ffffff;
	/*max-width:800px;*/
	padding:32px;
}

.section.gray {
	background-color:#f2f2f2;
}

.notify-banner {
	text-align:center;
	position:relative;
	padding:8px 0px;
	width:100%;
	background:#f2f2f2;
	color:#000000;
}

.notify-banner>h2, .notify-banner>h3, .notify-banner>p {
	margin:0 8px;
}

.notify-banner.fixed {
	position:fixed;
}

.notify-banner.succeeded {
	background:#E0A64C;
	color:#ffffff;
}

.notify-banner.warn {
	background-color:#CCC837;
	color:#ffffff;
}

.notify-banner.canceled {
	background:#D52629;
	color:#ffffff;
}

.centered, .centered.responsive {
	text-align:center;
	/*margin:auto;*/
}

.row /*,.ts-selection>.container>div*/ {
	max-width:800px;
	margin:auto;
	display:flex;
	justify-content:space-between;
	gap:20px;
	align-items:start;
}

.row.responsive {
	flex-direction:column;
	align-items:stretch;
	gap:unset;
}

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

.full-screen {
	height:100vh;
	width:100vw;
	padding:0;
	/*padding:0 32px;*/
}

/*.full-screen div. {
	padding-left:16px;
	padding-right:16px;
}*/

.overlay {
	position:fixed;
	top:0;
	background:#ffffff;
	z-index:110;
}

.section.full-screen, .error-container.full-height {
	display:flex;
	justify-content:center;
	align-items:center;
}

.button-container {
	display:flex;
	justify-content:center;
}

.button-container>.button {
	/*max-width:50%;*/
}

img.coach-profile {
	height:80px;
	width:80px;
	border-radius:50px;
	margin:0 0 8px;
}

@media only screen and (max-width: 380px) {

}

@media only screen and (min-width: 600px) {
	.centered.responsive {
		text-align:left;
	}
	
	.row.responsive {
		flex-direction:row;
		align-items:start;
		gap:20px;
	}
}