body a { text-decoration: none; }
body a:hover { text-decoration: underline; }
button,label.btn { padding: 5px 20px; white-space: nowrap; }
button:not(:disabled):hover,label.btn:not(:disabled):hover { opacity: .85; }
button.solid-corners,label.btn.solid-corners { border-radius: 0px; }
button.solid-rounded,label.btn.solid-rounded { border-radius: 5px; }
button.solid-pill,label.btn.solid-pill { border-radius: 20px; }
button.outline-corners,label.btn.outline-corners { background-color: unset; border-radius: 0px; }
button.outline-rounded,label.btn.outline-rounded { background-color: unset; border-radius: 5px; }
button.outline-pill,label.btn.outline-pill { background-color: unset; border-radius: 20px; }
button.cancel {opacity:.65;}
/* label.btn:hover:enabled { color: unset; } */
.btn-check, .btn { box-shadow: unset !important; }

.center { text-align: center; }
.center-flex { justify-content: center; }
.thin-underline {text-decoration: underline; text-decoration-thickness: 1px;}
.left { text-align: left; }
.right { text-align: right; }
.left-flex { justify-content: left; }
.right-flex { justify-content: right; }
.menu-bar { padding-top: 15px; padding-bottom: 15px; }
.footer-bar { padding-top: 30px; padding-bottom: 30px; margin-top: 30px; }
.main-image { padding: 0px; }
.main-image img { max-width:100%; max-height:600px; height: auto; width:auto; object-fit: contain;}
.main-image.hero-image img { transition: opacity 1s ease-in-out; opacity: 1;}
.main-image.hero-image img.hidden { opacity: 0; }
img.side-image {max-width:100%; max-height:500px; height: auto; width:auto; object-fit: contain;}
.title { padding: 20px 0; }
.session-type { margin-bottom: 50px; /* align-items: center; */ align-items: flex-start; }
.session-type img { margin-top: 25px; }
.session-type .title { padding-left:  25px; }
.session-type button { margin-top: 15px; }
hr { height: 6px !important; width: 50%; margin: 20px auto; }
@media (min-width:768px){
	.small-only { display: none; }
	.large-only { display: flex !important; }
}
@media (max-width:767px){
	.small-only { display: flex !important; }
	.large-only { display: none; }
	.session-type .title { padding-left: 15px; }
}
/* FONTS */
body.modern {
	font-size: 18px;
	font-family: 'Beausite_Fit', 'Garamond', 'Times New Roman', Georgia, serif; }
body.classic {
	font-size: 16px;
	font-family: Helvetica, Arial, Verdana, sans-serif;
	letter-spacing: .2px; }
body.modern .title,
body.modern div.label,
body.modern .q-choice .sub-title {
	font-family: 'Cormorant', 'Garamond', 'Times New Roman', Georgia, serif;
	font-size: 28px;
	font-weight: 400; }
body div.row div.label + div.q-choice {
	padding-bottom: 5px;
	margin-bottom: 0px !important; }
.row.question:not(:first-child) + .row.question .col-12.label {
	padding-top: 10px;
}
body.classic .title,
body.classic div.label,
body.classic .q-choice .sub-title {
	font-family: 'Times New Roman', Georgia, serif;
	font-size: 24px;
	/* font-weight: 600; */ }
body.modern .contract-title {
	font-family: 'GT_Sectra', 'Garamond', 'Times New Roman', serif;
	font-size: 48px;
	font-weight: 400; }
body.modern div.label {
	font-size: 26px; }	
body.classic .contract-title {
	font-family: 'Times New Roman', Georgia, serif;
	font-size: 40px;
	font-weight: 600; }
body.classic div.label {
	font-size: 22px; }
body.modern .sub-title {
	font-size: 22px; }
body.classic .sub-title {
	font-size: 18px; }
body.modern .contract-sub-title {
	font-size: 16px;
	font-family: 'Beausite_Fit', 'Arial', 'Helvetica', sans-serif; }
body.classic .contract-sub-title {
	font-size: 14px;
	font-family: Helvetica, Arial, sans-serif; }
body.modern .contract-synopsis {
	font-size: 21px;
	font-family: 'CormorantSemiBold', 'Garamond', 'Times New Roman', serif; }
body.classic .contract-synopsis {
	font-size: 18px;
	font-family: 'Times New Roman', Georgia, serif;
	font-weight: 600; }
body.modern .modal .title {
	font-family: 'CormorantMedium', 'Garamond', 'Times New Roman', Georgia, serif;
	font-weight: 400; }
	body.modern .modal .title .questionnaire-description,
	body.modern .session-spot-complete .title .questionnaire-description,
	body.modern .q-choice .section.sub-title {
		font-size: 19px;
		padding: 0 0 20px 0; }
	body.modern .q-choice .section.sub-title {
		padding: 0; }
body.classic .modal .title {
	font-family: 'Times New Roman', Georgia, serif;
	font-weight: 400; }
	body.classic .modal .title .questionnaire-description,
	body.classic .session-spot-complete .title .questionnaire-description,
	body.classic .q-choice .section.sub-title {
		font-size: 17px;
		padding: 0 0 20px 0; }
	body.classic .q-choice .section.sub-title {
		padding: 0; }
body.classic .modal .modal-header .title {
	font-size: 16px;
	opacity: .85; }
body.modern .modal .modal-header .title {
	font-size: 18px;
	opacity: .85;  }
body.classic button {
	letter-spacing: .2px; }
body.classic .keyword {
	font-weight: 600; }
body.modern .keyword {
	font-weight: 600; }

body .contract-sub-title {
	letter-spacing: 1.7px;
	padding: 0px 10px 0;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 25px; }

input, optgroup, select, textarea {
	padding:  5px;
	margin-bottom: 5px;
	border-radius: 0px;
	border: 1px solid #CCCCCC; }

input:focus, optgroup:focus, select:focus, textarea:focus, .form-check-input:focus {
	outline: 0;
	border-radius: 0px;}

input[type=text], input[type=email], input[type=tel], textarea {
	width: 100%; }
select {
	min-width: 50%; }
.row.question input[type=text], input[type=email], input[type=tel], textarea {
	padding-left: 10px; }
/*
ul.no-bullets {
	list-style-type: none; }
*/
ul li {
	margin-bottom: 5px;
	list-style: none; }
ul:not(.no-bullets) li:before {
	content: "→ ";
	margin-left: -25px; }

.col-12.session-type-option {
	padding-left: 35px;
	padding-right: 35px; }
@media (max-width:767px){
	.col-12.session-type-option {
		padding-left: 25px;
		padding-right: 25px; }
}

/* Sessions */
.mini-sessions-paused {
	padding: 20px 0;
	margin-bottom: 10px;
	font-size: 1.1rem; }
.mini-session-day .mini-session-spot {
	width: 95%;
	padding: 10px;
	min-height: 70px;
	margin-bottom: 20px; }
	.mini-session-day .mini-session-spot.gift-card-option {
		height: 125px;
		line-height: 1.9rem; }
		.mini-session-day .mini-session-spot.gift-card-option.no-price {
			font-size: 2rem;
			line-height: 2.6rem; }
		.mini-session-day .mini-session-spot.gift-card-option .fa-gift {
			font-size: 1.4rem; }
			.mini-session-day .mini-session-spot.gift-card-option.no-price .fa-gift {
			font-size: 2.4rem; }
		.mini-session-day .mini-session-spot.gift-card-option .gc-option-value {
			font-size: 1.7rem; }
		.mini-session-day .mini-session-spot.gift-card-option .gc-option-price {
			font-size: 1rem;
			line-height: 0.4rem;
			display: block; }
	.mini-session-day .mini-session-spot.full-session {
		height: 100px; }
.mini-session-day button.mini-session-spot:not(.open) {
	opacity: .35;
	cursor: not-allowed;
	box-shadow: unset !important; }
	.mini-session-day button.mini-session-spot.paused {
		opacity: .60; }

/* Gift Cards */
.confirm-gc-selection {
	margin-top:  30px; }
	.confirm-gc-selection > button {
    white-space: normal;
    cursor: not-allowed;
    opacity: .25; }
    .confirm-gc-selection > button.enabled {
    white-space: normal;
    cursor: pointer;
    opacity: 1; }
body.modern .confirm-gc-selection > button {
	font-family: 'CormorantBold', 'Garamond', 'Times New Roman', Georgia, serif;
	font-size: 28px;
	font-weight: 400; }
body.classic .confirm-gc-selection > button {
	font-family: 'Times New Roman', Georgia, serif;
	font-size: 24px;
	font-weight: 600; }

/* Option Select Modal */
body #confirm-session-spot .confirm-details {
	width: 330px;
	margin: auto;
	padding: 10px;
	margin-top: 5px; }
body.classic #confirm-session-spot .confirm-duration {
	font-size: 18px; }
body.modern #confirm-session-spot .confirm-duration {
	font-size: 20px; }

body #confirm-session-spot .multi-option {
	font-size: 16px; }
body.modern #confirm-session-spot .multi-option .option-name {
	font-family: 'CormorantBold', 'Garamond', 'Times New Roman', Georgia, serif;
	font-size: 20px;
	font-weight: 400; }
body.classic #confirm-session-spot .multi-option .option-name {
	font-family: 'Times New Roman', Georgia, serif;
	font-size: 18px;
	font-weight: 600; }
body.modern #confirm-session-spot .multi-option .option-price {
	font-family: 'Beausite_Fit', 'Garamond', 'Times New Roman', Georgia, serif;
	font-size: 14px;
	font-weight: 400;
	margin-bottom: 15px; }
body.classic #confirm-session-spot .multi-option .option-price {
	font-family: Helvetica, Arial, Verdana, sans-serif;
	font-size: 12px;
	font-weight: 400;
	margin-bottom: 15px; }
body #confirm-session-spot .multi-option {
	width: 90%;
	padding: 15px;
	margin-left: auto;
	margin-right: auto;
	height: 100%;
	cursor: pointer; }
	body #confirm-session-spot .multi-option:not(.option-selected):hover {
		-moz-box-shadow: 0 0 8px #ccc;
		-webkit-box-shadow: 0 0 8px #ccc;
		box-shadow: 0 0 8px #ccc;}
body #confirm-session-spot .select-option-title {
	font-size: 1.3em; }

/* Signature Pad */
/**********************\
   The signature pad
\**********************/
.signature-pad {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 10px;
  width: 95%;
  max-width: 770px;
  height: 215px;
  background-color: #fff;
}

.signature-pad::before,
.signature-pad::after {
  position: absolute;
  z-index: -1;
  content: "";
  width: 40%;
  height: 10px;
  bottom: 10px;
  background: transparent;
  /* box-shadow: 0 8px 12px rgba(0, 0, 0, 0.4); */
}

.signature-pad::before {
  left: 20px;
  -webkit-transform: skew(-3deg) rotate(-3deg);
          transform: skew(-3deg) rotate(-3deg);
}

.signature-pad::after {
  right: 20px;
  -webkit-transform: skew(3deg) rotate(3deg);
          transform: skew(3deg) rotate(3deg);
}

.signature-pad--body {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  border: 1px solid #f4f4f4;
  cursor: crosshair;
}

.signature-pad--body
canvas {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.02) inset;
  box-shadow: 0 1px 4px rgb(0 0 0 / 27%), 0 0 40px rgb(0 0 0 / 8%) inset;
}

.signature-pad--footer {
  color: #C3C3C3;
  text-align: left;
  font-size: 1.5em;
  margin-top: 8px;
}

/*
.signature-pad--actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 8px;
}
*/

/* Tips on the Payment Screen */
body #tip-options .modal-dialog {
	max-width: 400px; }
body #tip-options button.tip-amount {
	font-size: 16px;
	width: 95%;
	padding: 10px;
	height: 70px;
	margin-bottom: 15px; }
	body #tip-options button.tip-amount:not(.option-selected):hover {
		-moz-box-shadow: 0 0 8px #ccc;
		-webkit-box-shadow: 0 0 8px #ccc;
		box-shadow: 0 0 8px #ccc;}
	body #tip-options button.tip-amount.option-selected {
		opacity: .65;
		/* cursor: not-allowed; */
		/* box-shadow: unset !important; */ }
	body #tip-options button.tip-amount hr{
		height: 1px !important;
    	margin: 0px auto; }
    body #tip-options button.tip-amount .tip-dollar-amount {
    	font-size: .8em; }
body #tip-selected .title {
	font-size:1em;
	font-style: italic;
	padding: 8px 0 0; }


/* Payment Screen */
#payment-form input {
	font-family: sans-serif; }

#session-spot-contract-form img,
#signed-contract img {
	max-width: 100%;
	height: auto; }
#signed-contract .signature-record {
	font-size: 10pt;
	padding-bottom: 30px; }
	#signed-contract .signature-record img {
		width: 75%;
		max-width: 425px;
		height: auto;
		border-bottom: 1px solid #999; }

/* general modals */
.modal {
	position: fixed;
	z-index: 999999;
	-webkit-transition: all 300ms ease-out 200ms;
	-moz-transition: all 300ms ease-out 200ms;
	-o-transition: all 300ms ease-out 200ms;
	transition: all 300ms ease-out 200ms; }
	.modal .modal-dialog {
		width:  75%;
		max-width:  800px; }
	.modal .modal-dialog .modal-content {
		height: 100%;
		overflow-y: none; }
		.modal .modal-dialog .modal-content .window {
			width: 75%;
			max-width: 800px;
			min-height: 400px;
			background: #fff;
			border-radius: 5px;
			margin: 10% auto;
			box-shadow: 0px 2px 15px #333;
			font-size: 14px;
			margin-top: 3%; }
		.modal .modal-dialog .modal-content .modal-header {
			font-size: 14px;
			font-weight: 400;
			height: 40px;}
			.modal .modal-dialog .modal-content .modal-header i {
				float: right;
				cursor: pointer; }
		.modal .modal-dialog .modal-content .modal-body {
			position: relative;
			padding: 25px; }

@media (max-width: 575px) {
	body #tip-options .modal-dialog {
		max-width: unset; }
	.modal .modal-dialog {
		width: auto;
		margin: 1rem .5rem; }
}

.modal .inquire .row {
	align-items: center; }
.modal .inquire .row.question,
.session-spot-complete .row.question {
	margin-bottom: 20px; }

.modal .inquire .row.question.contact,
.session-spot-complete .row.question.contact {
	margin-bottom: 12px; }

.modal .inquire .row.question .q-choice,
.session-spot-complete .row.question .q-choice {
	margin-bottom: 10px; }

/*
.modal .inquire .row.question .q-text,
.session-spot-complete .row.question .q-text {
	line-height: 2.5; }
*/

.form-error {
	background-color: #ffe8e8; }

#ui-datepicker-div {
	background-color: rgb(255, 255, 255);
    border: 1px solid #c5c5c5;
    position: unset !important; }
#ui-datepicker-div .ui-datepicker td span, .ui-datepicker td a {
	text-align: center; }

#additional-spot-details hr{
	width: 100%;
	height: 1px !important;
	margin: 20px 0px 10px 0px; }

@media (min-width:992px){
	.hide-when-large { display: none; }
}
