/*
  Radio version of tabs.

  Requirements:
  - not rely on specific IDs for CSS (the CSS shouldn't need to know specific IDs)
  - flexible for any number of unkown tabs [2-6]
  - accessible
  - since these are checkboxes the tabs not tab-able, need to use arrow keys
*/

/*
 CSS for the main interaction
*/
.tabset>input[type="radio"] {
	position: absolute;
	left: -200vw;
}

.tabset .tab-panel {
	display: none;
	max-width: 1038px;
	margin: auto;
}

.tabset>input:first-child:checked~.tab-panels>.tab-panel:first-child,
.tabset>input:nth-child(3):checked~.tab-panels>.tab-panel:nth-child(2),
.tabset>input:nth-child(5):checked~.tab-panels>.tab-panel:nth-child(3),
.tabset>input:nth-child(7):checked~.tab-panels>.tab-panel:nth-child(4),
.tabset>input:nth-child(9):checked~.tab-panels>.tab-panel:nth-child(5),
.tabset>input:nth-child(11):checked~.tab-panels>.tab-panel:nth-child(6) {
	display: block;
}

/*
 Styling
*/

.tab-panels {
	background-color: var(--golden-grass-5);
	margin-top: 40px;
	margin-left: -32px;
	margin-right: -32px;
	padding-bottom: 20px;
}

.tabset>label {
	position: relative;
	display: inline-block;
	padding-top: 15px;
	padding-right: 15px;
	padding-bottom: 15px;
	padding-left: 15px;
	cursor: pointer;
	font-weight: 600;

	margin-left: -15px;
	margin-right: 15px;
	margin-top: 5px;
	margin-bottom: 5px;

	color: var(--gray-80);
	transition: all .3s;
}

.tabset>label::after {
	content: "";
	position: absolute;
	left: 15px;
	bottom: 0;
	width: calc(100% - 30px);
	height: 3px;
	background: var(--gray-10);
}

.careers label {
	display: block;
	margin-bottom: 20px;
}

.careers .wpcf7-acceptance label {
	margin-bottom: 5px;
}


input:focus-visible+label {
	outline: 2px solid var(--golden-grass-40);
	border-radius: 3px;
}

.tabset>label:hover,
.tabset>input:focus+label,
.tabset>input:checked+label {
	color: var(--golden-grass-50);
}

.tabset>label:hover::after,
.tabset>input:focus+label::after,
.tabset>input:checked+label::after {
	background: var(--golden-grass);
}

.tab-panel {
	padding-top: 15px;
	padding-bottom: 30px;
	padding-left: 16px;
	padding-right: 16px;
}

.tabset {
	max-width: 65em;
}

.careers fieldset {
	display: block;
	padding-top: 0;
	padding-bottom: 30px;
	padding-left: 0;
	padding-right: 0;
	margin-left: 2px;
	margin-right: 2px;
	margin-bottom: 60px;
	border-top: none;
	border-left: none;
	border-right: none;
	border-bottom: 1px solid var(--golden-grass-60);
}

.careers fieldset legend {
	padding-top: 30px;
	margin-bottom: 30px;
	font-size: 18px;
	text-transform: uppercase;
}

.lbl-text {
	display: block;
	padding-bottom: 8px;
}

.lbl-text .block.small {
	font-size: 18px;
	display: block;
	opacity: .9;
}

.input-careers,
.textarea-careers {
	border: 1px solid var(--golden-grass-70);
	border-radius: 5px;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 15px;
	padding-right: 15px;
	width: 100%;
	max-width: 100%;
}

.wpcf7-file {
	border-radius: 5px;
}

.wpcf7-not-valid.input-careers,
.wpcf7-not-valid.textarea-careers {
	outline: 2px solid rgb(150, 0, 0);
}

.input-careers:focus,
.textarea-careers:focus,
.wpcf7-file:focus {
	outline: 2px solid var(--golden-grass-70);
}

.textarea-careers {
	min-width: 100%;
}

.careers p {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 15px;
	max-width: 800px;
}

.careers .wpcf7-form-control-wrap {
	position: relative;
	padding-bottom: 22px;
	display: block;
}

.careers .wpcf7-not-valid-tip {
	color: rgb(150, 0, 0);
	font-size: 17px;
	line-height: 1;
	position: relative;
	top: 5px;
}

.careers .wpcf7-list-item {
	margin-left: 0;
}

.wpcf7-list-item-label {
	font-size: 18px;
}

.basic-link {
	color: #000;
}

.tab-panels .wpcf7-response-output {
	max-width: 800px;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center;
	border-radius: 5px;
}

@media (min-width: 641px) {
	.tab-panels {
		margin-left: 0;
		margin-right: 0;
		border-radius: 10px;
	}

	.tab-panel {
		padding-left: 32px;
		padding-right: 32px;
	}

	.careers .w-50 {
		display: flex;
		gap: 30px;
	}

	.careers label {
		flex: 1;
	}

	.careers .w-50 p {
		width: 50%;
	}

	.cf7-btn-wrapper .wpcf7-submit {
		font-size: 18px;
	}
}

@media (min-width: 360px) and (max-width: 640px) {
	.tab-panel {
		padding-left: 32px;
		padding-right: 32px;
	}
}

@media (min-width: 1220px) {
	.tab-panels {
		margin-left: -100px;
		margin-right: -100px;
		padding-top: 40px;
		border-radius: 40px;
	}
}

input[type=file] {
	padding: 4px;
	margin: -4px;
	position: relative;
	outline: none;
	width: 100%;
	text-wrap: balance;
	/* File Selector Button Styles */
	/* Faked label styles and icon */
	/* Handle Component Focus */
}

input[type=file]::file-selector-button {
	border-radius: 4px;
	padding: 0 16px;
	height: 40px;
	cursor: pointer;
	background-color: white;
	border: 1px solid rgba(0, 0, 0, 0.16);
	box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.05);
	margin-right: 16px;
	/*
	  This is a hack to change the button label.
	  I'm hiding the default label and then
	  manually applying the width based on
	  updated icon and label.
	*/
	width: 132px;
	color: transparent;
	/*
	  Firefox doesn't support the pseudo ::before
	  or ::after elements on this input field so
	  we need to use the @supports rule to enable
	  default styles fallback for Firefox.
	*/
}

@supports (-moz-appearance: none) {
	input[type=file]::file-selector-button {
		color: var(--primary-color);
	}
}

input[type=file]::file-selector-button:hover {
	background-color: #f3f4f6;
}

input[type=file]::file-selector-button:active {
	background-color: #e5e7eb;
}

input[type=file]::before {
	position: absolute;
	pointer-events: none;
	top: 14px;
	left: 14px;
	height: 20px;
	width: 20px;
	content: "";
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000000'%3E%3Cpath d='M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3h-2zM7 9l1.41 1.41L11 7.83V16h2V7.83l2.59 2.58L17 9l-5-5-5 5z'/%3E%3C/svg%3E");
}

input[type=file]::after {
	position: absolute;
	pointer-events: none;
	top: 16px;
	left: 38px;
	color: var(--primary-color);
	content: "Choose File";
	font-size: 17px;
}

input[type=file]:focus-within::file-selector-button,
input[type=file]:focus::file-selector-button {
	outline: 2px solid var(--primary-color);
	outline-offset: 2px;
}


input[type=checkbox] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	/* For iOS < 15 */
	background-color: #fff;
	/* Not removed via appearance */
	margin: 0;
	font: inherit;
	color: currentColor;
	width: 1.35em;
	height: 1.35em;
	border: 0.125em solid currentColor;
	border-radius: 0.15em;
	transform: translateY(-0.075em);
	display: grid;
	place-content: center;

	position: relative;
	flex-shrink: 0;
	top: 1px;
}

input[type=checkbox]::before {
	content: "";
	box-shadow: inset 1em 1em var(--golden-grass-50);
	width: .85em;
	height: .85em;
	-webkit-clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
	transform: scale(0);
	transform-origin: bottom left;
	transition: 120ms transform ease-in-out;
	/* Windows High Contrast Mode */
	background-color: CanvasText;

}

input[type=checkbox]:checked::before {
	transform: scale(1);
}

input[type=checkbox]:focus {
	outline: max(2px, 0.015em) solid currentColor;
	outline-offset: max(2px, 0.015em);
}

span.wpcf7-form-control.wpcf7-acceptance label {
	display: flex;
	gap: 10px;
	align-items: center;
}


/* Bookbox
--------------------------------------------- */

.bookbox-private__1 {
	background: radial-gradient(circle 30px at top left, #0000 98%, #fbf6e7) top left,
		radial-gradient(circle 30px at top right, #0000 98%, #fbf6e7) top right,
		radial-gradient(circle 30px at bottom left, #0000 98%, #fbf6e7) bottom left,
		radial-gradient(circle 30px at bottom right, #0000 98%, #fbf6e7) bottom right;
	max-width: 990px;
	margin-left: auto;
	margin-right: auto;
	padding: 10px;
}

.bookbox-private__2 {
	background: radial-gradient(circle 30px at top left, #0000 98%, #d5ccaf) top left,
		radial-gradient(circle 30px at top right, #0000 98%, #d5ccaf) top right,
		radial-gradient(circle 30px at bottom left, #0000 98%, #d5ccaf) bottom left,
		radial-gradient(circle 30px at bottom right, #0000 98%, #d5ccaf) bottom right;
	padding: 1px;
}

.bookbox-private__3 {
	background: radial-gradient(circle 30px at top left, #0000 98%, #fbf6e7) top left,
		radial-gradient(circle 30px at top right, #0000 98%, #fbf6e7) top right,
		radial-gradient(circle 30px at bottom left, #0000 98%, #fbf6e7) bottom left,
		radial-gradient(circle 30px at bottom right, #0000 98%, #fbf6e7) bottom right;
	/* padding-left: 40px;
	padding-right: 40px; */
	padding-top: 60px;
	padding-bottom: 65px;
}

.bookbox-private {
	width: 100%;
	background-size: 51% 51%;
	background-repeat: no-repeat;
}

.form-private-charter,
.private-charter-form-wrap {
	padding-left: 16px;
	padding-right: 16px;
}

.form-private-charter fieldset legend {
	font-size: 24px;
	line-height: 1;
	width: 100%;
	text-align: center;
	font-family: var(--font-serif);
	margin-bottom: 40px;
	padding-top: 40px;
}

.form-private-charter fieldset {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: none;
}

.private-charter-form-wrap .illustration {
	margin-left: auto;
	margin-right: auto;
	margin-top: -25px;
	margin-bottom: -50px;
	width: 300px;
	/* transform: translate(0px, 100px); */
}

.private-charters-message {
	margin-top: 2.5em;
	margin-bottom: 2.6em;
	padding-left: 20px;
	padding-right: 20px;
}

@media (min-width: 960px) {

	.form-private-charter,
	.private-charter-form-wrap {
		padding-left: 32px;
		padding-right: 32px;
	}

	.form-private-charter fieldset legend {
		font-size: 30px;
	}

	.private-charters-message {
		font-size: 22px;
	}
}

@media (max-width: 340px) {
	.private-charters-message br {
		display: none;
	}
}

.bookbox-private .rg-label {
	margin-bottom: 5px;
}

.radio-group-wrapper {
	margin-bottom: 40px;
}

.radio-group-wrapper .wpcf7-list-item.first {
	/* min-width: 90px; */
	margin-right: 20px;
}

select.event-type {
	background-color: #fff;
}
