/* =========================================================
   ALSTON CONTACT PAGE - BASE
========================================================= */

.alston-contact-page {
	width: 100%;
	overflow: hidden;
	background: #ffffff;
	color: #161413;
}

.alston-contact-page *,
.alston-contact-page *::before,
.alston-contact-page *::after {
	box-sizing: border-box;
}

.alston-contact-page img {
	max-width: 100%;
	display: block;
}

.alston-contact-page a {
	color: inherit;
	text-decoration: none;
}

.alston-contact-breadcrumb__inner,
.alston-contact-hero__inner,
.alston-contact-quick__inner,
.alston-contact-booking__inner {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding-left: 5px;
	padding-right: 5px;
}


/* =========================================================
   GLOBAL TYPOGRAPHY
========================================================= */

.alston-contact-breadcrumb__title,
.alston-contact-hero__title,
.alston-contact-booking__title,
.alston-contact-form-card .fs__num,
.alston-contact-form-card .fs__title {
	font-family: 'League Spartan', -apple-system, BlinkMacSystemFont, sans-serif;
}

.alston-contact-eyebrow,
.alston-contact-breadcrumb__nav,
.alston-contact-hero__description,
.alston-contact-booking__description,
.alston-contact-quick-card__label,
.alston-contact-quick-card__sub,
.alston-contact-form-card {
	font-family: 'Inter', sans-serif;
}

.alston-contact-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-family: 'Quicksand', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: #b08842;
	margin-bottom: 34px;
}

.alston-contact-eyebrow::before {
	content: "";
	width: 40px;
	height: 1px;
	background: #b08842;
	display: block;
}

.alston-contact-eyebrow--center {
	position: relative;
	padding-left: 54px;
	padding-right: 54px;
}

.alston-contact-eyebrow--center::before,
.alston-contact-eyebrow--center::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 40px;
	height: 1px;
	background: #b08842;
}

.alston-contact-eyebrow--center::before {
	left: 0;
}

.alston-contact-eyebrow--center::after {
	right: 0;
}

/* =========================================================
   BREADCRUMB
========================================================= */

.alston-contact-breadcrumb{
	width:100%;
	position:relative;
	overflow:hidden;
	background:#181A1F;
	isolation:isolate;
}

.alston-contact-breadcrumb__bg{
	position:absolute;
	inset:0;
	z-index:1;
	background-size:cover;
	background-position:center right;
	background-repeat:no-repeat;
}

.alston-contact-breadcrumb__overlay{
	position:absolute;
	inset:0;
	z-index:2;
	background:
		linear-gradient(
			90deg,
			rgba(0,0,0,0.82) 0%,
			rgba(0,0,0,0.62) 35%,
			rgba(0,0,0,0.18) 100%
		);
}

.alston-contact-breadcrumb__inner{
	position:relative;
	z-index:3;
	width:100%;
	min-height:400px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	color:#ffffff;
	padding-top:150px;
}

.alston-contact-breadcrumb__nav{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:12px;
	margin:0 0 22px;
	color:rgba(255,255,255,0.72);
	font-size:11px;
	font-weight:600;
	line-height:1;
	letter-spacing:0.18em;
	text-transform:uppercase;
}

.alston-contact-breadcrumb__nav a,
.alston-contact-breadcrumb__nav span{
	color:inherit;
}

.alston-contact-breadcrumb__nav span:last-child{
	color:#C9A961;
}

.alston-contact-breadcrumb__nav a{
	transition:opacity 0.3s ease;
}

.alston-contact-breadcrumb__nav a:hover{
	opacity:0.6;
}

.alston-contact-breadcrumb__title{
	font-family:'League Spartan', -apple-system, BlinkMacSystemFont, sans-serif;
	font-weight:200;
	font-size:72px;
	line-height:0.95;
	letter-spacing:-0.03em;
	color:#ffffff;
	text-transform:capitalize;
	margin:0 0 22px;
}

.alston-contact-breadcrumb__description{
	width:100%;
	max-width:820px;
	margin:0;
	font-family:'Inter',sans-serif;
	font-size:15px;
	line-height:25px;
	font-weight:300;
	color:rgba(255,255,255,0.82);
}

/* =========================================================
   HERO
========================================================= */

.alston-contact-hero {
	width: 100%;
	background: #ffffff;
	padding: 90px 0;
	position: relative;
	overflow: hidden;
}

.alston-contact-hero::before {
	content: "";
	position: absolute;
	width: 900px;
	height: 900px;
	top: -380px;
	right: -320px;
	background: radial-gradient(circle, rgba(176, 136, 66, 0.08), transparent 62%);
	pointer-events: none;
}

.alston-contact-hero__inner {
	position: relative;
	z-index: 2;
}

.alston-contact-hero__content {
	max-width: 930px;
}

.alston-contact-hero__title {
	font-family:'League Spartan', -apple-system, BlinkMacSystemFont, sans-serif;
	font-weight:200;
	font-size:96px;
	line-height:0.98;
	letter-spacing:-0.015em;
	color:#161413;
	margin:0 0 34px;
}

.alston-contact-hero__title em {
	font-style: normal;
	font-weight: 300;
	color: #b08842;
}

.alston-contact-hero__description {
	max-width: 760px;
	font-size: 18px;
	font-weight: 400;
	line-height: 32px;
	color: #6e6760;
	margin: 0;
}

/* =========================================================
   QUICK CARDS
========================================================= */

.alston-contact-quick {
	width: 100%;
	background: #ffffff;
	padding: 0 0 90px;
}

.alston-contact-quick__inner {
	border-top: 1px solid rgba(22, 20, 19, 0.12);
	padding-top: 34px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.alston-contact-quick-card {
	background: #fbf8f2;
	border: 1px solid rgba(22, 20, 19, 0.12);
	padding: 36px 32px;
	transition:
		transform 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
		border-color 0.45s cubic-bezier(0.22, 0.61, 0.36, 1),
		background 0.45s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.alston-contact-quick-card:hover {
	transform: translateY(-5px);
	border-color: #b08842;
	background: #f7f2ea;
}

.alston-contact-quick-card__icon {
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 22px;
}

.alston-contact-quick-card__icon img {
	width: 34px;
	height: 34px;
	object-fit: contain;
}

.alston-contact-quick-card__label {
	font-family:'Quicksand', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size:10px;
	line-height:1;
	font-weight:600;
	letter-spacing:0.28em;
	text-transform:uppercase;
	color:#9a9389;
	margin-bottom:12px;
}

.alston-contact-quick-card__value {
	display:block;
	font-family:'League Spartan', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size:26px;
	font-weight:200;
	line-height:1.18;
	color:#161413;
	margin-bottom:10px;
	word-break:break-word;
	transition:color 0.3s ease;
}

a.alston-contact-quick-card__value:hover {
	color: #b08842;
}

.alston-contact-quick-card__sub {
	font-size: 13px;
	line-height: 24px;
	color: #6e6760;
}

/* =========================================================
   BOOKING SECTION
========================================================= */

.alston-contact-booking {
	width: 100%;
	background: #efe7d9;
	border-top: 1px solid rgba(22, 20, 19, 0.06);
	border-bottom: 1px solid rgba(22, 20, 19, 0.06);
	padding: 90px 0;
}

.alston-contact-booking__inner {
	max-width: 1100px;
}

.alston-contact-booking__head {
	text-align: center;
	margin-bottom: 40px;
}

.alston-contact-booking__title {
	font-family:'League Spartan', -apple-system, BlinkMacSystemFont, sans-serif;
	font-weight:200;
	font-size:64px;
	line-height:1.05;
	letter-spacing:-0.012em;
	color:#161413;
	margin:0 0 20px;
}

.alston-contact-booking__title em {
	font-style: normal;
	color: #b08842;
	font-weight: 300;
}

.alston-contact-booking__description {
	max-width: 720px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 30px;
	color: #6e6760;
}

/* =========================================================
   FORM CARD WRAPPER
========================================================= */

.alston-contact-form-card {
	position: relative;
	background: #fbf8f2;
	border: 1px solid rgba(22, 20, 19, 0.12);
	padding: 64px;
	color: #161413;
}

.alston-contact-form-card::before,
.alston-contact-form-card::after {
	content: "";
	position: absolute;
	width: 48px;
	height: 48px;
	border: 1px solid #b08842;
	pointer-events: none;
}

.alston-contact-form-card::before {
	top: -1px;
	left: -1px;
	border-right: 0;
	border-bottom: 0;
}

.alston-contact-form-card::after {
	right: -1px;
	bottom: -1px;
	border-left: 0;
	border-top: 0;
}

.alston-contact-form-card .wpcf7,
.alston-contact-form-card .wpcf7-form {
	width: 100%;
	margin: 0;
}

.alston-contact-form-card p {
	margin: 0;
}

.alston-contact-form-card br {
	display: none;
}

/* =========================================================
   FORM SECTIONS
========================================================= */

.alston-contact-form-card .fs {
	padding-top: 36px;
	padding-bottom: 36px;
	border-bottom: 1px solid rgba(22, 20, 19, 0.12);
}

.alston-contact-form-card .fs:first-of-type {
	padding-top: 0;
}

.alston-contact-form-card .fs:last-of-type {
	border-bottom: 0;
	padding-bottom: 0;
}

.alston-contact-form-card .fs__head {
	display: flex;
	align-items: baseline;
	gap: 18px;
	margin-bottom: 28px;
}

.alston-contact-form-card .fs__num {
	font-family:'League Spartan', -apple-system, BlinkMacSystemFont, sans-serif;
	font-style:normal;
	font-size:22px;
	font-weight:300;
	letter-spacing:0.04em;
	color:#b08842;
}

.alston-contact-form-card .fs__title {
	font-family:'League Spartan', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size:22px;
	font-weight:200;
	letter-spacing:-0.005em;
	color:#161413;
}

.alston-contact-form-card .fs__hint {
	font-family:'Inter', sans-serif;
	font-style:normal;
	font-size:13px;
	color:#9a9389;
	margin-left:auto;
}

/* =========================================================
   FORM GRID
========================================================= */

.alston-contact-form-card .grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px 24px;
}

.alston-contact-form-card .grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.alston-contact-form-card .grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.alston-contact-form-card .field--full {
	grid-column: 1 / -1;
}

/* =========================================================
   FIELDS
========================================================= */

.alston-contact-form-card .field {
	position: relative;
}

.alston-contact-form-card .field__label,
.alston-contact-form-card label.field__label {
	display:block;
	font-family:'Quicksand', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size:13px;
	line-height:23px;
	font-weight:600;
	letter-spacing:0.20em;
	text-transform:uppercase;
	color:#6e6760;
	margin-bottom:10px;
	transition:color 0.3s ease;
}

.alston-contact-form-card .field__label em {
	font-family:'Inter', sans-serif;
	font-style:normal;
	font-size:12px;
	text-transform:none;
	letter-spacing:0.02em;
	color:#b08842;
	margin-left:6px;
	font-weight:500;
}

.alston-contact-form-card .req {
	color: #b08842;
	margin-left: 4px;
}

.alston-contact-form-card .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.alston-contact-form-card input[type="text"],
.alston-contact-form-card input[type="email"],
.alston-contact-form-card input[type="tel"],
.alston-contact-form-card input[type="url"],
.alston-contact-form-card input[type="number"],
.alston-contact-form-card input[type="date"],
.alston-contact-form-card input[type="time"],
.alston-contact-form-card select,
.alston-contact-form-card textarea {
	width: 100%;
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(22, 20, 19, 0.12);
	color: #161413;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	font-weight: 400;
	padding: 10px 0 14px;
	letter-spacing: 0.015em;
	transition: border-color 0.35s ease;
	outline: none;
	border-radius: 0;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.alston-contact-form-card input::placeholder,
.alston-contact-form-card textarea::placeholder {
	color: #7A736B;
	opacity: 0.85;
	font-style: normal;
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.01em;
}

.alston-contact-form-card textarea {
	resize: vertical;
	min-height: 70px;
	line-height: 1.65;
}

.alston-contact-form-card select {
	cursor: pointer;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1.5L6 6.5L11 1.5' stroke='%23b08842' stroke-width='1.2'/></svg>");
	background-repeat: no-repeat;
	background-position: right 4px center;
	padding-right: 24px;
}

.alston-contact-form-card select option {
	background: #fbf8f2;
	color: #161413;
}

.alston-contact-form-card input:focus,
.alston-contact-form-card select:focus,
.alston-contact-form-card textarea:focus {
	border-bottom-color: #b08842;
}

.alston-contact-form-card .field:focus-within .field__label {
	color: #b08842;
}

.alston-contact-form-card .field::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: -10px;
	height: 1px;
	background: #b08842;
	transition: right 0.5s cubic-bezier(0.16, 0.84, 0.32, 1);
	pointer-events: none;
}

.alston-contact-form-card .field:focus-within::after {
	right: 0;
}

/* =========================================================
   TRIP TYPE RADIO PILLS
========================================================= */

.alston-contact-form-card .field:not(.field--vehicle) .wpcf7-radio {
	display: inline-flex;
	background: #e8ddc9;
	padding: 4px;
	gap: 4px;
	border: 1px solid rgba(22, 20, 19, 0.12);
}

.alston-contact-form-card .field:not(.field--vehicle) .wpcf7-radio .wpcf7-list-item {
	margin: 0;
}

.alston-contact-form-card .field:not(.field--vehicle) .wpcf7-radio label {
	position: relative;
	display: block;
	cursor: pointer;
	margin: 0;
}

.alston-contact-form-card .field:not(.field--vehicle) .wpcf7-radio input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.alston-contact-form-card .field:not(.field--vehicle) .wpcf7-radio .wpcf7-list-item-label {
	display: block;
	padding: 11px 22px;
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #6e6760;
	transition: all 0.35s ease;
}

.alston-contact-form-card .field:not(.field--vehicle) .wpcf7-radio input:checked + .wpcf7-list-item-label {
	background: #161413;
	color: #f7f2ea;
}

/* =========================================================
   VEHICLE CARDS - CF7 RADIO
========================================================= */

.alston-contact-form-card .field--vehicle .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.alston-contact-form-card .field--vehicle .wpcf7-radio {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
	background: transparent;
	border: 0;
	padding: 0;
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item {
	margin: 0;
	width: 100%;
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item label {
	position: relative;
	display: block;
	width: 100%;
	cursor: pointer;
	margin: 0;
}

.alston-contact-form-card .field--vehicle input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item-label {
	width: 100%;
	min-height: 108px;
	border: 1px solid rgba(22, 20, 19, 0.12);
	background: #f7f2ea;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 18px 10px;
	text-align: center;
	font-size: 0;
	transition:
		border-color 0.35s ease,
		background 0.35s ease,
		transform 0.35s ease;
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item-label::before {
	font-family:'League Spartan', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size:28px;
	line-height:1;
	font-weight:300;
	color:#161413;
	margin-bottom:10px;
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item-label::after {
	font-family: 'Inter', sans-serif;
	font-size: 9px;
	line-height: 1.4;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #9a9389;
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item:nth-child(1) .wpcf7-list-item-label::before {
	content: "7";
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item:nth-child(1) .wpcf7-list-item-label::after {
	content: "Luggage 06";
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item:nth-child(2) .wpcf7-list-item-label::before {
	content: "12";
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item:nth-child(2) .wpcf7-list-item-label::after {
	content: "Luggage 12";
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item:nth-child(3) .wpcf7-list-item-label::before {
	content: "17";
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item:nth-child(3) .wpcf7-list-item-label::after {
	content: "Luggage 14";
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item:nth-child(4) .wpcf7-list-item-label::before {
	content: "24";
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item:nth-child(4) .wpcf7-list-item-label::after {
	content: "Luggage 24";
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item:nth-child(5) .wpcf7-list-item-label::before {
	content: "50";
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item:nth-child(5) .wpcf7-list-item-label::after {
	content: "Luggage 12m";
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item:nth-child(6) .wpcf7-list-item-label::before {
	content: "57";
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item:nth-child(6) .wpcf7-list-item-label::after {
	content: "Luggage 14m";
}

.alston-contact-form-card .field--vehicle input[type="radio"]:checked + .wpcf7-list-item-label {
	border-color: #b08842;
	background: rgba(176, 136, 66, 0.14);
	transform: translateY(-2px);
}

.alston-contact-form-card .field--vehicle input[type="radio"]:checked + .wpcf7-list-item-label::before {
	color: #8a6a30;
}

.alston-contact-form-card .field--vehicle .wpcf7-list-item label:hover .wpcf7-list-item-label {
	border-color: #b08842;
	transform: translateY(-2px);
}

/* =========================================================
   RETURN FIELDS JS
========================================================= */

.alston-contact-form-card .return-fields {
	display: none;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 24px;
	margin-top: 28px;
	padding-top: 28px;
	border-top: 1px dashed rgba(22, 20, 19, 0.12);
}

.alston-contact-form-card .return-fields.is-open {
	display: grid;
}

/* =========================================================
   CHECKBOX / ACCEPTANCE
========================================================= */

.alston-contact-form-card .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
}

.alston-contact-form-card .wpcf7-acceptance label,
.alston-contact-form-card .check {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 14px;
	line-height: 1.55;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: #3b3530;
	cursor: pointer;
}

.alston-contact-form-card .wpcf7-acceptance input,
.alston-contact-form-card input[type="checkbox"] {
	width: 18px;
	height: 18px;
	min-width: 18px;
	margin-top: 2px;
	accent-color: #b08842;
}

/* =========================================================
   SUBMIT
========================================================= */

.alston-contact-form-card .submit-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 40px;
}

.alston-contact-form-card .submit-note {
	font-family: 'Inter', sans-serif;
	font-style: normal;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.7;
	letter-spacing: 0.01em;
	color: #6e6760;
	max-width: 42ch;
	margin: 0;
}

.alston-contact-form-card input[type="submit"],
.alston-contact-form-card .btn-submit {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	padding:20px 40px;
	background:#161413;
	border:1px solid #161413;
	color:#f7f2ea !important;
	font-family:'Quicksand', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size:11px;
	font-weight:600;
	line-height:1;
	letter-spacing:0.22em;
	text-transform:uppercase;
	cursor:pointer;
	width:auto;
	transition:
		background 0.4s ease,
		border-color 0.4s ease,
		color 0.4s ease,
		transform 0.4s ease;
}

.alston-contact-form-card input[type="submit"]:hover,
.alston-contact-form-card .btn-submit:hover {
	background: #b08842;
	border-color: #b08842;
	color: #161413 !important;
	transform: translateY(-2px);
}

/* =========================================================
   CF7 MESSAGES
========================================================= */

.alston-contact-form-card .wpcf7-spinner {
	margin: 12px auto 0;
	display: block;
}

.alston-contact-form-card .wpcf7-not-valid-tip {
	margin-top: 7px;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	line-height: 18px;
	font-weight: 500;
	color: #b00020;
	letter-spacing: 0;
	text-transform: none;
}

.alston-contact-form-card .wpcf7-response-output {
	margin: 18px 0 0 !important;
	padding: 14px 16px !important;
	border: 1px solid rgba(22, 20, 19, 0.12) !important;
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	line-height: 22px;
	color: #161413;
}

/* =========================================================
   LAPTOP - 1025px to 1366px
========================================================= */

@media (min-width: 1025px) and (max-width: 1366px) {

	.alston-contact-breadcrumb__inner,
	.alston-contact-hero__inner,
	.alston-contact-quick__inner,
	.alston-contact-booking__inner {
		padding-left: 20px;
		padding-right: 20px;
	}

	.alston-contact-breadcrumb__inner{
		min-height:400px;
		padding-top:120px;
	}

	.alston-contact-breadcrumb__title {
		font-size: 56px;
		line-height:1;
		margin-bottom:18px;
	}

	.alston-contact-breadcrumb__description{
		max-width:720px;
		font-size:15px;
		line-height:25px;
	}

	.alston-contact-hero {
		padding: 90px 20px;
	}

	.alston-contact-hero__title {
		font-size: 82px;
	}

	.alston-contact-quick {
		padding: 0 20px 90px;
	}

	.alston-contact-booking {
		padding: 90px 20px;
	}

	.alston-contact-booking__title {
		font-size: 56px;
	}

	.alston-contact-form-card .field--vehicle .wpcf7-radio {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 12px;
	}
}


/* =========================================================
   TABLET - 768px to 1024px
========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

	.alston-contact-breadcrumb__inner{
		padding-left:24px;
		padding-right:24px;

		min-height:360px;

		padding-top:100px;
		padding-bottom:70px;
	}

	.alston-contact-hero__inner,
	.alston-contact-quick__inner,
	.alston-contact-booking__inner {
		max-width: 100%;
		padding-left: 24px;
		padding-right: 24px;
	}

	.alston-contact-breadcrumb__nav{
		margin-bottom:18px;
	}

	.alston-contact-breadcrumb__title{
		font-size:56px;
		line-height:1;
		margin-bottom:18px;
	}

	.alston-contact-breadcrumb__description{
		max-width:620px;
		font-size:15px;
		line-height:26px;
	}

	.alston-contact-breadcrumb__bg{
		background-position:center right;
	}

	.alston-contact-hero,
	.alston-contact-booking {
		padding: 90px 20px;
	}

	.alston-contact-hero__title {
		font-size: 68px;
		line-height: 1;
	}

	.alston-contact-quick {
		padding: 0 20px 90px;
	}

	.alston-contact-quick__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 18px;
	}

	.alston-contact-quick-card {
		padding: 30px 24px;
	}

	.alston-contact-booking__title {
		font-size: 48px;
	}

	.alston-contact-form-card {
		padding: 42px 34px;
	}

	.alston-contact-form-card .field--vehicle .wpcf7-radio {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 14px;
	}

	.alston-contact-form-card .field--vehicle .wpcf7-list-item-label {
		min-height: 104px;
		padding: 18px 10px;
	}

	.alston-contact-form-card .field--vehicle .wpcf7-list-item-label::before {
		font-size: 26px;
	}
}


/* =========================================================
   MOBILE - 0px to 767px
========================================================= */

@media (min-width: 0px) and (max-width: 767px) {

	.alston-contact-breadcrumb__inner{
		padding-left:18px;
		padding-right:18px;

		min-height:320px;

		padding-top:110px;
		padding-bottom:55px;
	}

	.alston-contact-hero__inner{
		max-width:100%;
		padding-left:0;
		padding-right:0;
	}

	.alston-contact-quick__inner{
		max-width:100%;
		padding-left:0;
		padding-right:0;
	}

	.alston-contact-booking__inner{
		max-width:100%;
		padding-left:0;
		padding-right:0;
	}

	.alston-contact-breadcrumb__nav{
		gap:10px;
		font-size:10px;
		line-height:1.4;
		margin-bottom:16px;
	}

	.alston-contact-breadcrumb__title{
		font-size:42px;
		line-height:1;
		margin-bottom:16px;
	}

	.alston-contact-breadcrumb__description{
		max-width:100%;
		font-size:14px;
		line-height:24px;
		font-weight:300;
	}

	.alston-contact-breadcrumb__bg{
		background-position:center center;
	}

	.alston-contact-hero,
	.alston-contact-booking {
		padding: 90px 20px;
	}

	.alston-contact-eyebrow {
		font-size: 10px;
		letter-spacing: 0.22em;
		margin-bottom: 26px;
	}

	.alston-contact-eyebrow::before {
		width: 30px;
	}

	.alston-contact-hero__title {
		font-size: 46px;
		line-height: 1;
		max-width: 100%;
		margin-bottom: 24px;
	}

	.alston-contact-hero__description,
	.alston-contact-booking__description {
		font-size: 15px;
		line-height: 28px;
	}

	.alston-contact-quick {
		padding: 0 20px 90px;
	}

	.alston-contact-quick__inner {
		grid-template-columns: 1fr;
		gap: 18px;
		padding-top: 28px;
	}

	.alston-contact-quick-card {
		padding: 28px 24px;
	}

	.alston-contact-booking__head {
		margin-bottom: 42px;
	}

	.alston-contact-booking__title {
		font-size: 38px;
		line-height: 1.05;
	}

	.alston-contact-form-card {
		padding: 34px 24px;
	}

	.alston-contact-form-card::before,
	.alston-contact-form-card::after {
		width: 32px;
		height: 32px;
	}

	.alston-contact-form-card .grid--2,
	.alston-contact-form-card .grid--3,
	.alston-contact-form-card .return-fields {
		grid-template-columns: 1fr;
	}

	.alston-contact-form-card .fs {
		padding-top: 28px;
		padding-bottom: 28px;
	}

	.alston-contact-form-card .fs__head {
		flex-wrap: wrap;
		gap: 8px;
		margin-bottom: 22px;
	}

	.alston-contact-form-card .fs__hint {
		margin-left: 0;
		width: 100%;
	}

	.alston-contact-form-card .field:not(.field--vehicle) .wpcf7-radio {
		width: 100%;
		flex-direction: column;
	}

	.alston-contact-form-card .field:not(.field--vehicle) .wpcf7-radio .wpcf7-list-item-label {
		width: 100%;
		text-align: center;
	}

	.alston-contact-form-card .field--vehicle .wpcf7-radio {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.alston-contact-form-card .field--vehicle .wpcf7-list-item-label {
		min-height: 96px;
		padding: 16px 10px;
	}

	.alston-contact-form-card .field--vehicle .wpcf7-list-item-label::before {
		font-size: 24px;
	}

	.alston-contact-form-card .submit-row {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.alston-contact-form-card input[type="submit"],
	.alston-contact-form-card .btn-submit {
		width: 100%;
		min-height: 54px;
	}
}
/* =========================================================
   ENTRANCE ANIMATION
========================================================= */

.alston-contact-reveal {
	opacity: 0;
	transform: translateY(36px);
	transition:
		opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
		transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

.alston-contact-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {

	.alston-contact-reveal {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.alston-contact-page *,
	.alston-contact-page *::before,
	.alston-contact-page *::after {
		transition: none !important;
		animation: none !important;
	}
}