/**
* Theme Name: Redspokes 2026
* Template:   twentytwentyfive
* Author: Daly Design
* Author URI: http://www.dalydesign.co.uk
* Text Domain: redspokes2026
*/

/*
* Light grey	= 	#f1f1f3
* Red	 		= 	#EC1C24
*
* font-family: "Montserrat", serif;
*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

::selection {
	color: #FFF;
	background-color: #EC1C24;
}
html {
    scroll-behavior: smooth;
}
body {
	font-family: "Montserrat", serif;
	font-weight: normal;
}
body * {
	box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: "Montserrat", serif;
	text-transform: uppercase;
	font-weight: 600;
	color: #000000;
	margin-block-start: 0;
}
h1, .h1 {
	font-size: 40px;
	font-size: 2.5rem;
	line-height: 1.5;
}
.red {
	color: #EC1C24;
}
p {
	margin-block-start: 0;
	margin-block-end: 1.5em;
}
a:link, a:visited, a:hover, a:active, a:focus {
	outline: none;
	text-decoration: none;
	word-break: break-word;
}
span {
	display: inline-block;
}
strong {
	font-weight: 600;
}
ul:not(header ul):not(footer ul):not(.tour-tabs-container ul):not(.sign-in-page-menu) {
    list-style: none;
    padding-left: 0px;
	line-height: 34px;
}
ul:not(header ul):not(footer ul):not(.tour-tabs-container ul):not(.sign-in-page-menu) li {
    position: relative;
	padding-left: 16px;
}
ul:not(header ul):not(footer ul):not(.tour-tabs-container ul):not(.sign-in-page-menu) li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 10px;
    height: 34px;
    background: url('/wp-content/themes/redspokes2026/assets/images/icons/bullet-point-arrow-black.png') no-repeat center center;
    background-size: contain;
}
h1.hidden-h1 {
    position: absolute;
    left: -9999px; /* Moves the element far off-screen */
    top: auto; 
    width: 1px; 
    height: 1px; 
    overflow: hidden; 
    clip: rect(0, 0, 0, 0); /* Clipping ensures no visual rendering */
    white-space: nowrap; /* Prevents any line breaks */
}
/* start forms */
.hidden-fields-container {
	display: none;
	border: none;
}
textarea,
input {
	width: 100%;
	font-family: "Montserrat", serif;
	border-radius: 5px;
	background-color: #fff;
	border: 1px solid #ccc;
	color: #111;
	padding: 10px;
	transition: all 0.3s ease;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	position: relative;
}
select {
	width: 100%;
	font-family: "Montserrat", serif;
	border-radius: 5px;
	background-color: #fff;
	background-image: url("assets/images/icons/select-list-arrow.png");
	background-repeat: no-repeat;
	background-size: 8px auto;
	background-position: right 10px center;
	border: 1px solid #ccc;
	color: #111;
	padding: 10px;
	transition: all 0.3s ease;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	position: relative;
	cursor: pointer;
}
input[type=date] {
	position: relative;
}

input::placeholder,
textarea::placeholder {
	color: #8a8a8a;
}
.ask-a-question-container input::placeholder,
.ask-a-question-container textarea::placeholder {
	color: #111;
}
input:hover,
textarea:hover,
select:hover {
	background-color: #f1f1f3;
	transition: all 0.3s ease;
}
input:focus,
textarea:focus,
select:focus {
	outline: 1px solid #EC1C24;
}
input[type="hidden"] {
  all: unset; /* Removes all styles */
}
/* General checkbox wrapper to allow spacing and positioning */
input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #fff;
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease-in-out;
  vertical-align: middle;
  margin-right: 8px;
}
/* On hover */
input[type="checkbox"]:hover {
  background-color: #f1f1f3;
  border-color: #999;
}
/* When checked */
input[type="checkbox"]:checked {
  background-color: #EC1C24;
  border-color: #EC1C24;
}
/* Create the checkmark */
input[type="checkbox"]::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 6px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
/* Show the checkmark when checked */
input[type="checkbox"]:checked::after {
  opacity: 1;
}
.wpcf7-form.ask-a-question-form span {
	display: block;
}
.wpcf7-not-valid-tip {
	font-size: 1rem;
}
input[type=submit],
button[type=submit] {
	display: inline-block;
    width: auto;
	border: none;
    background-color: #EC1C24;
    background-image:
        url("assets/images/icons/button-arrow-white.png"),
        linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%);
    background-repeat: no-repeat, no-repeat;
    background-size: 7px auto, 100% 100%;
    background-position: right 14px center, left top;
    color: #fff;
    padding: 10px 30px 10px 18px;
    border-radius: 5px;
    text-transform: uppercase;
    font-family: "Montserrat", serif;
    font-size: 1rem;
    line-height: 23px;
    transition: all 0.3s ease;
    cursor: pointer;
}
input[type=submit]:hover,
button[type=submit]:hover {
    transition: all 0.3s ease;
	background-color: #000000;
	background-image:
        url("assets/images/icons/button-arrow-white.png");
    background-repeat: no-repeat;
    background-size: 7px auto;
    background-position: right 14px center;
}
input[type=radio] {
    width: 20px;
    accent-color: #EC1C24;
    margin: 0 5px 0 0;
	-webkit-appearance: auto;
	-moz-appearance: auto;
	appearance: auto;
}

.page-template-wp-custom-template-form-page-with-full-background-image.page-id-6383 .entry-content {
	margin-block-start:0;
}
.page-template-wp-custom-template-form-page-with-full-background-image.page-id-6383 .wpcf7-turnstile.cf-turnstile,
.page-template-wp-custom-template-form-page-with-full-background-image.page-id-2332 .wpcf7-turnstile.cf-turnstile,
.page-template-wp-custom-template-form-page-with-full-background-image.page-id-2063 .wpcf7-turnstile.cf-turnstile {
	display: none;
}
.form-flow-container {
	width: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 0;
	margin: 0;
	gap: 20px;
}
.form-flow-container .width-two-thirds.container {
	width: 100%;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 0;
	margin: 0;
	gap: 20px;
}
.form-flow-container .width-half,
.form-flow-container .width-third,
.form-flow-container .width-two-thirds,
.form-flow-container .width-two-thirds.container .width-half {
	width: 100%;
	padding: 0;
}
.form-flow-container .width-two-thirds.container .width-half.half-1 p:nth-of-type(2) {
	margin: 0;
}
.form-flow-container .width-two-thirds.container .width-half.half-2 p:nth-of-type(2) {
	margin: 0;
}
.form-flow-container .width-two-thirds.container .width-half div[data-id="find-out-other-group"] {
    margin: 20px 0 0 0;
}
.form-flow-container .width-two-thirds.container .width-half div[data-id="find-out-other-group"] p,
.form-flow-container .width-two-thirds.container .width-half p.no-margin {
    margin: 0;
}
.form-flow-container .enquire-list {
	list-style: none;
	margin: 0;
	width: 100%;
	background-color: #c1c1c7;
    border-radius: 8px;
    padding: 15px;
}
.form-flow-container .enquire-list li {
	list-style: none;
	display: block;
	margin: 0 0 20px 0;
	font-size: 1rem;
	font-weight: 300;
	position: relative;
	padding: 0 0 0 0;
	line-height: normal;
}
/*
.form-flow-container .enquire-list li::after {
	content: '|';
	width: auto;
	height: auto;
	position: absolute;
	top: 0;
	right: 0;
}
.form-flow-container .enquire-list li:last-of-type::after {
	content: '';
}
*/
.form-flow-container .enquire-list li .prefix {
	font-size: 1rem;
	font-weight: 500;
}
.form-flow-container .enquire-list li#cf7-display-package-title {
	font-size: 1.5rem;
	font-weight: 500;
}

.form-flow-container .enquire-list li p {
	margin: 0;
	padding: 0;
}
.form-flow-container .enquire-list li::before {
	content: none;
}
.form-flow-container .submit-container {
	width: 100%;
}
.form-flow-container .submit-container p {
	margin: 0;
	text-align: right;
	width: auto;
	display: block;
	float: right;
}
.form-flow-container .submit-container p input[type=submit] {
    float: right;
}
.form-flow-container .submit-container br {
	display: none;
}
.form-flow-container.footer-container {
	max-width: 350px;
	gap: 10px;
}
.form-flow-container.footer-container .width-half {
	width: calc(50% - 5px);
	padding: 0;
}
.form-flow-container.footer-container p {
	margin: 0;
	width: 100%;
}
.form-flow-container.footer-container input[type=text],
.form-flow-container.footer-container input[type=email] {
	border: none;
}
.form-flow-container.footer-container input[type=submit] {
	background-color: #000000;
	border: 1px solid #fff;
}
.form-flow-container.footer-container input[type=submit]:hover {
	background-color: #EC1C24;
	border: 1px solid #EC1C24;
}
.wpcf7-form p {
	margin: 0 0 40px 0;
	width: 100%;
}
.wpcf7-form.ask-a-question-form p {
	margin: 0 0 25px 0;
}
.wpcf7-form p.text-input {
	margin: 0 0 20px 0;
}
.wpcf7-form p.has-note{
	margin: 0 0 0 0;
}
.wpcf7-form p.no-margin {
	margin: 0;
}
.wpcf7-form p.form-note {
	margin: 10px 0 20px 0;
	font-size: 0.75rem;
}
.small-print {
	font-size: 0.75rem;
}
.wpcf7-form-control-wrap {
	display: block;
	margin: 8px 0 0 0;
}
.wpcf7-radio .wpcf7-list-item label{
	display: flex;
	flex-direction: row;
	align-items: center;
}
.wpcf7-checkbox .wpcf7-list-item label {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}
.wpcf7-list-item {
	margin: 0 30px 0 0;
}
.wpcf7-list-item.first {
	margin-left: 0;
}
.checkbox-columns .wpcf7-checkbox {
	column-count: 2;
	column-gap: 2em; /* optional: space between columns */
	max-width: 100%;
}
.checkbox-columns .wpcf7-list-item {
	display: block;
	break-inside: avoid;
	padding-bottom: 0.5em; /* optional: spacing between items */
}
/* responses */
.full-background-image .form-page-content-overlay-block .wpcf7 form .wpcf7-response-output {
    margin: 0;
    padding: 10px;
    border: none;
	background-color: transparent;
	color: #000000;
	display: block;
	float: right;
	font-weight: 400;
}
.wpcf7 form .wpcf7-response-output {
    margin: 20px 0 40px 0;
    padding: 10px;
    border: 2px solid #000000;
	background-color: #000000;
	color: #fff;
}
.wpcf7 form.init .wpcf7-response-output {
    display: none;
}
.wpcf7 form.sent .wpcf7-response-output {
    border: 2px solid #46b450;
	background-color: #46b450;
	color: #fff;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
	border: 2px solid #dc3232;
	background-color: #dc3232;
	color: #fff;
}
.wpcf7 form.spam .wpcf7-response-output {
	border: 2px solid #f56e28;
	background-color: #f56e28;
	color: #fff;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	border: 2px solid #EC1C24;
	background-color: #EC1C24;
	color: #fff;
}

/* end forms */
.max-width,
.max-width.vc_row {
	max-width: 1400px;
	margin: 0 auto;
}
.max-width.medium-width {
	max-width: 820px;
}
main {
	background-color: #fff;
}
a.red-btn,
a.red-btn:link,
a.red-btn:visited {
    display: inline-block;
    width: auto;
	border: none;
    background-color: #EC1C24;
    background-image:
        url("assets/images/icons/button-arrow-white.png"),
        linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%);
    background-repeat: no-repeat, no-repeat;
    background-size: 7px auto, 100% 100%;
    background-position: right 14px center, left top;
    color: #fff;
    padding: 10px 30px 10px 18px;
    border-radius: 5px;
    text-transform: uppercase;
    font-family: "Montserrat", serif;
    font-size: 1rem;
    line-height: 23px;
    transition: all 0.3s ease;
    cursor: pointer;
}
a.red-btn:hover,
a.red-btn:active,
a.red-btn:focus {
    transition: all 0.3s ease;
	background-color: #000000;
	background-image: url("assets/images/icons/button-arrow-white.png");
	border: none;
}
a.red-btn.on-dark-grey:hover,
a.red-btn.on-dark-grey:active,
a.red-btn.on-dark-grey:focus {
    transition: all 0.3s ease;
	background-color: #fff;
	border: none;
	color: #000000;
	background-image: url("assets/images/icons/button-arrow-black.png");
}
.white-btn-outline {
    display: inline-block;
    background-color: transparent;
	border: 1px solid #fff;
    color: #fff;
    padding: 5px 25px 5px 13px;
    border-radius: 5px;
    text-transform: uppercase;
	font-family: "Montserrat", serif;
	font-size: 0.75rem;
	background-image: url("assets/images/icons/button-arrow-white.png");
	background-repeat: no-repeat;
	background-size: 7px auto;
	background-position: right 8px center;
	line-height: 23px;
	transition: all 0.3s ease;
	font-weight: 400;
}
.white-btn-outline.on-red {
	margin-top: 20px;
}
.white-btn-outline:hover,
.white-btn-outline:active,
.white-btn-outline:focus {
    transition: all 0.3s ease;
	border: 1px solid transparent;
    background-color: #EC1C24;
    background-image:
        url("assets/images/icons/button-arrow-white.png"),
        linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%);
    background-repeat: no-repeat, no-repeat;
    background-size: 7px auto, 100% 100%;
    background-position: right 8px center, left top;
}
.white-btn-outline.on-red:hover,
.white-btn-outline.on-red:active,
.white-btn-outline.on-red:focus {
    background-color: #000;
    background-image: url("assets/images/icons/button-arrow-white.png");
    background-repeat: no-repeat;
    background-size: 7px auto;
    background-position: right 8px center;
}
/* Start Header */

/* START header top bar */
header .header-top-bar {
	padding: 12px 20px;
	background-color: #EC1C24;
	background: linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%);
}
header .header-top-bar .header-top-bar-menu a:hover,
header .header-top-bar .header-top-bar-menu a:active,
header .header-top-bar .header-top-bar-menu a:focus {
	color: #000;
}
header .header-top-bar ul#ddfbhead {
	list-style: none;
	padding: 0;
	text-align: right;
}
header .header-top-bar ul#ddfbhead li {
	display: inline-block;
	margin: 0 0 0 0;
}
header .header-top-bar ul#ddfbhead li.Header-Email {
	margin: 0 0 0 0;
}
header .header-top-bar ul#ddfbhead li.Header-Email a {
	margin: 0;
	padding: 5px 0 5px 24px;
	background-size: 18px auto;
	background-repeat: no-repeat;
	background-position: 0 7px;
}
header .header-top-bar ul#ddfbhead li.Header-Email a:link,
header .header-top-bar ul#ddfbhead li.Header-Email a:visited {
	background-image: url("assets/images/icons/email-icon-thicker-white.png");
}
header .header-top-bar ul#ddfbhead li.Header-Email a:hover,
header .header-top-bar ul#ddfbhead li.Header-Email a:active,
header .header-top-bar ul#ddfbhead li.Header-Email a:focus {
	background-image: url("assets/images/icons/email-icon-thicker-black.png");
}
header .header-top-bar ul#ddfbhead li.Header-Tel {
		margin: 0 0 0 20px;
	}
header .header-top-bar ul#ddfbhead li.Header-Tel a {
	margin: 0;
	padding: 5px 0 5px 24px;
	background-size: 18px auto;
	background-repeat: no-repeat;
	background-position: 0 5px;
}
header .header-top-bar ul#ddfbhead li.Header-Tel a:link,
header .header-top-bar ul#ddfbhead li.Header-Tel a:visited {
	background-image: url("assets/images/icons/phone-icon-thicker-white.png");
}
header .header-top-bar ul#ddfbhead li.Header-Tel a:hover,
header .header-top-bar ul#ddfbhead li.Header-Tel a:active,
header .header-top-bar ul#ddfbhead li.Header-Tel a:focus {
	background-image: url("assets/images/icons/phone-icon-thicker-black.png");
}
/* END header top bar */

/* header logo */
header .header-logo {
	min-width: 160px;
	position: relative;
	z-index: 9999;
}

/* Start Header Search */

/* Toggle Button */
.search-toggle {
    background: none;
    border: none;
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    z-index: 10000;
    position: relative;
}
.search-label {
    font-size: 16px;
}
.flipped {
    transform: scaleX(-1);
    display: inline-block;
    vertical-align: middle;
}
#search-overlay {
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    
    /* Slide-down animation setup */
    transform: translateY(-100%);
    transition: transform 0.4s ease-in-out;
    pointer-events: none;
    opacity: 0;
}
#search-overlay.active {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.search-toggle .search-icon {
	fill: #fff;
	transition: fill 0.3s, color 0.3s;
}
.search-toggle.light .search-icon,
.search-toggle.light .search-label {
    color: #fff;
    fill: #fff;
}
.search-toggle.dark .search-icon,
.search-toggle.dark .search-label {
    color: #000;
    fill: #000;
}
.search-toggle.active .search-icon,
.search-toggle.active .search-label {
    color: #fff !important;
    fill: #fff !important;
}
/* Background image with dark overlay */
.search-overlay-background {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: url('/wp-content/uploads/2025/12/Kyrgyzstan-Cycling-Holidays.jpg') center center / cover no-repeat;
}
.search-overlay-background::after {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
}
/* Content */
.search-overlay-content {
    position: relative;
    z-index: 2;
    width: 90%;
    max-width: 600px;
}
.search-box-wrapper {
    position: relative;
}
.search-box-wrapper input[type="text"] {
    width: 100%;
    padding: 20px;
    font-size: 24px;
    border: none;
    border-radius: 5px;
    outline: none;
}
.search-overlay-content p.search-prompt {
	color: #fff;
	margin: 10px 0 0 0;
}
#search-overlay-close {
    position: absolute;
    top: -40px; /* adjust to suit spacing */
    right: 0;
    background: none;
    border: none;
    font-size: 28px;
    color: #fff;
    cursor: pointer;
    line-height: 1;
}
#search-overlay-close:hover {
    color: #ffdddd;
}
/* End Header Search */

header .wp-block-group.header-cart-block .searchsite button {
	padding-top: 0;
	padding-bottom: 0;
	padding-right: 0;
}
header .wp-block-group.header-cart-block .searchsite button::after {
	content: 'Search';
	margin: 0 0 0 5px;
	font-weight: 200;
}
header .wp-block-group.header-cart-block .searchsite button:hover svg {
	fill: #EC1C24;
}
header .wp-block-group.header-cart-block .searchsite button:hover::after {
	color: #EC1C24;
}
header .wp-block-group.searchgroup .searchsite input {
	background-color: rgba(0, 0, 0, 0.3);
	border: 1px solid #fff;
	color: #fff;
	padding: 8px 15px;
}
header .wp-block-group.searchgroup .searchsite button {
	background-color: transparent;
	border: none !important;
	align-items: center;
}
header,
.header-with-slider {
	position: relative;
	z-index: 1000;
}
.main-header-slider {
	position: relative;
/*	margin-top:-98px!important;*/
/*	max-height: 800px;*/
	max-height: 700px;
	overflow: hidden;
	z-index: 0;
	height: 420px;
	transition: height 0.5s ease-in-out;
}
.main-header-slider p:empty {
	display: none;
	margin: 0;
	padding: 0;
}
.main-header-slider .wp-block-post-featured-image {
	min-height: 600px;
	position: fixed;
	width: 100%;
	overflow: hidden;
	top: 0;
	height: 850px;
	background-color: #000;
}
.logged-in.admin-bar .main-header-slider .wp-block-post-featured-image {
	min-height: 600px;
	position: fixed;
	width: 100%;
	overflow: hidden;
	top: 0;
	height: 912px;
}
.main-header-slider .wp-block-post-featured-image img {
    max-width: unset;
	width: 100%;
    height: 100%;
	min-height: 645px;
	opacity: 0.8;
}
/* START - main large image on tour details page */
.tour-large-main-image {
    position: fixed;
    min-height: 700px;
    width: 100%;
    overflow: hidden;
    top: 0;
    height: 882px;
}
.tour-large-main-image img {
	object-fit: cover;
	min-height: 645px;
	width: 100%;
}
.rs-tour-mobile-image {
	display: block;
	margin-block-start: 0;
}
.rs-tour-main-image {
	margin-block-start: 0;
}
.rs-tour-main-image.no-mobile-image {
	display: block;
}
.rs-tour-main-image.has-mobile-image {
	display: none;
}
/* END - main large image on tour details page */

/* image slider on tour details page */
/*
.main-header-slider.rs-tour-fixed-slider > div:first-of-type {
	position: fixed;
}
*/

/* START - main full-page image area on enquiry pages */
.full-background-image {

}
.logged-in.admin-bar .full-background-image {
	margin-top: -139px;
}
.full-background-image img {

}
.full-background-image .wp-block-post-featured-image {
	position: fixed;
	top: 0;
}
.full-background-image .form-page-content-overlay-block {
	position: absolute;
	top: 140px;
	left: 5%;
	right: 5%;
	max-width: 1200px;
	background-color: transparent;
}
.full-background-image .form-page-content-overlay-block .content-container {
	padding: 30px 30px 20px 30px !important;
	background-color: rgba(255, 255, 255, 0.8);
	margin-bottom: 100px;
	border-radius: 8px;
}
.full-background-image .form-page-content-overlay-block label {
	font-weight: 400;
}
/* END - main full-page image area on enquiry pages */

/* tour page slider overlaying block */
.tour-slider-overlay-block {
	text-align: center;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	padding: 20px;
	margin: 0;
	transform: translateY(-50%);
}
.main-image-overlay-block {
	text-align: center;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	padding: 20px;
	margin: 0;
	transform: translateY(-50%);
}
.tour-slider-overlay-block h1,
.main-image-overlay-block h1,
.main-image-overlay-block .h1 {
	text-transform: uppercase;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
	text-shadow: 0 0 3px rgba(0, 0, 0, 0.8), 0 0 6px rgba(0, 0, 0, 0.7), 0 0 12px rgba(0, 0, 0, 0.6);
	font-size: 2.5rem;
	line-height: 2.75rem;
	color: #fff;
}
.tour-slider-overlay-block.rs-home-slider,
.main-image-overlay-block.rs-home-slider {
	text-align: center;
	color: #fff;
	position: absolute;
	display: inline;
	top: 50%;
	left: 0;
	right: 0;
	bottom: unset;
	margin: 0;
    width: auto;
    transform: translateY(-50%);
}
.tour-slider-overlay-block.rs-home-slider .home-slider-message,
.main-image-overlay-block.rs-home-slider .home-slider-message {
	font-family: "Montserrat", serif;
    font-size: 2rem;
    text-transform: uppercase;
    font-weight: 500;
    line-height: 2.4rem;
	margin-block-end:0;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}
.tour-slider-overlay-block.rs-home-slider .home-slider-sub-message,
.main-image-overlay-block.rs-home-slider .home-slider-sub-message {
	font-family: "Montserrat", serif;
    font-size: 1.5rem;
    text-transform: uppercase;
    font-weight: 300;
    line-height: 1.75rem;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
	margin-block-start: 0;
	margin: 5px 0 10px 0;
}
.tour-slider-overlay-block.rs-home-slider a,
.main-image-overlay-block.rs-home-slider a {
    display: inline-block;
    width: auto;
	border: none;
    background-color: #EC1C24;
    background-image:
        url("assets/images/icons/button-arrow-white.png"),
        linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%);
    background-repeat: no-repeat, no-repeat;
    background-size: 7px auto, 100% 100%;
    background-position: right 14px center, left top;
    color: #fff;
    padding: 8px 30px 8px 18px;
    border-radius: 5px;
    text-transform: uppercase;
    font-family: "Montserrat", serif;
    font-size: 0.9rem;
    line-height: 23px;
    transition: all 0.3s ease;
    cursor: pointer;
}
.tour-slider-overlay-block.rs-home-slider a:link,
.tour-slider-overlay-block.rs-home-slider a:visited,
.main-image-overlay-block.rs-home-slider a:link,
.main-image-overlay-block.rs-home-slider a:visited {
    background-color: #EC1C24;
	border: 1px solid #EC1C24;
    color: #fff;
}
.tour-slider-overlay-block.rs-home-slider a:hover,
.tour-slider-overlay-block.rs-home-slider a:active,
.tour-slider-overlay-block.rs-home-slider a:focus,
.main-image-overlay-block.rs-home-slider a:hover,
.main-image-overlay-block.rs-home-slider a:active,
.main-image-overlay-block.rs-home-slider a:focus {
    transition: all 0.3s ease;
	background-color: #111;
	border: 1px solid #111;
}

/* tour page slider values */
.tour-slider-values {
	text-align: center;
	color: #fff;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
	margin-block-start:0;
	margin-top: 10px;
}
.tour-slider-values .tour-slider-value {
	display: inline-block;
	padding: 0 12px;
	margin: 0;
	font-size: 1.2rem;
	font-weight: 400;
}

/* Tour Back button */
.tour-back-button-block {
    padding: 0 12px 0 20px;
    position: absolute;
    top: 0px;
}
.tour-back-button-block a.back-to-btn {
	width: auto;
	display: inline-block;
	color: #fff;
	padding: 5px 5px 5px 20px;
	background-repeat: no-repeat;
	background-size: 16px auto;
	background-position: center left;
	font-size: 1rem;
	font-weight: 300;
	text-shadow: 0px 0px 4px rgba(0, 0, 0, 1);
}
.tour-back-button-block a.back-to-btn:link,
.tour-back-button-block a.back-to-btn:visited {
	color: #fff;
	background-image: url("assets/images/icons/breadcrumb-back-arrow-white.png");
}
.tour-back-button-block a.back-to-btn:hover,
.tour-back-button-block a.back-to-btn:active,
.tour-back-button-block a.back-to-btn:focus {
	color: #EC1C24;
	background-image: url("assets/images/icons/breadcrumb-back-arrow-red.png");
}
/* Tour Bradcrumb */
.tour-breadcrumb-block {
	width: 100%;
	position: absolute;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.5);
	padding: 5px;
	color: #111;
	font-size: 0.75rem;
	text-transform: uppercase;
}
.tour-breadcrumb-block nav .breadcrumb {
	text-align: left;
	padding: 0;
	margin: 0;
	line-height: 30px;
}
.tour-breadcrumb-block nav .breadcrumb li {
	display: inline;
	text-align: left;
	padding: 0;
	margin: 0;
	font-weight: 300;
}
.tour-breadcrumb-block nav .breadcrumb li.breadcrumb-l3 {
	display: none;
}
.tour-breadcrumb-block nav .breadcrumb li::before {
  content: none;
}
.tour-breadcrumb-block nav .breadcrumb li::after {
  content: ">";
  margin: 0 5px 0 5px;
  color: #111;
}
.tour-breadcrumb-block nav .breadcrumb li.breadcrumb-l2::after {
	content: none;
}
.tour-breadcrumb-block nav .breadcrumb li:last-child::after {
  content: "";
}
.tour-breadcrumb-block nav .breadcrumb li a {
	color: #111;
	padding: 5px;
	margin: 0 0 0 0;
}
.tour-breadcrumb-block nav .breadcrumb li a:link,
.tour-breadcrumb-block nav .breadcrumb li a:visited {
	color: #111;
}
.tour-breadcrumb-block nav .breadcrumb li a:hover,
.tour-breadcrumb-block nav .breadcrumb li a:active,
.tour-breadcrumb-block nav .breadcrumb li a:focus {
	background-color: #111;
	color: #fff;
	border-radius: 5px;
}
.tour-breadcrumb-block nav .breadcrumb li span {
	display: inline;
}

/* Category image overlay */
.tour-slider-overlay-block.rs-category-content .category-icon,
.main-image-overlay-block.rs-category-content .category-icon {
	height: 44px;
	width: auto;
}
.rs-category-content p {
	width: 100%;
	max-width: 1100px;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}

/* Start Navigation */

.header-menu-container {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle.mega-menu-open:after {
	opacity: 0.8;
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
	font-weight: 600!important;
}
header .header-menu-container ul.max-mega-menu,
header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 {
	padding: 0 0 0 160px;
}
header .header-menu-container .max-mega-menu .mob-show {
	display: block;
}
header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-column.menu-difficulty-column {
	margin-bottom: 40px;
}
header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-column.menu-destinations-column {
	margin-bottom: 20px;
}
header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1  ul.mega-sub-menu {
	padding: 0 10px 0 10px;
}
header .header-menu-container .max-mega-menu .menu-difficulty-column ul.mega-sub-menu li:first-of-type,
header .header-menu-container .max-mega-menu .menu-destinations-column ul.mega-sub-menu li:first-of-type {
	display: block;
}
header .header-menu-container .max-mega-menu .mob-hide {
	display: none;
}
header .header-menu-container .max-mega-menu .mega-sub-menu .mega-menu-row.menu-titles-row,
header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-row.menu-titles-row {
	display: none;
}
header .header-menu-container .max-mega-menu .menu-section-title {
	font-family: "Montserrat", serif;
	color: #fff;
	text-transform: uppercase;
    font-size: 1rem;
    font-weight: 600;
	margin: 0 0 10px 0;
	line-height: normal;
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8745 > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8744 > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8743 > a.mega-menu-link {
	display: flex;
	align-items: center;
	gap: 8px;
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8745 > a.mega-menu-link::before,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8744 > a.mega-menu-link::before,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8743 > a.mega-menu-link::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
	margin: 0;
	font-size: 0;
	font-family: inherit;
	vertical-align: middle;
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8745 > a.mega-menu-link::before {
	background-image: url("/wp-content/themes/redspokes2026/assets/images/icons/moderate-icon-white.png");
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8744 > a.mega-menu-link::before {
	background-image: url("/wp-content/themes/redspokes2026/assets/images/icons/challenging-icon-white.png");
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8743 > a.mega-menu-link::before {
	background-image: url("/wp-content/themes/redspokes2026/assets/images/icons/difficult-icon-white.png");
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8745 > a.mega-menu-link:hover::before,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8745 > a.mega-menu-link:focus::before {
	background-image: url("/wp-content/themes/redspokes2026/assets/images/icons/moderate-icon-red.png");
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8744 > a.mega-menu-link:hover::before,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8744 > a.mega-menu-link:focus::before {
	background-image: url("/wp-content/themes/redspokes2026/assets/images/icons/challenging-icon-red.png");
}
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8743 > a.mega-menu-link:hover::before,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li#mega-menu-item-8743 > a.mega-menu-link:focus::before {
	background-image: url("/wp-content/themes/redspokes2026/assets/images/icons/difficult-icon-red.png");
}

/* My Account submenu — match Cycling Holidays megamenu panel/link styling in a compact dropdown */
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li#mega-menu-item-18369.mega-menu-megamenu > ul.mega-sub-menu,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li#mega-menu-item-18369.mega-menu-flyout > ul.mega-sub-menu {
	left: auto;
	right: 0;
	width: auto;
	min-width: 220px;
	max-width: 280px;
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li#mega-menu-item-18369.mega-menu-flyout > ul.mega-sub-menu {
	background: #1e1c1c;
	border: 0;
	padding: 12px 16px;
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li#mega-menu-item-18369.mega-menu-flyout > ul.mega-sub-menu li.redspokes-customer-logout > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li#mega-menu-item-18369.mega-menu-megamenu.mega-no-headers > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
	padding: 0;
	background: transparent;
	color: #fff;
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.redspokes-customer-logout > a.mega-menu-link:hover,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.redspokes-customer-logout > a.mega-menu-link:focus,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 a.mega-menu-link[href*="redspokes_logout=1"]:hover,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 a.mega-menu-link[href*="redspokes_logout=1"]:focus {
	color: #d40000 !important;
	background: transparent !important;
}

@media only screen and (max-width: 870px) {
	#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li#mega-menu-item-18369.mega-menu-megamenu > ul.mega-sub-menu,
	#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li#mega-menu-item-18369.mega-menu-flyout > ul.mega-sub-menu {
		width: 100%;
		min-width: 0;
		max-width: none;
	}
}

/* End Navigation */

/* End Header */


/* Start Footer */
footer {
	margin-block-start:0;
	position: relative;
/*	z-index: 1000;*/
}
footer .footer-graphic-ground {
	background-image: url("assets/images/graphics/Footer-Graphic-Ground.png");
	background-size: contain;
	background-repeat: repeat-x;
	background-position: bottom center;
}
footer .max-width.footer-graphic {
	position: relative;
/*    z-index: 2;*/
}
footer .max-width.footer-graphic .footer-graphic-mobile {
	display: none;
}
footer .max-width.footer-graphic .footer-graphic-large {
	display: block;
}
footer .footer-links-column {
	width:calc(25% - 0.6rem);
	text-align: left;
	align-items: flex-start;
}
footer a, footer a:hover {
	text-decoration: none;
	font-weight: 200;
}
footer p {
	color: #fff;
}
footer .footer-links a:hover,
footer .footer-links a:active,
footer .footer-links a:focus,
footer .footer-bottom a:hover,
footer .footer-bottom a:active,
footer .footer-bottom a:focus,
footer .footer-links .wp-block-navigation a.wp-block-navigation-item__content:hover,
footer .footer-links .wp-block-navigation a.wp-block-navigation-item__content:active,
footer .footer-links .wp-block-navigation a.wp-block-navigation-item__content:focus {
	color: #EC1C24;
}
footer .footer-form {
	width: 100%;
	display: flex;
	align-items: stretch;
	gap: 0;
}
footer .footer-form input[type="email"] {
	flex: 1 1 auto;
	min-width: 0;
	width: auto;
	border: none;
	border-radius: 5px 0 0 5px;
	padding: 10px 12px;
}
footer .footer-form input {
	border-radius: 0;
}
footer .footer-form .footer-form__submit {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	border: none;
	border-radius: 0 5px 5px 0;
	background-color: #EC1C24;
	background-image:
		url("assets/images/icons/button-arrow-white.png"),
		linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%);
	background-repeat: no-repeat, no-repeat;
	background-size: 7px auto, 100% 100%;
	background-position: right 14px center, left top;
	color: #fff;
	padding: 10px 30px 10px 18px;
	text-transform: uppercase;
	font-family: "Montserrat", serif;
	font-size: 1rem;
	line-height: 23px;
	transition: all 0.3s ease;
	cursor: pointer;
	white-space: nowrap;
}
footer .footer-form .footer-form__submit:hover,
footer .footer-form .footer-form__submit:focus {
	background-color: #000;
	background-image: url("assets/images/icons/button-arrow-white.png");
	background-repeat: no-repeat;
	background-size: 7px auto;
	background-position: right 14px center;
}
footer .footer-bottom {
	text-align: center;
}
footer .footer-bottom p.has-small-font-size,
footer .footer-bottom p.has-text-align-center.has-small-font-size {
	font-size: 0.75rem !important;
	line-height: 1.45;
}
footer .footer-links-list {
	gap: 8px;
}
ul#ddfbfoot {
	list-style: none;
	padding: 0;
	text-align: right;
}
ul#ddfbfoot li {
	display: inline-block;
	margin: 0 0 0 20px;
}
ul#ddfbfoot li.Footer-Email {
	margin: 0;
}
ul#ddfbfoot li.Footer-Email a {
	margin: 0;
	padding: 5px 0 5px 30px;
	background-size: 22px auto;
	background-repeat: no-repeat;
	background-position: 0 7px;
}
ul#ddfbfoot li.Footer-Email a:link,
ul#ddfbfoot li.Footer-Email a:visited {
	background-image: url("assets/images/icons/email-icon-white.png");
}
ul#ddfbfoot li.Footer-Email a:hover,
ul#ddfbfoot li.Footer-Email a:active,
ul#ddfbfoot li.Footer-Email a:focus {
	background-image: url("assets/images/icons/email-icon-red.png");
}
ul#ddfbfoot li.Footer-Tel a {
	margin: 0;
	padding: 5px 0 5px 30px;
	background-size: 22px auto;
	background-repeat: no-repeat;
	background-position: 0 5px;
}
ul#ddfbfoot li.Footer-Tel a:link,
ul#ddfbfoot li.Footer-Tel a:visited {
	background-image: url("assets/images/icons/phone-icon-white.png");
}
ul#ddfbfoot li.Footer-Tel a:hover,
ul#ddfbfoot li.Footer-Tel a:active,
ul#ddfbfoot li.Footer-Tel a:focus {
	background-image: url("assets/images/icons/phone-icon-red.png");
}
a.footer-g {
	width: 25px;
	height: 25px;
	display: inline-block;
	margin: 0 20px 0 0;
	background-size: 25px auto;
	background-repeat: no-repeat;
	background-position: center center;
}
a.footer-g:link,
a.footer-g:visited {
	background-image: url("assets/images/icons/google-logo-white.png");
}
a.footer-g:hover,
a.footer-g:active,
a.footer-g:focus {
	background-image: url("assets/images/icons/google-logo-red.png");
}
a.footer-fb {
	width: 13px;
	height: 25px;
	display: inline-block;
	margin: 0 20px 0 0;
	background-size: 13px auto;
	background-repeat: no-repeat;
	background-position: center center;
}
a.footer-fb:link,
a.footer-fb:visited {
	background-image: url("assets/images/icons/facebook-icon-white.png");
}
a.footer-fb:hover,
a.footer-fb:active,
a.footer-fb:focus {
	background-image: url("assets/images/icons/facebook-icon-red.png");
}
a.footer-x {
	width: 25px;
	height: 25px;
	display: inline-block;
	margin: 0 20px 0 0;
	background-size: 25px auto;
	background-repeat: no-repeat;
	background-position: center center;
}
a.footer-x:link,
a.footer-x:visited {
	background-image: url("assets/images/icons/x-icon-white.png");
}
a.footer-x:hover,
a.footer-x:active,
a.footer-x:focus {
	background-image: url("assets/images/icons/x-icon-red.png");
}
a.footer-insta {
	width: 25px;
	height: 25px;
	display: inline-block;
	margin: 0 20px 0 0;
	background-size: 25px auto;
	background-repeat: no-repeat;
	background-position: center center;
}
a.footer-insta:link,
a.footer-insta:visited {
	background-image: url("assets/images/icons/instagram-icon-white.png");
}
a.footer-insta:hover,
a.footer-insta:active,
a.footer-insta:focus {
	background-image: url("assets/images/icons/instagram-icon-red.png");
}
a.footer-li {
	width: 27px;
	height: 25px;
	display: inline-block;
	margin: 0 20px 0 0;
	background-size: 27px auto;
	background-repeat: no-repeat;
	background-position: center center;
}
a.footer-li:link,
a.footer-li:visited {
	background-image: url("assets/images/icons/linkedin-icon-white.png");
}
a.footer-li:hover,
a.footer-li:active,
a.footer-li:focus {
	background-image: url("assets/images/icons/linkedin-icon-red.png");
}

a.footer-yt {
	width: 91px;
	height: 25px;
	display: inline-block;
	margin: 0 0 0 0;
	background-size: 91px auto;
	background-repeat: no-repeat;
	background-position: center center;
}
a.footer-yt:link,
a.footer-yt:visited {
	background-image: url("assets/images/icons/youtube-icon-white.png");
}
a.footer-yt:hover,
a.footer-yt:active,
a.footer-yt:focus {
	background-image: url("assets/images/icons/youtube-icon-red.png");
}
.need-help-block {
	background-image: url("assets/images/graphics/rs-contact-bar-left.png"), url("assets/images/graphics/rs-contact-bar-right.png");
	background-repeat: no-repeat;
	background-position: left bottom, right top;
	background-size: 196px auto;
}
.need-help-block h3 {
	text-transform: uppercase;
	margin: 0 0 15px 0;
}
.need-help-block p {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin: 0;
}
.need-help-block a {
	display: inline-block;
    background-color: #fff;
    color: #EC1C24;
    padding: 10px 30px 10px 18px;
    border-radius: 5px;
    text-transform: uppercase;
	font-family: "Montserrat", serif;
	background-image: url("assets/images/icons/button-arrow-red.png");
	background-repeat: no-repeat;
	background-size: 7px auto;
	background-position: right 14px center;
	line-height: 23px;
	font-size: 1rem;
	white-space: nowrap;
	margin: 0 0 0 20px;
}
.need-help-block a:link,
.need-help-block a:visited {
    text-decoration: none;
}
.need-help-block a:hover,
.need-help-block a:active,
.need-help-block a:focus {
    background-color: #000000;
}
/* End Footer */

/* Start Category pages and tour tiles */
.category-intro-block {
	text-align: center;
}
.category-intro-block h1 {
	text-transform: uppercase;
}
.category-intro-block .category-icon {
	height: 44px;
	width: auto;
}
/* start featured image section ------------------ */
.featured-tour-container {
    text-align: center;
}
.featured-tour-container h2 {
    color: #EC1C24;
	text-transform: uppercase;
}
.featured-tour-block {
    overflow: hidden;
}
.featured-tour-link {
	display: flex;
    flex-wrap: nowrap; /* Ensure the image and content stay side by side */
    text-decoration: none;
    color: inherit;
	flex-direction: column;
}
.featured-tour-image {
    flex: 1;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	transition: transform 0.3s ease; /* Smooth zoom effect */
	z-index: 1;
	min-height: 280px;
}
.featured-tour-link:hover .featured-tour-image {
    transform: scale(1.1); /* Zoom in slightly when the link is hovered */
}
.featured-tour-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
	background-color: #EC1C24;
	padding: 30px;
	text-align: left;
	z-index: 2;
}
.featured-tour-content h1 {
    font-size: 1.5rem;
	text-transform: uppercase;
	color: #fff;
    margin-bottom: 10px;
}
.featured-tour-content * {
    font-size: 1rem;
	color: #fff;
}
.featured-tour-content .white-btn {
    display: inline-block;
    background-color: #fff;
    color: #EC1C24;
    padding: 10px 30px 10px 18px;
    border-radius: 5px;
    text-transform: uppercase;
	font-family: "Montserrat", serif;
	background-image: url("assets/images/icons/button-arrow-red.png");
	background-repeat: no-repeat;
	background-size: 7px auto;
	background-position: right 14px center;
	line-height: 23px;
}
/* end featured image section ------------------ */

.tours-container,
.page-container {
	width: 100%;
	display: block;
	margin: 0;
	position: relative;
	z-index: 2;
	background-color: #fff;
}
.tours-container.light-grey,
.page-container.light-grey {
	background-color: #f1f1f3;
}
.tours-container.padding-bottom,
.page-container.padding-bottom {
	padding-bottom: 40px;
}
.tours-container.category-content,
.page-container.category-content {
	margin-block-start:0;
	overflow: hidden;
	padding: 40px 20px 40px 20px;
}
.tours-container.category-content-above-tours,
.page-container.category-content-above-tours {
	margin-block-start:0;
	overflow: hidden;
	padding: 40px 20px 0px 20px;
}
.tours-container.category-content.center,
.page-container.category-content.center,
.center {
	text-align: center;
}
.tours-container.category-content :is(h1, h2, h3, h4, h5, h6):first-of-type,
.page-container.category-content :is(h1, h2, h3, h4, h5, h6):first-of-type {
	margin-top: 0;
}
.tours-container.category-content .max-width > *:last-child,
.page-container.category-content .max-width > *:last-child {
    margin-bottom: 0;
}
.page-container.level-1 {
	z-index: 1;
}
.category-slider-container {
	margin-block-start:0;
	position: relative;
	z-index: 2;
}
/* start filter section ------------------ */

.tour-filter-form {
	width: 100%;
	display: block;
	padding: 40px 20px 14px 20px;
	text-align: left;
}
.tour-filter-form.all-tours-filter-container {
	text-align: center;
}
.tour-diary-filter-container h2 {
    font-size: 1rem;
    font-weight: 400;
}
.tour-filter-form.all-tours-filter-container h2 {
	font-size: 1rem;
    font-weight: 400;
	margin-top: 0;
	text-align: center;
}
.tour-filter-form span {
	color: #fff;
}
.tour-filter-form.testimonials-filter-container {
	padding: 20px;
}
.tour-filter-block {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex-direction: column;
}
.filter-buttons,
.group-size-buttons {
  display: flex;
  align-items: center;
}
.filter-buttons.rs-testimonials-filter {
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}
.filter-buttons.rs-testimonials-filter h3 {
	margin: 0;
	font-size: 1.25rem;
}
.filter-buttons.all-tours-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: center;
	gap: 20px;
}
.filter-buttons.rs-tour-diary-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 20px;
}
.filter-buttons.all-tours-filter .filter-field,
.filter-buttons.rs-tour-diary-filter .filter-field {
	width: auto;
	text-align: left;
}
.filter-buttons.all-tours-filter .filter-field label,
.filter-buttons.rs-tour-diary-filter .filter-field label {
	background-color: transparent;
    border: none;
    border-radius: 0;
    text-align: left;
    padding: 0;
	display: none;
}
.group-size-buttons {
	margin-bottom: 0;
	padding: 5px;
	border: 1px solid #e3e3e3;
	border-radius: 6px;
}

/* Hide the actual radio button */
.filter-buttons input[type="radio"],
.group-size-buttons input[type="radio"] {
  display: none;
}
.filter-buttons label {
	padding: 0px 20px;
	border: 1px solid #bbbdbf;
	border-right: none;
	background-color: #000000;
	color: #fff;
	cursor: pointer;
	text-align: center;
	font-size: 0.95rem;
	height: 34px;
	line-height: 34px;
	overflow: hidden;
}
.group-size-buttons label {
	padding: 0px 20px;
	border-radius: 5px;
	background-color: #fff;
	color: #a09c9d;
	cursor: pointer;
	text-align: center;
	font-size: 0.95rem;
	font-weight: 400;
	height: 34px;
	line-height: 34px;
	overflow: hidden;
}
.filter-buttons label:first-of-type {
	border-top-left-radius: 2px;
	border-bottom-left-radius: 2px;
}
.filter-buttons label:last-of-type {
	border-top-right-radius: 2px;
	border-bottom-right-radius: 2px;
	border-right: 1px solid #bbbdbf;
	border-left: none;
}
.filter-buttons label:not(:first-of-type):not(:last-of-type) {
  border-radius: 0;
  border-left: none;
  border-right: none;
}
.filter-buttons input[type="radio"]:checked + label {
  background-color: #EC1C24;
  color: #fff;
  border-color: #EC1C24;
}
.group-size-buttons input[type="radio"]:checked + label {
  background-color: #EC1C24;
  color: #fff;
}
.tours-container.category-slider-container,
.page-container.category-slider-container {
	position: relative;
}
.tours-container.dates-and-pricing,
.page-container.dates-and-pricing {
	background-color: #000;
	margin-top: 0px;
	padding-bottom: 40px;
}
.tours-container.tour-diary,
.page-container.tour-diary {
	background-color: #fff;
	margin-top: 0px;
	padding-bottom: 40px;
}
#loading-indicator,
#all-tours-loading,
#rs-testimonials-loading,
#rs-tour-diary-loading {
	text-align: center;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	background-color: rgba(255, 255, 255, 0.5);
	width: 100%;
	height: 100vh;
	max-height: 100%;
	animation: none;
	transform: none;
}
#loading-indicator img,
#all-tours-loading img,
#rs-testimonials-loading img,
#rs-tour-diary-loading img {
	width: 50px;
    height: 50px;
	position: absolute;
	top: 50vh;
	left: 50%;
	transform-origin: 50% 50%;
	animation: spinCentered 0.9s linear infinite;
}
@keyframes spinCentered {
  0%   { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}
#tour-content {
	overflow: hidden;
}

/* end filter section ------------------ */

.tour-tile-row,
.most-popular-row {
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	padding: 0 20px 0 20px;
	overflow: auto;
	-ms-overflow-style: none; /* IE and Edge */
	scrollbar-width: none; /* Firefox */
}
.category-most-popular .tour-tile-row,
.category-most-popular .most-popular-row {
	padding: 0 20px 0 20px;
}
.tour-tile-row::-webkit-scrollbar,
.most-popular-row::-webkit-scrollbar {
  display: none;
}
.category-tour-row-container {
	margin-block-start: 0;
	position: relative;
	background-color: #fff;
	background-image: url("assets/images/graphics/rs-corner-graphic-mid-grey.png");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 280px auto;
}
.category-tour-row-container h2 {
	text-transform: uppercase;
	margin-bottom: 0;
}
.tour-row-container.similar-experiences {
	background-color: #fff;
	display: flex;
	align-items: center;
	flex-direction: column;
	padding: 40px 0 40px 0;
}
.category-tour-row-container.favourite-tours,
.category-tour-row-container.category-most-popular {
	background-color: #fff;
	margin-block-start: 0;
}
.category-tour-row-container,
.category-tour-row-container.favourite-tours,
.tour-row-container.optional-upgrades {
	display: flex;
	align-items: center;
	flex-direction: column;
}
.category-tour-row-container.favourite-tours {
	padding: 40px 0 0 0;
	text-align: center;
}
.category-tour-row-container.favourite-tours h3,
.tour-row-container.similar-experiences h3 {
	font-size: 2.125rem;
	margin: 0 0 20px 0;
}
.category-tour-row-container.favourite-tours .tour-tile-row .swiper-wrapper {
	padding: 20px 0 60px 0;
}
.tour-tile-row .swiper-wrapper-container {
	overflow: hidden;
}
.tour-tile-row .swiper-wrapper {
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	padding: 60px 0;
}
.tour-slider-container .similar-experiences .tour-tile-row {
	max-width: 1400px;
}
.tour-slider-container .similar-experiences .tour-tile-row .swiper-wrapper {
	padding: 10px 0 60px 0;
}
.tour-tile-row .swiper-wrapper.price-wrapper {
	flex-wrap: wrap;
	gap: 20px;
	justify-content: center;
}
.tour-tile-row .most-popular-wrapper,
.most-popular-row .most-popular-wrapper {
	width: 100%;
	position: relative;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding: 40px 0;
	gap: 20px;
}
.tour-row-container.optional-upgrades .tour-tile-row {
	background-color: transparent;
	background-image: none;
}
.tour-tile-row-intro,
.tour-tile-row-intro.swiper-slide {
	width: 100%;
	padding: 0;
}
.tour-tile-row-intro-mob {
	width: 100%;
	height: auto;
	padding: 20px 20px 0 20px;
	display: block;
}
.tour-tile-row-intro-most-popular {
	width: 100%;
	height: auto;
	padding: 20px 20px 0 20px;
	display: block;
	text-align: center;
}
.optional-upgrades .tour-tile-row-intro-mob {
	width: 100%;
	height: auto;
	padding: 20px 20px 0 0;
	display: block;
}
.optional-upgrades .tour-tile-row {
	padding: 0;
}
.tour-row-container.optional-upgrades .tour-tile-row-intro {
	width: 200px;
	min-width: 200px;
	height: 100%;
	padding: 0 40px 0 0;
}
.tour-tile-row-intro h2,
.tour-tile-row-intro-mob h2,
.tour-tile-row-intro-most-popular h2 {
	text-transform: uppercase;
}
.tour-slider-container .similar-experiences .tour-tile-row-intro h3,
.tour-slider-container .similar-experiences .tour-tile-row-intro p,
.tour-slider-container .similar-experiences .tour-tile-row-intro-mob h3,
.tour-slider-container .similar-experiences .tour-tile-row-intro-mob p {
	color: #000;
	text-align: center;
}
.tour-tile-row-intro p,
.tour-tile-row-intro-mob p,
.tour-tile-row-intro-most-popular p {
	font-size: 1rem;
}
.tour-tile-row-intro.lrg {
	display: none;
}
/*
.tour-tile-row-intro p:last-of-type,
.tour-tile-row-intro-mob p:last-of-type,
.tour-tile-row-intro-most-popular p:last-of-type {
    margin-bottom: 0;
}
*/
.swiper-navigation-block {
	position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    display: flex;
    height: 60px;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
}
.swiper-button-next,
.swiper-button-prev,
.tour-tile-row .swiper-button-next,
.tour-tile-row .swiper-button-prev {
	position: relative !important;
	text-align: center;
	z-index: 1;
	top: unset !important;
    right: unset !important;
    left: unset !important;
    width: 30px;
    height: 24px;
    background-color: transparent;
    color: #111;
	margin-top: 0 !important;
	outline: none;
}
.tour-slider-container .similar-experiences .swiper-button-next,
.tour-slider-container .similar-experiences .swiper-button-prev {
	color: #000;
}
.swiper-button-next::after,
.swiper-button-prev::after,
.tour-tile-row .swiper-button-next::after,
.tour-tile-row .swiper-button-prev::after {
	font-size: 1.5rem;
}
.tour-tile-row .swiper-pagination,
.tour-tile-row.swiper-horizontal>.swiper-pagination-bullets, 
.tour-tile-row.swiper-horizontal .swiper-pagination-bullets.swiper-pagination-horizontal {
	position: unset;
	width: auto;
	z-index: 10;
	display: none;
	padding: 0 20px;
}
.tour-tile-row .swiper-pagination-bullet,
.tour-tile-row.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.tour-tile-row.swiper-horizontal .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #ccc;
	opacity: 0.7;
	transition: opacity 0.3s ease;
	margin: 0 10px 0 10px;
}
.category-tour-row-container.category-most-popular .tour-tile-row.swiper-horizontal .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	background: #fff;
}
.tour-tile-row .swiper-pagination-bullet-active,
.tour-tile-row.swiper-horizontal .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active {
	background: #000;
	opacity: 1;
}
.tour-slider-container .similar-experiences .swiper-pagination-bullet-active,
.tour-slider-container .similar-experiences .swiper-horizontal .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active {
	background: #fff;
	opacity: 1;
}
.tour-tile-row .tour-tile-block,
.most-popular-row .tour-tile-block {
	width: 300px;
	min-width: 300px;
	height: 440px;
	display: block;
	position: relative;
	overflow: hidden;
	margin: 0 20px 0 0;
    border-radius: 8px;
}
.tour-tile-row .swiper-wrapper.price-wrapper .tour-tile-block {
	margin: 0;
}

.tour-tile-row .most-popular-wrapper .tour-tile-block,
.most-popular-row .most-popular-wrapper .tour-tile-block {
	width: 300px;
	min-width: 300px;
	height: 440px;
	display: block;
	position: relative;
	overflow: hidden;
	margin: 0;
}
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block {
	width: 216px;
	min-width: 216px;
	height: 290px;
	display: block;
	position: relative;
	overflow: hidden;
	margin: 0 15px 0 0;
	cursor: pointer;
}
.tour-tile-row .tour-tile-block a,
.most-popular-row .tour-tile-block a {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}
.tour-tile-row .tour-tile-block a .tour-tile-image,
.most-popular-row .tour-tile-block a .tour-tile-image,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .tour-tile-image {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	overflow: hidden;
	background-color: #dcdcdc;
}
.tour-tile-row .tour-tile-block a .tour-tile-image img,
.most-popular-row .tour-tile-block a .tour-tile-image img,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .tour-tile-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
	filter: brightness(85%);
    transition: transform 0.3s ease;
}
.tour-tile-row .tour-tile-block:hover .tour-tile-image img,
.most-popular-row .tour-tile-block:hover .tour-tile-image img,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block:hover .tour-tile-image img {
    transform: scale(1.1);
	filter: brightness(35%);
    transition: transform 0.3s ease, filter 0.3s ease;
}
.tour-tile-row .tour-tile-block a .tour-tile-overlay,
.most-popular-row .tour-tile-block a .tour-tile-overlay,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .tour-tile-overlay {
	width: auto;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
	padding: 20px;
	text-align: left;
	color: #fff;
	text-transform: uppercase;
	font-size: 1rem;
	font-weight: 500;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}
.tour-tile-row .tour-tile-block a .tour-tile-overlay p.prices-from,
.most-popular-row .tour-tile-block a .tour-tile-overlay p.prices-from,
.tour-row-container.optional-upgrades .tour-tile-block a .tour-tile-overlay p.prices-from {
	margin: 0;
	text-align: left;
}
.tour-tile-row .tour-tile-block a .tour-tile-fav-sticker {
	width: auto;
	height: auto;
	position: absolute;
	top: 0;
	right: 0;
	padding: 0 20px 0 0;
	text-align: right;
}
.tour-tile-row .tour-tile-block a .tour-tile-fav-sticker .favourite-sticker {
	width: 24px;
	height: auto;
}
.tour-tile-row .tour-tile-block a .tour-tile-content,
.most-popular-row .tour-tile-block a .tour-tile-content,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .tour-tile-content {
	width: auto;
	height: auto;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px;
	text-align: left;
	color: #fff;
	transition: transform 0.3s ease;
}
.most-popular-row .tour-tile-block a .tour-tile-content .tour-tile-title {
	font-size: 1.5rem;
	color: #fff;
	text-transform: uppercase;
	margin: 0 0 15px 0;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}
.tour-tile-row .tour-tile-block a .tour-tile-content .tour-tile-title,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .tour-tile-content .tour-tile-title {
	font-size: 1.3rem;
	line-height: normal;
	color: #fff;
	text-transform: uppercase;
	margin: 0 0 15px 0;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}
.tour-tile-row .tour-tile-block:hover .tour-tile-content .tour-tile-title,
.most-popular-row .tour-tile-block:hover .tour-tile-content .tour-tile-title {
	transform: translateY(-15px);
    transition: opacity 0.3s ease, transform 0.3s ease;
	margin: 0;
}
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .tour-tile-content h3 {
	font-size: 1.3rem;
	color: #fff;
	text-transform: uppercase;
	margin: 0 0 15px 0;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block:hover .tour-tile-content h3 {
	transform: translateY(-15px);
    transition: opacity 0.3s ease, transform 0.3s ease;
	margin: 0;
}
.tour-tile-row .tour-tile-block a .tour-tile-content .tour-details,
.most-popular-row .tour-tile-block a .tour-tile-content .tour-details,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .tour-tile-content .tour-details {
    height: 0;
    visibility: hidden;
    overflow: hidden;
}
.tour-tile-row .tour-tile-block a .tour-tile-content .tour-details p.mini-desc,
.tour-tile-row .tour-tile-block a .tour-tile-content .tour-details p.prices-from,
.most-popular-row .tour-tile-block a .tour-tile-content .tour-details p.mini-desc,
.most-popular-row .tour-tile-block a .tour-tile-content .tour-details p.prices-from,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .tour-tile-content .tour-details p.mini-desc,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .tour-tile-content .tour-details p.prices-from {
	opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    margin: 0 0 15px 0;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
	font-size: 1.1rem;
}
.tour-tile-row .tour-tile-block a .tour-tile-content .tour-details p.mini-desc,
.most-popular-row .tour-tile-block a .tour-tile-content .tour-details p.mini-desc,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .tour-tile-content .tour-details p.mini-desc {
    font-style: italic;
}
.tour-tile-row .tour-tile-block:hover .tour-tile-content .tour-details p.mini-desc,
.tour-tile-row .tour-tile-block:hover .tour-tile-content .tour-details p.prices-from,
.most-popular-row .tour-tile-block:hover .tour-tile-content .tour-details p.mini-desc,
.most-popular-row .tour-tile-block:hover .tour-tile-content .tour-details p.prices-from,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block:hover .tour-tile-content .tour-details p.mini-desc,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block:hover .tour-tile-content .tour-details p.prices-from {
	opacity: 1;
    transform: translateY(0);
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.tour-tile-row .tour-tile-block a .tour-tile-content p.prices-from .value,
.most-popular-row .tour-tile-block a .tour-tile-content p.prices-from .value,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .tour-tile-content p.prices-from .value {
	font-weight: 300;
}
.tour-tile-row .tour-tile-block:hover .tour-tile-content .tour-details,
.most-popular-row .tour-tile-block:hover .tour-tile-content .tour-details,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block:hover .tour-tile-content .tour-details {
    height: auto;
    visibility: visible;
}
.tour-tile-row .tour-tile-block a .tour-tile-content .white-btn-outline,
.most-popular-row .tour-tile-block a .tour-tile-content .white-btn-outline,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .tour-tile-content .white-btn-outline {
    display: inline-block;
    background-color: transparent;
	border: 1px solid #fff;
    color: #fff;
    padding: 5px 25px 5px 13px;
    border-radius: 5px;
    text-transform: uppercase;
	font-family: "Montserrat", serif;
	font-size: 0.75rem;
	background-image: url("assets/images/icons/button-arrow-white.png");
	background-repeat: no-repeat;
	background-size: 7px auto;
	background-position: right 8px center;
	line-height: 23px;
	transition: all 0.3s ease;
	box-shadow: 0px 0px 5px 2px RGBA(0, 0, 0, 0.5);
	font-weight: 400;
}
.tour-tile-row .tour-tile-block:hover .tour-tile-content .white-btn-outline,
.most-popular-row .tour-tile-block:hover .tour-tile-content .white-btn-outline,
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block:hover .tour-tile-content .white-btn-outline {
    transition: all 0.3s ease;
	border: 1px solid transparent;
    background-color: #EC1C24;
    background-image:
        url("assets/images/icons/button-arrow-white.png"),
        linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%);
    background-repeat: no-repeat, no-repeat;
    background-size: 7px auto, 100% 100%;
    background-position: right 8px center, left top;
}
.tour-tile-row .tour-tile-block a .tour-tile-content .new-tour-sticker,
.most-popular-row .tour-tile-block a .tour-tile-content .new-tour-sticker {
	width: 50px;
	height: 50px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.7));
	border-radius: 50%;
	position: absolute;
    bottom: 20px;
    right: 20px;
}
.tour-tile-row .tour-tile-block a .tour-tile-content .new-tour-sticker.plus-sold-out,
.most-popular-row .tour-tile-block a .tour-tile-content .new-tour-sticker.plus-sold-out {
    right: 80px;
}
.tour-tile-row .tour-tile-block a .tour-tile-content .sold-out-sticker,
.most-popular-row .tour-tile-block a .tour-tile-content .sold-out-sticker {
	width: 50px;
	height: 50px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.7));
	border-radius: 50%;
	position: absolute;
    bottom: 20px;
    right: 20px;
}
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block .selected-overlay {
	display: none;
}
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block.selected .selected-overlay {
	display: block;
	width: 100%;
	position: absolute;
    top: 60px;
    left: 0;
	text-align: center;
}
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block.selected .selected-overlay img {
	width: 82px;
	height: auto;
}
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block.selected:hover .selected-overlay img {
	filter: brightness(35%);
}
.tour-row-container.optional-upgrades .tour-tile-row .tour-tile-block.selected .tour-tile-image img {
	filter: brightness(35%);
}
/* End Category pages and tour tiles */

/* Start Tour Details page */
.tour-tabs-container {
	background-color: #f1f1f3;
}
.tour-tabs-content-container #highlights h1 {
	display: block;
	width: 100%;
	text-align: center;
	margin: 10px 0 10px 0;
	font-size: 3.5rem;
	line-height: 4rem;
}
/* start the tabs themselves */
.tour-tabs {
	list-style: none;
	width: 100%;
	height: 75px;
	display: flex;
	padding: 0;
	text-align: center;
	margin: 0;
}
.tour-tabs .tab {
	width: 14.285%;
	height: 75px;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	cursor: pointer;
	background: #f1f1f1;
	font-family: "Montserrat", serif;
	font-size: 0rem;
    text-align: center;
    padding: 15px 6px 15px 6px;
    border-top: 5px solid #f1f1f3;
	position: relative;
}
.tour-tabs .tab.plus-videos {
	width: 12.5%;
}
.tour-tabs .tab:hover {
	color: #EC1C24;
}
.tour-tabs .tab.active {
	background: #fff;
	border-bottom: none;
	border-color: #EC1C24;
	color: #EC1C24;
	background-image: url("assets/images/icons/tab-arrow.png");
	background-repeat: no-repeat;
	background-size: 13px auto;
	background-position: bottom 6px center;
}
/* Icon tabs: pin ::before dead-center in the bar (static absolute position sat too high). */
.tour-tabs .tab[data-tab="highlights"]::before,
.tour-tabs .tab[data-tab="itinerary"]::before,
.tour-tabs .tab[data-tab="key-places"]::before,
.tour-tabs .tab[data-tab="essential-info"]::before,
.tour-tabs .tab[data-tab="accommodation"]::before,
.tour-tabs .tab[data-tab="testimonials"]::before,
.tour-tabs .tab[data-tab="photos"]::before,
.tour-tabs .tab[data-tab="videos"]::before {
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 24px;
	max-width: 24px;
	height: 24px;
	margin: 0;
}
/* Leave a little room above the active tab arrow. */
.tour-tabs .tab.active[data-tab="highlights"]::before,
.tour-tabs .tab.active[data-tab="itinerary"]::before,
.tour-tabs .tab.active[data-tab="key-places"]::before,
.tour-tabs .tab.active[data-tab="essential-info"]::before,
.tour-tabs .tab.active[data-tab="accommodation"]::before,
.tour-tabs .tab.active[data-tab="testimonials"]::before,
.tour-tabs .tab.active[data-tab="photos"]::before,
.tour-tabs .tab.active[data-tab="videos"]::before {
	transform: translate(-50%, calc(-50% - 5px));
}
.tour-tabs .tab[data-tab="highlights"]::before {
	content: '';
	position: absolute;
	background-image: url("assets/images/icons/tabs/overview-icon-black.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
.tour-tabs .tab.active[data-tab="highlights"]::before {
	background-image: url("assets/images/icons/tabs/overview-icon-red.png");
}
.tour-tabs .tab[data-tab="itinerary"]::before {
	content: '';
	position: absolute;
	background-image: url("assets/images/icons/tabs/itinerary-icon-black.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
.tour-tabs .tab.active[data-tab="itinerary"]::before {
	background-image: url("assets/images/icons/tabs/itinerary-icon-red.png");
}
.tour-tabs .tab[data-tab="key-places"]::before {
	content: '';
	position: absolute;
	background-image: url("assets/images/icons/tabs/key-places-icon-black.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
.tour-tabs .tab.active[data-tab="key-places"]::before {
	background-image: url("assets/images/icons/tabs/key-places-icon-red.png");
}
.tour-tabs .tab[data-tab="essential-info"]::before {
	content: '';
	position: absolute;
	background-image: url("assets/images/icons/tabs/essential-info-icon-black.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
.tour-tabs .tab.active[data-tab="essential-info"]::before {
	background-image: url("assets/images/icons/tabs/essential-info-icon-red.png");
}
.tour-tabs .tab[data-tab="accommodation"]::before {
	content: '';
	position: absolute;
	background-image: url("assets/images/icons/tabs/accommodation-icon-black.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
.tour-tabs .tab.active[data-tab="accommodation"]::before {
	background-image: url("assets/images/icons/tabs/accommodation-icon-red.png");
}
.tour-tabs .tab[data-tab="testimonials"]::before {
	content: '';
	position: absolute;
	background-image: url("assets/images/icons/tabs/testimonials-icon-black.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
.tour-tabs .tab.active[data-tab="testimonials"]::before {
	background-image: url("assets/images/icons/tabs/testimonials-icon-red.png");
}
.tour-tabs .tab[data-tab="photos"]::before {
	content: '';
	position: absolute;
	background-image: url("assets/images/icons/tabs/gallery-icon-black.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
.tour-tabs .tab.active[data-tab="photos"]::before {
	background-image: url("assets/images/icons/tabs/gallery-icon-red.png");
}
.tour-tabs .tab[data-tab="videos"]::before {
	content: '';
	position: absolute;
	background-image: url("assets/images/icons/tabs/videos-icon-black.png");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
}
.tour-tabs .tab.active[data-tab="videos"]::before {
	background-image: url("assets/images/icons/tabs/videos-icon-red.png");
}
.tour-tabs .tabs-btn {
	width: 14.285%;
	cursor: pointer;
	margin-left: auto;
	display: flex;
	align-items: stretch;
}
.tour-tabs .tabs-btn.plus-videos {
	width: 12.5%;
	cursor: pointer;
}
.tour-tabs .tabs-btn a {
	height: 100%;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background-color: #EC1C24;
	background: linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%);
	color: #fff;
	text-decoration: none;
	font-family: "Montserrat", serif;
	font-size: 0.75rem;
    text-align: center;
    padding: 10px 6px;
	box-sizing: border-box;
	transition: all 0.3s ease;
	word-break: keep-all;
	line-height: 1.2;
}
.tour-tabs .tabs-btn a:hover,
.tour-tabs .tabs-btn a:active,
.tour-tabs .tabs-btn a:focus {
	background: #111;
	transition: all 0.3s ease;
}
.tour-tabs .tab-configurator-btn a {
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	cursor: pointer;
	background-color: #f1f1f1;
	color: #111;
	text-decoration: none;
	font-family: "Montserrat", serif;
	font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 400;
    text-align: center;
    padding: 15px 6px 15px 6px;
    border-top: 5px solid #f1f1f1;
	transition: all 0.3s ease;
}
.tour-tabs .tab-configurator-btn a:hover,
.tour-tabs .tab-configurator-btn a:active,
.tour-tabs .tab-configurator-btn a:focus {
	background-color: #f1f1f1;
	color: #EC1C24;
    border-top: 5px solid #f1f1f1;
	transition: all 0.3s ease;
}
.tour-tabs .wa-btn {
	width: 20%;
	cursor: pointer;
	margin-left: auto;
}
.tour-tabs .wa-btn a {
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	cursor: pointer;
	background-color: #25d366;
	color: #fff;
	text-decoration: none;
	font-family: "Montserrat", serif;
	font-size: 0.75rem;
    text-transform: uppercase;
    font-weight: 400;
    text-align: center;
    padding: 15px 6px 15px 30px;
    border-top: 5px solid #25d366;
	transition: all 0.3s ease;
	background-image: url("assets/images/icons/whatsapp-logo-white.png");
	background-repeat: no-repeat;
	background-size: 20px auto;
	background-position: 6px 46%;
}
.tour-tabs .wa-btn a:hover,
.tour-tabs .wa-btn a:active,
.tour-tabs .wa-btn a:focus {
	background-color: #111;
    border-top: 5px solid #111;
	transition: all 0.3s ease;
}
.tour-tabs .wa-btn a .hide-on-mob {
	display: inline-block;
}
/* end the tabs themselves */
.tour-tabs-content-container {
	padding: 20px 20px 0px 20px;
}
.tab-content {
	display: none;
	padding: 0px;
	background: #fff;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: center;
}
.tab-content.active {
	display: flex;
}
.tab-content-col-full {
	width: 100%;
	display: block;
}
.tab-content-col-full.tour-description-block {
	text-align: center;
	max-width: 1000px;
	display: flex;
	flex-direction: column;
}

.tab-content-col-full.tour-description-block .mobile-teaser,
.tab-content-col-full.tour-description-block .mobile-toggle {
	display: none;
}
.tab-content-col-full.tour-description-block .mobile-full {
	display: block;
}
.tour-colour-tabs {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 20px 0 20px 0;
}
.tour-colour-tabs .tour-colour-tab {
	display: inline-block;
	background-color: #808184;
	color: #fff;
	padding: 5px 5px 5px 5px;
	text-transform: uppercase;
	font-size: 0.85rem;
	font-weight: 600;
	line-height: 0.75rem;
	position: relative;
}
.tour-colour-tabs .tour-colour-tab.favourite-tour {
	padding-left: 25px;
	background: linear-gradient(90deg, #F9EC31 0%, #F9BD31 100%);
}
.tour-colour-tabs .tour-colour-tab.favourite-tour::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 5px;
	transform: translateY(-50%);
	width: 14px;
	height: 12px;
	background-image: url("assets/images/icons/white-heart-icon.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 14px auto;
}
.tour-colour-tabs .tour-colour-tab.e-bike-available {
	background: linear-gradient(90deg, #3E989B 0%, #198488 100%);
}
.tour-colour-tabs .tour-colour-tab.tour-duration {
	background: linear-gradient(90deg, #FAAF40 0%, #F6921E 100%);
}
.tour-colour-tabs .tour-colour-tab.tour-price-from {
	background: linear-gradient(90deg, #A6A8AB 0%, #808184 100%);
}
.show-and-hide-div {
	display: block;
}
.mobile-toggle {
	display: none;
}

.tour-availability {
	display: inline-flex;
	background-image: url("assets/images/icons/calendar-icon.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 32px auto;
	padding: 5px 10px 5px 40px;
	margin: 5px auto 40px auto;
	gap:5px;
}
.starting-price-from .value {
	font-weight: 600;
}
.tab-content-col-container {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	width: 100%;
	align-items: flex-start;
	justify-content: center;
}
.tab-content-col {
	width: 100%;
	display: block;
}
.tab-content-col.first-col {
	padding: 0 0 50px 0;
}
.tab-content-col-full.tour-map-block {
	overflow: hidden;
	margin: 20px 0 20px 0;
}
.tab-content-col-full.tour-map-block img {
	width: 100%;
	display: block;
	height: auto;
	max-width: 100%;
}
.tab-content-col-full.tour-map-block img.tour-map.tour-map-mobile {
	display: block;
}
.tab-content-col-full.tour-map-block img.tour-map.tour-map-single {
	display: block;
}
.tab-content-col-full.tour-map-block img.tour-map.tour-map-desktop {
	display: none;
}
.tab-content-col.mob-order-2 {
	order: 2;
}
.highlight-group-title {
	font-size: 1.1rem;
}
.highlight-group-title:not(.first-group-title) {
    margin-top: 40px;
}
.itinerary-container.grouped-highlights ul.highlights-list.star li {
	padding-left: 24px;
}
.itinerary-container.grouped-highlights ul.highlights-list.star li::before {
	content: '';
	position: absolute;
	top: 7px;
	left: 0;
    width: 18px;
    height: 17px;
    background: url('/wp-content/themes/redspokes2026/assets/images/icons/bullet-point-star.png') no-repeat center center;
    background-size: contain;
}
.itinerary-container.grouped-highlights ul.highlights-list.tick li {
	padding-left: 24px;
}
.itinerary-container.grouped-highlights ul.highlights-list.tick li::before {
	content: '';
	position: absolute;
	top: 11px;
	left: 2px;
    width: 16px;
    height: 12px;
    background: url('/wp-content/themes/redspokes2026/assets/images/icons/bullet-point-tick.png') no-repeat center center;
    background-size: contain;
}
.itinerary-container.grouped-highlights ul.highlights-list.cross li {
	padding-left: 24px;
}
.itinerary-container.grouped-highlights ul.highlights-list.cross li::before {
	content: '';
	position: absolute;
	top: 11px;
	left: 4px;
    width: 12px;
    height: 12px;
    background: url('/wp-content/themes/redspokes2026/assets/images/icons/bullet-point-cross.png') no-repeat center center;
    background-size: contain;
}
.tour-overview-key-details-block {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: flex-start;
	gap: 12px;
	margin: 0 0 30px 0;
}
.tour-overview-key-details-block .tour-overview-key-detail {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: calc(50% - 6px);
	border: 1px solid #ccc;
	padding: 20px;
	text-align: center;
}
.tour-overview-key-details-block .tour-overview-key-detail h4 {
	font-size: 0.85rem;
	margin: 0 0 5px 0;
}
.tour-overview-key-details-block .tour-overview-key-detail span {
	font-size: 0.85rem;
	margin: 0;
}
.tour-overview-key-details-block .tour-overview-key-detail.detail-1 h4 {
	padding: 44px 0 0 0;
	background-image: url("assets/images/icons/cycling-difficulty-icon.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 41px auto;
}
.tour-overview-key-details-block .tour-overview-key-detail.detail-2 h4 {
	padding: 44px 0 0 0;
	background-image: url("assets/images/icons/no-of-cycling-days-icon.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 41px auto;
}
.tour-overview-key-details-block .tour-overview-key-detail.detail-3 h4 {
	padding: 39px 0 0 0;
	background-image: url("assets/images/icons/average-daily-distance-icon.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 41px auto;
}
.tour-overview-key-details-block .tour-overview-key-detail.detail-4 h4 {
	padding: 39px 0 0 0;
	background-image: url("assets/images/icons/average-daily-ascent-icon.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 41px auto;
}
.tour-overview-key-details-block .tour-overview-key-detail.detail-5 h4 {
	padding: 40px 0 0 0;
	background-image: url("assets/images/icons/accommodation-grade-icon.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 41px auto;
}
.tour-overview-key-details-block .tour-overview-key-detail.detail-6 h4 {
	padding: 44px 0 0 0;
	background-image: url("assets/images/icons/included-meals-icon.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 26px auto;
}
.itinerary-container {
	border-radius: 5px;
	overflow: hidden;
}
.itinerary-item {
	border-bottom: 1px solid #ddd;
}
.itinerary-item:first-of-type {
	border-top: 1px solid #ddd;
}
.itinerary-title {
	background: #fff;
	padding: 10px;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-transform: uppercase;
	font-size: 1rem;
	font-weight: 500;
}
.itinerary-title:hover {
	background: #f9f9f9;
}
.iterinary-arrow {
	width: 15px; /* Adjust size as needed */
	height: 8px; /* Ensure consistency */
	transition: transform 0.3s ease; /* Smooth rotation */
}
.itinerary-content-container {
	max-height: 0; /* Hidden initially */
	overflow: hidden;
	padding: 0 10px;
	background: #fff;
	transition: max-height 0.3s ease; /* Smooth slide effect */
	display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
	gap: 30px;
}
.itinerary-content,
.itinerary-content.has-img {
	width: 100%;
}
.itinerary-content p {
	margin: 10px 0 20px 0;
}
.itinerary-image {
	width: 100%;
	margin: 0 0 20px 0;
}
.itinerary-image img {
	width: 100%;
	max-width: 100%;
	height: auto;
}
.tab-content-col.tour-images-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 5px;
    width: 100%;
    max-width: 730px;
    height: auto;
    max-height: 730px;
    margin: 0 auto;
}
.tab-content-col.tour-images-grid .tour-images-grid-item {
    background-size: cover;
    background-position: center;
    aspect-ratio: 1 / 1; /* Ensures each item is a square */
}
.spec-bars {
	max-width: 600px;
	margin: 20px auto;
}
.spec {
	margin-bottom: 10px;
}
.spec-label {
	display: block;
	margin-bottom: 5px;
	font-size: 14px;
	font-weight: 500;
	color: #111;
}
.bar-container {
	background: #bbbdbf;
	overflow: hidden;
	height: 5px;
	position: relative;
}
.bar {
	background: #EC1C24;
	height: 100%;
	width: 0; /* Initial width for animation */
	transition: width 1.5s ease-in-out;
	border-radius: 5px 0 0 5px;
}
.tab-content-col-full.ask-a-question-block {
	text-align: center;
	max-width: 800px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.ask-a-question-container {
	width: 100%;
	max-width: 500px;
}
.tour-dates-and-pricing {
	background-image: url("assets/images/graphics/rs-graphic-mid-grey-short.png");
	background-repeat: no-repeat;
	background-position: right 10px top;
	background-size: 120px auto;
	padding: 40px 0 0 0;
}
.dates-and-pricing-intro {
	margin-bottom: 30px;
	padding: 0 20px 0 20px;
	text-align: center;
}
.dates-and-pricing-intro h2,
.red-gradient-title {
	margin-top: 0;
	color: #EC1C24;
	background-image: linear-gradient(90deg, #EC1C24 0%, #bd202f 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.dates-and-pricing-intro p {
	margin: 0 0 5px 0;
	color: #fff;
}
.dates-and-pricing-intro p:last-of-type {
	margin: 0;
}
.dates-and-pricing-section {
	padding: 0 20px 0 20px;
}
.white-block {
	width: 100%;
	background-color: #fff;
	border-radius: 6px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding: 20px;
	text-align: center;
}
.white-block h3 {
	margin-top: 0;
	color: #EC1C24;
}
.travel-start-date label {
	margin-bottom: 1.5em;
}
.travel-start-date input[type=date] {
	max-width: 300px;
	border-color: #e3e3e3;
}
.upgrades-selection {
	padding: 0 0 0 20px;
}
.upgrades-container {
	width: 100%;
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: center;
	gap: 10px;
}
.upgrades-block {
	display: flex;
	flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
	border: 1px solid #e3e3e3;
    padding: 20px 10px;
    border-radius: 6px;
    width: 150px;
}
.upgrades-block .upgrades-icon .fa-solid,
.upgrades-block .upgrades-icon .fa-regular {
	color: #a0a5a7;
	font-size: 1.25rem;
}
.upgrades-block h4 {
	color: #a0a5a7;
	text-transform: capitalize;
	font-size: 1rem;
	font-weight: 200;
	margin-block-start: 0;
    margin-block-end: 0;
	margin: 5px 0 0 0;
}
.upgrades-block .prices-from {
	color: #a0a5a7;
	font-size: 1rem;
	font-weight: 500;
	margin: 0;
}
.upgrades-block:hover {
	border: 1px solid #fbc8a2;
}
.upgrades-block:hover .upgrades-icon .fa-solid,
.upgrades-block:hover .upgrades-icon .fa-regular {
	color: #fbc8a2;
}
.upgrades-block:hover .prices-from {
	color: #fbc8a2;
}
.upgrades-block.selected {
	border: 1px solid #EC1C24;
}
.upgrades-block.selected .upgrades-icon .fa-solid,
.upgrades-block.selected .upgrades-icon .fa-regular {
	color: #EC1C24;
}
.upgrades-block.selected h4 {
	color: #111;
}
.upgrades-block.selected .prices-from  {
	color: #EC1C24;
}
.price-summary-container {
	margin: 0 auto 0 auto;
	padding: 0;
	display: flex;
	flex-direction: column;
	width: 100%;
}
.price-summary {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	background-color: #262626;
    margin: 0 0 5px 0;
	padding: 30px;
	gap: 10px;
	border-radius: 8px;
}
.price-summary p {
    font-size: 1.5rem;
    font-weight: 500;
	text-transform: uppercase;
	margin: 0;
	text-align: center;color: #fff;
}
.price-summary #total-price {
	color: #fff;
	margin: 0 20px 0 0;
}
.price-small-print {
	font-size: 0.85rem;
	text-align: left;
	color: #fff;
	margin: 0 20px 20px 20px;
}
.tour-diary .price-small-print {
	color: #000;
}
.price-small-print .status-guaranteed-limited {
	color: #EC1C24;
}
.price-small-print .status-guaranteed {
	color: #EC1C24;
}
.price-small-print .status-available {
	color: #00ADEE;
}
.price-small-print .status-available-2-more-to-guarantee {
	color: #198488;
}
.price-small-print .status-contact {
	color: #FAAF40;
}
.price-small-print .status-full {
	color: #0a7926;
}
.price-small-print.first {
	margin: 20px 20px 20px 20px;
}
.group-call-text {
	display: none;
	margin: 20px 0 0 0;
}
.group-call-text a:link,
.group-call-text a:visited {
	color: #EC1C24;
	text-decoration: none;
}
.group-call-text a:hover,
.group-call-text a:active,
.group-call-text a:focus {
	text-decoration: underline;
}
.tour-images-container {
	background-color: #f1f1f3;
}
.tour-images-container .swiper-wrapper {
	padding-top: 60px;
}
.tour-images-container .swiper-wrapper a img {
	height: 100%;
}
.home-reviews-container .swiper-wrapper {
	padding-bottom: 0px;
	align-items: flex-start;
}
.home-reviews-container .tour-tile-row {
	padding: 0;
}
.home-reviews-container .swiper-navigation-block {
	top: 0;
	bottom: unset;
}
/* End Tour Details page */

/* Start Mini Cart */
.wc-block-mini-cart__items .wc-block-components-product-metadata .wc-block-components-product-details .wc-block-components-product-details__details {
	display: none;
}
/* End Mini Cart */

/* Start Home Page */
.home .entry-content {
	margin-block-start:0;
}
.home-intro-block {
	padding: 40px 0 40px 0;
}
.home-intro-block p {
	max-width: 900px;
	margin: 0 auto 30px auto;
}
.home-intro-block a.red-btn {
	margin: 0 10px 10px 10px;
}
.home-intro-block a.black-btn-outline {
	margin: 0 10px 10px 10px;
}
h1.title-with-symbol {
	padding: 32px 0 0 0;
	background-image: url(assets/images/graphics/redspokes-logo-icon.png);
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 107px auto;
}
.home-content-block {
	background-image: url(assets/images/graphics/rs-graphic-light-grey-short.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 200px auto;
}
.why-choose-rs-img img {
	width: 100%;
	max-width: 464px;
	border-radius: 8px;
}
.why-choose-rs-text {
	padding: 0 0 0 0;
}
ul.home-list {
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px 60px;
	margin: 0 0 30px 0!important;
}
ul.home-list li {
	width: calc(50% - 30px);
	line-height: 1.65;
	margin: 0;
}
ul.home-list li::before,
.home ul.home-list li::before {
	height: 26px;
}
.red-full-block {
	background-color: #EC1C24;
	background-image: url("assets/images/graphics/rs-contact-bar-left.png"), url("assets/images/graphics/rs-contact-bar-right.png");
	background-repeat: no-repeat;
	background-position: left bottom, right top;
	background-size: 196px auto;
}
.red-full-block.home-ofb {
	margin-top: -40px;
}
.grey-full-block {
	background-color: #f1f1f3;
	background-image: url("assets/images/graphics/rs-contact-bar-left-grey.png"), url("assets/images/graphics/rs-contact-bar-right-grey.png");
	background-repeat: no-repeat;
	background-position: left bottom, right top;
	background-size: 196px auto;
}
.grey-full-block.home-ofb {
	margin-top: -40px;
}
.home-statistic-col,
.home-statistic-col.wpb_column.vc_column_container.vc_col-sm-2 {
	padding: 25px 20px 25px 20px;
}
.home-statistic-block {
	color: #111;
}
.home-statistic-block p {
	margin: 0;
}
.home-statistic-block .home-stat-value {
	display: block;
	font-weight: 600;
	font-size: 1.5rem;
}
.home-statistic-block .home-stat-label {
	display: block;
	font-weight: 300;
	font-size: 1rem;
}
.page-container.dark-gradient {
	background-color: rgb(35,31,32);
	background: linear-gradient(0deg, rgba(35,31,32,1) 0%, rgba(64,64,65,1) 100%);
	padding-bottom: 80px;
}
.tours-container.dark-gradient {
	background-color: rgb(35,31,32);
	background: linear-gradient(0deg, rgba(35,31,32,1) 0%, rgba(64,64,65,1) 100%);
}
body.page-id-1828 .tours-container.dark-gradient,
body.page-id-6832 .tours-container.dark-gradient {
	border-radius: 8px;
	margin: 0 0 30px 0;
}
.tour-style-container {
	background-image: url("assets/images/graphics/rs-graphic-dark-grey.png");
	background-repeat: no-repeat;
	background-position: right 10px top;
	background-size: 120px auto;
	padding: 40px 20px 40px 20px;
	color: #000;
}
.tour-style-container h2 {
	font-size: 2.125rem;
}
.tours-container.dark-gradient :is(h1, h2, h3, h4, h5, h6, p, ul, li, blockquote),
.page-container.dark-gradient :is(h1, h2, h3, h4, h5, h6, p, ul, li, blockquote) {
	color: #fff;
}
.tour-style-select-block {
	width: 100%;
	display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
	padding: 0;
	margin: 0 0 20px 0;
}
.tour-style-select-item {
	text-align: center;
	cursor: pointer;
	width: 50%;
	margin: 0 0 30px 0;
}
.tour-style-icon-block {
	position: relative;
	width: 100%;
	height: auto;
}
.tour-style-icon-block .tour-style-icon {
	display: block;
	width: 74px;
	height: auto;
    padding: 0;
    margin: 0 auto 10px auto;
	transition: opacity .25s ease;
}
.tour-style-icon-block .tour-style-icon.icon-hover {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity .25s ease;
}
.tour-style-select-item:hover .tour-style-icon-block .tour-style-icon {
	opacity: 0;
	transition: opacity .25s ease;
}
.tour-style-select-item:hover .tour-style-icon-block .tour-style-icon.icon-hover {
	opacity: 1;
	transition: opacity .25s ease;
}
.tour-style-select-item.active .tour-style-icon-block .tour-style-icon {
	opacity: 0;
}
.tour-style-select-item.active .tour-style-icon-block .tour-style-icon.icon-hover {
	opacity: 1;
}
.tour-style-select-item h3 {
	color: #000;
	margin: 0;
    text-wrap: balance;
	width: 100%;
	font-size: 1.1rem;
}
.tour-style-select-item.active h3 {
	color: #EC1C24;
	background-image: linear-gradient(90deg, #EC1C24 0%, #bd202f 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.tour-style-select-item:hover h3 {
	color: #EC1C24;
	background-image: linear-gradient(90deg, #EC1C24 0%, #bd202f 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.tour-style-display-block {
	width: 100%;
}
.tour-style-item {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}
.tour-style-item.active {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    opacity: 1;
	column-gap: 40px;
}
.tour-style-image {
	width: 100%;
	margin: 20px 0 0 0;
}
.tour-style-image img {
	width: 100%;
	height: auto;
    border-radius: 8px;
}
.tour-style-content {
	width: 100%;
	color: #000;
}
.tour-style-content h1,
.tour-style-content h2,
.tour-style-content h3,
.tour-style-content h4,
.tour-style-content h5,
.tour-style-content h6,
.tour-style-content p {
	color: #000;
}
.page-container.black-block {
	background: #000;
}
.page-container.dark-white-block {
	background: rgb(255,255,255);
	background: linear-gradient(0deg, rgba(255,255,255,1) 50%, rgba(0,0,0,1) 50%);
	position: relative;
}
.white-to-light-grey-gradient {
	background: #fff;
	background: linear-gradient(180deg,rgba(255, 255, 255, 1) 50%, rgba(243, 243, 243, 1) 50%);
}
.page-container.dark-white-block::after {
	content: '';
    position: absolute;
    left: 40px;
    top: 90%;
    background-image: url("assets/images/graphics/rs-graphic-light-red.png");
	background-repeat: no-repeat;
	background-size: 130px auto;
	background-position: top left;
    width: 130px;
    height: 350px;
    z-index: 0;
}
.thirds-container {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
	padding: 40px 20px 0 20px;
	position: relative;
	z-index: 1;
}
.thirds-container-intro {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
	padding: 40px 20px 0 20px;
	position: relative;
	z-index: 1;
}
.thirds-container-intro h3 {
	display: block;
	width: 100%;
	font-size: 34px;
	text-align: center;
	color: #EC1C24;
	background-image: linear-gradient(90deg, #EC1C24 0%, #bd202f 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.thirds-container-intro p {
	color: #fff;
	display: block;
	width: 80%;
	margin: 0 10% 0px 10%;
	text-align: center;
}
.thirds-container .third-block {
	width: 100%;
	height: 300px;
	display: block;
	position: relative;
	overflow: hidden;
	margin: 0 0 20px 0;
    border-radius: 8px;
}
.thirds-container .third-block.block-3 {
	margin: 0;
}
.thirds-container .third-block a {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
}
.thirds-container .third-block.featured a::after {
	width: 133px;
	height: 42px;
	display: block;
	content: '';
	position: absolute;
	bottom: 22px;
	right: 0;
	z-index: 1;
	background-image: url("assets/images/graphics/redspokes-logo-with-dropshadow.png");
	background-repeat: no-repeat;
	background-size: 133px auto;
	background-position: top right;
}
.thirds-container .third-block a .third-block-image {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	overflow: hidden;
}
.thirds-container .third-block a .third-block-image.video-image::after {
	content: '';
	position: absolute;
	width: 100px;
	height: 80px;
	top: calc(50% - 40px);
	left: calc(50% - 50px);
	right: 0;
	z-index: 2;
	background-image: url("assets/images/icons/video-icon-white.png");
	background-repeat: no-repeat;
	background-size: 100px auto;
	background-position: center center;
}
.thirds-container .third-block a .third-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
	filter: brightness(85%);
    transition: transform 0.3s ease;
}
.thirds-container .third-block:hover .third-block-image img {
    transform: scale(1.1);
	filter: brightness(35%);
    transition: transform 0.3s ease, filter 0.3s ease;
}
.thirds-container .third-block a .third-block-title {
	width: auto;
	height: auto;
	position: absolute;
	top: 0;
	left: 0;
	padding: 20px;
	text-align: left;
	color: #fff;
	text-transform: uppercase;
	font-size: 1rem;
	font-weight: 500;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}
.thirds-container .third-block a .third-block-title .third-block-heading {
	font-size: 1.65rem;
	color: #fff;
	text-transform: uppercase;
	margin: 0 0 15px 0;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
}
.thirds-container .third-block:hover .third-block-title .third-block-heading {
    transition: opacity 0.3s ease, transform 0.3s ease;
	margin: 0;
}
.thirds-container .third-block a .third-block-button {
	width: auto;
	height: auto;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 20px;
	text-align: left;
	color: #fff;
	transition: transform 0.3s ease;
}
.thirds-container .third-block a .third-block-button .white-btn-outline {
    display: inline-block;
    background-color: transparent;
	border: 1px solid #fff;
    color: #fff;
    padding: 10px 30px 10px 18px;
    border-radius: 5px;
    text-transform: uppercase;
	font-family: "Montserrat", serif;
	font-size: 1rem;
	background-image: url("assets/images/icons/button-arrow-white.png");
	background-repeat: no-repeat;
	background-size: 7px auto;
	background-position: right 14px center;
	line-height: 23px;
	transition: all 0.3s ease;
}
.thirds-container .third-block:hover .third-block-button .white-btn-outline {
    transition: all 0.3s ease;
	background-color: #EC1C24;
	border: 1px solid #EC1C24;
}
.video-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
}
.video-modal-content {
    position: relative;
    margin: 10% auto;
    padding: 10px;
    background: #fff;
    width: 80%;
    max-width: 800px;
    border-radius: 10px;
}
.video-modal-content #video-container {
	display: flex;
}
.video-modal-content iframe {
    width: 100%;
    height: 400px;
    border: none;
}
.close-modal {
    position: absolute;
    top: -25px;
    right: -25px;
    font-size: 3rem;
    cursor: pointer;
    color: #EC1C24;
	background-color: #fff;
    height: 40px;
    width: 40px;
    text-align: center;
    line-height: 40px;
    border-radius: 20px;
}
.close-modal:hover {
    color: #000000;
}
.home-third-block-featured-title {
	padding: 5px 10px;
	text-align: center;
	background-color: #EC1C24;
	color: #fff;
	margin: 0 0 5px 0;
	text-shadow: none;
}
.home-review-container {
	width: 100%;
	display: block;
}
.home-review-block {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	padding: 20px;
}
.home-review-image {
	width: 100%;
	display: block;
	position: relative;
	max-height: 400px;
	border-radius: 8px;
	overflow: hidden;
}
.home-review-image img {
	width: 100%;
	border-radius: 8px;
}
.home-review-image .home-review-from {
	position: absolute;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 4px 10px 4px 4px;
	bottom: 20px;
	left: 0;
	width: auto;
	background-color: #fff;
	color: #111;
	text-align: left;
	font-size: 0.875rem;
	border-radius: 0 4px 4px 0;
}
.home-review-image .home-review-from img {
	max-height: 20px;
	width: auto;
	margin: 0 5px 0 0;
}
.home-review-content {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 20px 0;
}
.home-review-content h3 {
	color: #000000;
	margin-top: 0;
	font-size: var(--wp--preset--font-size--x-large);
}
.review-stars {
	max-width: 100px;
	margin: 0 0 10px 0;
}
.review-tour-title {
	margin: 0 0 20px 0;
	font-weight: 600;
}
.review-person {
	margin: 0 0 20px 0;
	font-weight: 600;
}
.vc_row.max-width.vc_row-flex > .level-2.wpb_column.vc_column_container.vc_col-sm-6 > .vc_column-inner,
.vc_row.vc_row-flex>.vc_column_container>.vc_column-inner {
	z-index: 2!important;
}
.home-reviews-section {
	padding-top: 70px;
}
.home-reviews-section h3 {
	font-size: 34px;
	margin: 0 0 20px 0;
}
/* End Home Page */

/* Start Testimonials Page */
.strong-view.wpmtst-simple.rs-testimonials {
	width: 100%;
}
.strong-view.wpmtst-simple.rs-testimonials .wpmtst-testimonial {
	margin-bottom: 40px;
	background-color: #FFF;
	padding: 20px;
	border-radius: 6px;
}
.strong-view.wpmtst-simple.rs-testimonials .wpmtst-testimonial-inner {
	padding: 0;
}
.strong-view.wpmtst-simple.rs-testimonials .wpmtst-testimonial-inner .testimonial-heading {
	margin-bottom: 20px;
}
.strong-view.wpmtst-simple.rs-testimonials .wpmtst-testimonial-inner .testimonial-name {
	margin-top: 20px;
	font-weight: 400;
}
.strong-view.wpmtst-simple.rs-testimonials .wpmtst-testimonial-image {
	width: 100%;
}
.strong-view.wpmtst-simple.rs-testimonials .wpmtst-testimonial-image img {
	width: 100%;
	max-width: 100%;
	height: auto;
}
.strong-view.wpmtst-simple.rs-testimonials .strong-rating-wrapper .star svg path {
	fill: #EC1C24;
}
/* End Testimonials Page */

/* Start Blog Section Pages */
.blog-posts-container {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: center;
	gap: 20px;
}
.blog-post-block {
	background-color: #fff;
	width: 100%;
	border-radius: 10px;
}
.blog-post-block a {
	width: 100%;
	height: 100%;
	display: block;
	position: relative;
	padding: 20px;
	color: #000;
}
.blog-post-block a .blog-post-image { 
	width: 100%;
	height: 280px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 8px;
	overflow: hidden;
	margin: 0 0 20px 0;
}
.blog-post-block a .blog-post-image img { 
	width: 100%;
	height: 100%;
	object-fit: cover;
    transition: transform 0.3s ease, filter 0.3s ease;
    border-radius: 8px;
}
.blog-post-block a h2 {
	font-size: var(--wp--preset--font-size--large);
}
.blog-post-block a .black-btn-outline,
a.black-btn-outline,
button.black-btn-outline {
    display: inline-block;
    box-sizing: border-box;
    background-color: transparent;
	border: 1px solid #111;
    color: #111;
    padding: 10px 30px 10px 18px;
    border-radius: 5px;
    text-transform: uppercase;
	font-family: "Montserrat", serif;
	font-size: 1rem;
	background-image: url("assets/images/icons/button-arrow-black.png");
	background-repeat: no-repeat;
	background-size: 7px auto;
	background-position: right 14px center;
	line-height: 23px;
	transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
}
.black-btn-outline--small {
    padding: 8px 26px 8px 14px;
    font-size: 0.85rem;
    background-position: right 12px center;
}
.blog-post-block a:hover .blog-post-image img {
	transform: scale(1.1);
    transition: transform 0.3s ease, filter 0.3s ease;
}
.blog-post-block a:hover p {
	color: #111;
}
.blog-post-block a:hover .black-btn-outline,
a.black-btn-outline:hover,
a.black-btn-outline:focus,
a.black-btn-outline:focus-visible,
a.black-btn-outline:active,
button.black-btn-outline:hover,
button.black-btn-outline:focus,
button.black-btn-outline:focus-visible,
button.black-btn-outline:active {
    transition: all 0.3s ease;
	background-color: #000;
	color: #fff;
	border: 1px solid #000;
	background-image: url("assets/images/icons/button-arrow-white.png");
    background-repeat: no-repeat;
    background-size: 7px auto;
    background-position: right 14px center;
}
.black-btn-outline--small:hover,
.black-btn-outline--small:focus,
.black-btn-outline--small:focus-visible,
.black-btn-outline--small:active,
button.black-btn-outline.black-btn-outline--small:hover,
button.black-btn-outline.black-btn-outline--small:focus,
button.black-btn-outline.black-btn-outline--small:focus-visible,
button.black-btn-outline.black-btn-outline--small:active {
    background-position: right 12px center;
}
a.black-btn-outline:disabled,
button.black-btn-outline:disabled,
.black-btn-outline.disabled {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
}
.blog-post-block .search-post-type {
	font-size: 0.875rem;
	padding: 5px 10px;
    background-color: #8f8f8f;
    color: #fff;
    display: inline-block;
    margin: 16px 0 10px 0;
    border-radius: 4px;
}
.blog-post-block a:hover .search-post-type {
	color: #fff;
}
.blog-post-block .search-tour-values {
	margin-block-end: 0;
	margin: 0 0 10px 0;
	font-weight: 400;
}
.blog-post-block .search-tour-values .search-tour-value {
	padding: 0 20px 0 0;
}
.blog-post-block .search-tour-values .search-tour-value.last {
	padding: 0;
}
.blog-post-block .search-price-from {
	margin-block-end: 0;
	margin: 0 0 10px 0;
	font-weight: 400;
}
.blog-post-block .new-tour-sticker {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	position: absolute;
    bottom: 20px;
    right: 20px;
}
.blog-post-block .new-tour-sticker.plus-sold-out {
    right: 80px;
}
.blog-post-block .sold-out-sticker {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	position: absolute;
    bottom: 20px;
    right: 20px;
}
.wpb_single_image img {
	border-radius: 8px;
}
.wp-container-core-group-is-layout-1c2efa7f {
    border-radius: 8px;
    font-size: 1rem;
}
.wp-block-latest-posts.wp-block-latest-posts__list {
    line-height: normal;
}
ul.wp-block-latest-posts__list.wp-block-latest-posts li {
	margin-bottom: 15px;
}
li a.wp-block-latest-posts__post-title {
	margin-bottom: 0;
	display: block;
	color: #000;
	line-height: 2;
}
.blog-pagination {
    text-align: center;
    margin-top: 30px;
}
.blog-pagination a, .blog-pagination span {
    display: inline-block;
    padding: 8px 12px;
    margin: 5px;
    background-color: #f1f1f3;
    color: #111;
    text-decoration: none;
    border-radius: 6px;
}
.blog-pagination .current {
    background-color: #111;
    font-weight: bold;
	color: #fff;
}
.blog-pagination a:hover {
    background-color: #EC1C24;
	color: #fff;
}
body.page-id-1826 .content-container,
body.page-id-1828 .content-container{
	padding-bottom: 0!important;
}
.image-overlay-back-link {
	text-align: center;
	color: #fff;
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
	margin-block-start:0;
	margin-top: 10px;
}
.image-overlay-back-link a {
	display: inline-block;
	padding: 0 10px 0 20px;
	margin: 0;
	font-size: 1.35rem;
	font-weight: 400;
	color: #fff;
	background-image: url("assets/images/icons/back-arrow-white.png");
	background-repeat: no-repeat;
	background-size: 10px auto;
	background-position: left top 53%;
}
.image-overlay-back-link a:hover {
	color: #EC1C24;
	background-image: url("assets/images/icons/back-arrow-red.png");
}
.blog-back-link a:not(.red-btn):link,
.blog-back-link a:not(.red-btn):visited {
	display: inline-block;
    width: auto;
	color: #000;
    padding: 10px 5px;
    border-bottom: 1px solid #111;
}
.blog-back-link a:not(.red-btn):hover,
.blog-back-link a:not(.red-btn):active,
.blog-back-link a:not(.red-btn):focus {
	color: #EC1C24;
    border-bottom: 1px solid #EC1C24;
}
.blog-back-link.with-tours-btn {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.blog-article-content-container {
	display: flex;
	flex-direction: column;
}
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.blog-article-content-block {
	width: 100%;
	flex-basis: auto;
}
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.blog-article-sidebar-block {
	width: 100%;
	flex-basis: auto;
}
.article-categories-container {
	background-color: #fff;
	border-radius: 6px;
	padding: 10px 20px 20px 20px;
}
.article-categories-container.sidebar {
	background-color: #f1f1f3;
	padding: 0;
	margin-top: 50px;
}
.article-categories-container h3 {
	margin-bottom:0;
}
ul.article-category-links {
	width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
	gap: 20px;
	margin: 0;
	margin-block-start:0;
}
ul.article-category-links.sidebar {
	width: 100%;
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: center;
	margin: 0;
	margin-block-start:0;
	margin-top: 20px;
}
ul.article-category-links > li.article-category-link-item {
	display: block;
	width: 100%;
	margin: 0;
	text-align: left;
}
ul.article-category-links.sidebar  > li.article-category-link-item {
	display: block;
	width: 100%;
	margin: 0;
	text-align: left;
	padding-left: 0;
}
ul.article-category-links > li.article-category-link-item::before {
	display: none;
}
ul.article-category-links > li.article-category-link-item > a.article-category-link,
ul.article-category-links > li.article-category-link-item > a.article-category-link:link,
ul.article-category-links > li.article-category-link-item > a.article-category-link:visited {
	display: inline-block;
	width: 100%;
	margin: 0 0 0 0;
	color: #111;
	padding: 10px 10px 10px 20px;
	background-color: transparent;
	background-image: url("assets/images/icons/bullet-point-arrow-black.png");
	background-size: 9px auto;
	background-repeat: no-repeat;
	background-position: 0% 15px;
	border-bottom: 1px solid #9e9e9e;
	transition: all 0.2s;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
	line-height: normal;
}
ul.article-category-links > li.article-category-link-item > a.article-category-link.active,
ul.article-category-links > li.article-category-link-item > a.article-category-link.active:link,
ul.article-category-links > li.article-category-link-item > a.article-category-link.active:visited {
	color: #EC1C24;
	background-image: url("assets/images/icons/bullet-point-arrow-red.png");
	border-bottom: 1px solid #EC1C24;
}
ul.article-category-links > li.article-category-link-item > a.article-category-link:hover,
ul.article-category-links > li.article-category-link-item > a.article-category-link:active,
ul.article-category-links > li.article-category-link-item > a.article-category-link:focus,
ul.article-category-links > li.article-category-link-item > a.article-category-link.active:hover,
ul.article-category-links > li.article-category-link-item > a.article-category-link.active:active,
ul.article-category-links > li.article-category-link-item > a.article-category-link.active:focus {
	color: #FFF;
	background-color: #EC1C24;
	padding: 10px 10px 10px 30px;
	background-image: url("assets/images/icons/bullet-point-arrow-white.png");
	background-position: 10px 15px;
	border-radius: 6px;
	border-bottom: none;
	transition: all 0.2s;
	-webkit-transition: all 0.2s;
	-moz-transition: all 0.2s;
}

/* End Blog Section Pages */

a.red-text-btn,
a.red-text-btn:link,
a.red-text-btn:visited {
	color: #EC1C24;
}
a.red-text-btn:hover,
a.red-text-btn:active,
a.red-text-btn:focus {
	color: #EC1C24;
	text-decoration: underline;
}

.page-id-4728 h1.wp-block-post-title,
.page-id-4736 h1.wp-block-post-title,
.page-id-4738 h1.wp-block-post-title {
	display: none;
}
label.hide {
	display: none;
}
.grecaptcha-badge {
	visibility: hidden;
}
.page-id-732 .category-slider-container.most-popular {
    display: none;
}

.search-results .wp-block-group.content-container h2.vc_custom_heading {
	display: none;
}

/* START static buttons */
.calendly-badge-widget .calendly-badge-content span {
	display: none!important;
}
.calendly-badge-widget .calendly-badge-content {
	font-size: 0!important;
	width: 56px!important;
	height: 56px!important;
	border-radius: 50%!important;
	padding: 28px!important;
}
.calendly-badge-widget .calendly-badge-content {
    background: linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%)!important;
}
.calendly-badge-widget .calendly-badge-content::after {
	content: '';
	background-image: url("assets/images/icons/schedule-a-call-icon-white.png");
    display: block;
	width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    background-repeat: no-repeat;
    background-size: 30px auto;
	transform: translateY(-50%);
	background-position: center center;
}
.wa-call-btn {
	position: fixed;
	z-index: 9998;
	bottom: 15px;
	right: 86px;
	display: flex;
	font-size: 0;
}
.wa-call-btn a {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	padding: 28px;
	background-color: #25d366;
	background-image: url("assets/images/icons/whatsapp-logo-white.png");
	background-repeat: no-repeat;
    background-size: 30px auto;
	background-position: center center;
}
/* END static buttons */

.max-width.pre-footer-section {
	max-width: 800px;
	padding: 40px 20px;
	text-align: center;
}
.pre-footer-section {
	text-align: center;
}
.pre-footer-section h1,
.pre-footer-section h2,
.pre-footer-section h3,
.pre-footer-section h4,
.pre-footer-section h5,
.pre-footer-section h6 {
	text-transform: uppercase;
}
.lrg-redspokes-grey-logo.custom {
	margin-bottom: 35px;
}
.lrg-redspokes-grey-logo img {
	width: 100%;
	max-width: 480px;
}
.pre-footer-section .pre-footer-email {
	display: inline-block;
	margin: 0 10px 10px 10px;
	padding: 5px 0 5px 30px;
	color: #000;
}
.pre-footer-section .pre-footer-email:link,
.pre-footer-section .pre-footer-email:visited {
	color: #000;
	background-size: 22px auto;
	background-repeat: no-repeat;
	background-position: 0 7px;
	background-image: url("assets/images/icons/email-icon-black.png");
}
.pre-footer-section .pre-footer-email:hover,
.pre-footer-section .pre-footer-email:active,
.pre-footer-section .pre-footer-email:focus {
	background-image: url("assets/images/icons/email-icon-red.png");
	color: #ec1c24;
}
.pre-footer-section .pre-footer-tel {
	display: inline-block;
	margin: 0 10px 10px 10px;
	padding: 5px 0 5px 30px;
	color: #000;
}
.pre-footer-section .pre-footer-tel:link,
.pre-footer-section .pre-footer-tel:visited {
	color: #000;
	background-size: 22px auto;
	background-repeat: no-repeat;
	background-position: 0 5px;
	background-image: url("assets/images/icons/phone-icon-black.png");
}
.pre-footer-section .pre-footer-tel:hover,
.pre-footer-section .pre-footer-tel:active,
.pre-footer-section .pre-footer-tel:focus {
	background-image: url("assets/images/icons/phone-icon-red.png");
	color: #ec1c24;
}
.alternating-row-text {
	padding: 30px;
}
.widths-container {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
	padding: 0 20px;
	position: relative;
	z-index: 1;
}
.widths-container .width-full {
	width: 100%;
	margin: 0 0 0 0;
}
.widths-container.tour-charts {
	width: 100%;
	margin: 20px 0 20px 0;
}
.widths-container .width-two-thirds {
	width: 100%;
	display: block;
	margin: 0 0 30px 0;
}
.widths-container .width-one-third {
	width: 100%;
	display: block;
	margin: 0;
}
.widths-container .width-half {
	width: 100%;
	display: block;
	margin: 0;
}
.widths-container .width-half.first-half {
	margin: 0 0 30px 0;
}
.country-temperature-chart,
.country-temperature-chart,
.tour-temperature-chart,
.tour-temperature-chart {
	text-align: center;
}
.country-temperature-chart img,
.country-temperature-chart img,
.tour-temperature-chart img,
.tour-temperature-chart img {
	width: 100%;
	max-width: 400px;
	height: auto;
}
.tours-container.red-gradient {
	text-align: center;
	padding: 30px 20px 80px 20px;
	background-color: #EC1C24;
	background: linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%);
}
.tours-container.red-gradient h3,
.tours-container.red-gradient p {
	color: #fff;
}
.tours-container.red-gradient h3 {
	font-size: 36px;
	margin: 0 0 20px 0;
}
.red-gradient-full-block {
	background-color: #EC1C24;
	background: linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%);
}
.red-gradient-full-block * {
	color: #fff;
}
.red-gradient-full-block.advert {
	border-radius: 8px;
}
.highlighted-tour-block {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}
.highlighted-tour-block .highlighted-tour-img {
	margin-top: -70px;
}
.highlighted-tour-block .highlighted-tour-img img {
	width: 100%;
	border: 12px solid #fff;
}
.highlighted-tour-block .highlighted-tour-content {
	width: 100%;
	padding: 12px;
	margin: 0;
}
.highlighted-tour-block .highlighted-tour-content .highlighted-tour-title {
	font-size: 2.5rem;
}
.highlighted-tour-block .highlighted-tour-sticker-block {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	margin: 0 0 30px 0;
}
.highlighted-tour-block .highlighted-tour-new-block {
	display: inline-block;
	margin: 0 20px 0 0;
}
.highlighted-tour-block .highlighted-tour-new-block img {
	width: 50px;
}
.highlighted-tour-block .highlighted-tour-favourite-block {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	margin: 0;
}
.highlighted-tour-block .highlighted-tour-favourite-block img {
	max-width: 34px;
	margin: 0 5px 0 0;
}
.highlighted-tour-block .highlighted-tour-favourite-block span {
	font-size: 0.85rem;
}
.highlighted-tour-block .days-and-price {
	text-transform: uppercase;
	font-weight: 600;
}
.highlighted-tour-block .tour-stats {
	list-style: none;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
}
.highlighted-tour-block .tour-stats li {
	width: calc(50% - 20px);
	line-height: normal;
    margin: 0 20px 20px 0;
    padding: 0;
}
.highlighted-tour-block .tour-stats li::before {
	content: none;
}

.videos-gallery-container {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 30px;
	margin: 0 0 30px 0;
}
.videos-gallery-container .video-gallery-item {
	flex-basis: 100%;
	display: block;
	margin: 0;
}
.videos-gallery-container .video-gallery-item iframe {
	width: 100%;
}
.tour-review-container {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 0;
	gap: 30px;
}
.tour-review-block {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	padding: 0px;
	flex-basis: 100%;
}
.tour-review-image {
	width: 100%;
	max-width: 446px;
	height: 275px;
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 8px;
}
.tour-review-image img {
	width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.tour-review-image .tour-review-from {
	position: absolute;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 4px 10px 4px 4px;
	bottom: 20px;
	left: 0;
	width: auto;
	background-color: #fff;
	color: #111;
	text-align: left;
	font-size: 0.875rem;
	border-radius: 0 4px 4px 0;
}
.tour-review-image .tour-review-from img {
	max-height: 20px;
	width: auto;
	margin: 0 5px 0 0;
}
.tour-review-content {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 20px 0;
}
.tour-review-content__body {
	width: 100%;
}
.tour-review-content__body.is-collapsed {
	max-height: 130px;
	overflow: hidden;
	position: relative;
}
.tour-review-content__body.is-collapsed::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 40px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
	pointer-events: none;
}
.tour-review-content__body.is-expanded::after {
	display: none;
}
.tour-review-content__toggle {
	appearance: none;
	background: none;
	border: 0;
	padding: 0;
	margin: 12px 0 0;
	align-self: flex-end;
	color: #c52127;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	text-decoration: underline;
}
.tour-review-content__toggle:hover,
.tour-review-content__toggle:focus {
	color: #111;
}
.tour-review-content h3 {
	color: #000000;
	margin-top: 0;
	font-size: var(--wp--preset--font-size--x-large);
}
.review-stars {
	max-width: 100px;
	margin: 0 0 10px 0;
}
.review-tour-title {
	margin: 0 0 20px 0;
	font-weight: 600;
}
.review-person {
	margin: 0 0 20px 0;
	font-weight: 600;
}
.tour-review-content .review-tour-link {
	display: contents;
	color: #000;
	text-decoration: none;
}
.tour-review-content .review-tour-link:hover,
.tour-review-content .review-tour-link:focus {
	color: #c52127;
}
.tour-review-content .review-tour-link .review-tour-title,
.tour-review-content .review-tour-link .review-tour-link__view {
	color: inherit;
}
.tour-review-content .review-tour-link .review-tour-title {
	order: 2;
}
.tour-review-content .review-tour-link__view {
	order: 6;
	display: block;
	margin: 0 0 20px 0;
	font-weight: 600;
}
.tour-review-content .review-stars {
	order: 1;
}
.tour-review-content .review-tour-title {
	order: 2;
}
.tour-review-content .tour-review-content__body {
	order: 3;
}
.tour-review-content .tour-review-content__toggle {
	order: 4;
}
.tour-review-content .review-person {
	order: 5;
}
.vc_row.max-width.vc_row-flex > .level-2.wpb_column.vc_column_container.vc_col-sm-6 > .vc_column-inner,
.vc_row.vc_row-flex>.vc_column_container>.vc_column-inner {
	z-index: 2!important;
}
.tour-reviews-section {
	padding-top: 70px;
}
.tour-reviews-section h3 {
	font-size: 34px;
	margin: 0 0 20px 0;
}
.accommodation-gallery-block {
	width: 100%;
	display: block;
	margin: 80px 0 40px 0;
	text-align: center;
}
.accommodation-gallery-block .accom-level {
	font-size: 1.2rem;
	margin: 0 0 15px 0;
}
.accommodation-gallery-images {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	padding: 0;
	gap: 10px;
}
.accommodation-gallery-images .accommodation-gallery-image {
	width: auto;
	height: 240px;
	display: block;
	position: relative;
	overflow: hidden;
	flex-basis: 100%;
}
.accommodation-gallery-images .accommodation-gallery-image a {
	
}
.accommodation-gallery-images .accommodation-gallery-image img {
	width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}
.accommodation-highlights-container {
	display: block;
	width: 100%;
	margin: 80px 0 40px 0;
}
.accommodation-highlights-container h3 {
	font-size: 1.5rem;
}
.accommodation-highlights-container .accommodation-highlights-block {
	margin: 0 0 40px 0;
	padding: 0;
	align-items: center;
}
.accommodation-highlights-container .accommodation-highlights-block .accommodation-highlights-img {
	
}
.accommodation-highlights-container .accommodation-highlights-block .accommodation-highlights-img img {
	width: 100%;
	height: auto;
}
.accommodation-highlights-container .accommodation-highlights-block .accommodation-highlights-content {
	text-align: left;
}
.accommodation-highlights-container .accommodation-highlights-block.odd .accommodation-highlights-img,
.accommodation-highlights-container .accommodation-highlights-block.even .accommodation-highlights-img {
	order: 1;
}
.accommodation-highlights-container .accommodation-highlights-block.even .accommodation-highlights-content,
.accommodation-highlights-container .accommodation-highlights-block.odd .accommodation-highlights-content {
	order: 2;
}

/* Start - Tour Dates Tables */

/* start filter */ rs-tour-diary-filter
.rs-tour-diary-filter label {
	display: none;
}
.rs-tour-diary-filter select {
	border: 1px solid #dddddd;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	padding: 15px;
	width: 280px;
}
.all-tours-filter select {
	border: 1px solid #dddddd;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	padding: 15px;
	width: 210px;
}
.rs-tour-diary-filter select#rs-diary-month {
	padding-left: 35px;
	background-image:
        url("assets/images/icons/calendar-sml.png"),
        url("assets/images/icons/select-list-arrow.png");
	background-repeat: no-repeat, no-repeat;
	background-size: 16px, 8px auto;
	background-position: left 10px center, right 10px center;
}
.rs-tour-diary-filter select#rs-diary-tour {
	padding-left: 30px;
	background-image:
        url("assets/images/icons/location-marker-icon.png"),
        url("assets/images/icons/select-list-arrow.png");
	background-repeat: no-repeat, no-repeat;
	background-size: 14px, 8px auto;
	background-position: left 10px center, right 10px center;
}
.rs-tour-diary-filter select#rs-diary-difficulty {
	padding-left: 35px;
	background-image:
        url("assets/images/icons/cycling-difficulty-icon.png"),
        url("assets/images/icons/select-list-arrow.png");
	background-repeat: no-repeat, no-repeat;
	background-size: 16px, 8px auto;
	background-position: left 10px center, right 10px center;
}
.all-tours-filter select#min-price {
	padding-left: 35px;
	background-image:
        url("assets/images/icons/min-price-icon.png"),
        url("assets/images/icons/select-list-arrow.png");
	background-repeat: no-repeat, no-repeat;
	background-size: 16px, 8px auto;
	background-position: left 10px center, right 10px center;
}
.all-tours-filter select#max-price {
	padding-left: 35px;
	background-image:
        url("assets/images/icons/max-price-icon.png"),
        url("assets/images/icons/select-list-arrow.png");
	background-repeat: no-repeat, no-repeat;
	background-size: 16px, 8px auto;
	background-position: left 10px center, right 10px center;
}
.all-tours-filter select#country {
	padding-left: 30px;
	background-image:
        url("assets/images/icons/location-marker-icon.png"),
        url("assets/images/icons/select-list-arrow.png");
	background-repeat: no-repeat, no-repeat;
	background-size: 14px, 8px auto;
	background-position: left 10px center, right 10px center;
}
.all-tours-filter  select#difficulty {
	padding-left: 35px;
	background-image:
        url("assets/images/icons/cycling-difficulty-icon.png"),
        url("assets/images/icons/select-list-arrow.png");
	background-repeat: no-repeat, no-repeat;
	background-size: 16px, 8px auto;
	background-position: left 10px center, right 10px center;
}
.all-tours-filter  select#duration {
	padding-left: 35px;
	background-image:
        url("assets/images/icons/clock-sml.png"),
        url("assets/images/icons/select-list-arrow.png");
	background-repeat: no-repeat, no-repeat;
	background-size: 16px, 8px auto;
	background-position: left 10px center, right 10px center;
}
/* end filter */


.dates-prices-table {
	width: 100%;
/*	max-width: fit-content;*/
	max-width: 1100px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	margin: 0 auto 40px auto;
	padding: 0;
}
.tour-diary-main .dates-prices-table {
	width: 100%;
	max-width: 100%;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	margin: 0 auto 40px auto;
	padding: 0;
	font-size: 0.875rem;
}
.dates-prices-table.dark-bg {
	color: #fff;
}
.dates-prices-table .dates-prices-table-hd {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	margin: 0;
	padding: 20px 20px 12px 20px;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
}
.dates-prices-table.dark-bg .dates-prices-table-hd {
	border-bottom: 1px solid #505050;
}
.dates-prices-table .dates-prices-table-hd .heading {
	text-transform: uppercase;
	font-size: 1rem;
}
.dates-prices-table .dates-prices-table-row {
	width: 100%;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	margin: 0;
	padding: 20px;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
	background-color: #fff;
	border-radius: 6px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	overflow: hidden;
}
.dates-prices-table.dark-bg .dates-prices-table-row  {
	background-color: #000;
	border-bottom: 1px solid #505050;
}
.dates-prices-table .dates-prices-table-row.is-odd {
}
.tour-diary-main .dates-prices-table .dates-prices-table-row.is-odd,
.dates-prices-table.light-bg .dates-prices-table-row.is-odd {

}
.tour-diary-main .dates-prices-table .dates-prices-table-row.is-clickable {
	position: relative;
	cursor: pointer;
}
.tour-diary-main .dates-prices-table .dates-prices-table-row.is-clickable .dates-prices-table-row__link {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}
.tour-diary-main .dates-prices-table .dates-prices-table-row.is-clickable .dates-prices-table-row-block.button {
	position: relative;
	z-index: 2;
}
.tour-diary-main .dates-prices-table .dates-prices-table-row.is-clickable:hover {
	background-color: #f3f3f4;
}
.tour-diary-main .dates-prices-table .dates-prices-table-row.is-clickable.status-guaranteed-limited:hover {
	background-color: #ffe4e5;
}
.tour-diary-main .dates-prices-table .dates-prices-table-row.is-clickable.status-guaranteed:hover {
	background-color: #e7ffed;
}
.tour-diary-main .dates-prices-table .dates-prices-table-row.is-clickable.status-available:hover {
	background-color: #e1f4fa;
}
.tour-diary-main .dates-prices-table .dates-prices-table-row.is-clickable.status-available-2-more-to-guarantee:hover {
	background-color: #caeaeb;
}
.tour-diary-main .dates-prices-table .dates-prices-table-row.is-clickable.status-contact:hover {
	background-color: #ffefd7;
}
.tour-diary-main .dates-prices-table .dates-prices-table-row.is-clickable.status-full:hover {
	background-color: #f3f3f4;
}
.dates-prices-table .dp-row {
  min-width: 0;
}
.dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.tour-dates,
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-dates {
	flex: 50 1 0;
}
.dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.tour-dates .heading.start-date {
	margin: 0 46px 0 0;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-dates .start-date.with-icon {
	padding: 0 0 0 22px;
	background-image: url("assets/images/icons/calendar-sml.png");
	background-repeat: no-repeat;
	background-size: 16px;
	background-position: center left;
}
.dates-prices-table.dark-bg .dates-prices-table-row .dates-prices-table-row-block.tour-dates .start-date.with-icon {
	background-image: url("assets/images/icons/calendar-sml-white.png");
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-dates .tour-duration {
	display: block;
	margin: 8px 0 0 0;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-dates .tour-duration.with-icon {
	padding: 0 0 0 22px;
	background-image: url("assets/images/icons/clock-sml.png");
	background-repeat: no-repeat;
	background-size: 16px;
	background-position: center left;
}
.dates-prices-table.dark-bg .dates-prices-table-row .dates-prices-table-row-block.tour-dates .tour-duration.with-icon {
	background-image: url("assets/images/icons/clock-sml-white.png");
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-dates .start-date-with-arrow {
	position: relative;
	margin: 0 46px 0 0;
}
.dates-prices-table.light-bg .dates-prices-table-row .dates-prices-table-row-block.tour-dates .start-date-with-arrow::after {
	content: '';
	position: absolute;
	top: 50%;
	right: -40px;
	transform: translateY(-50%);
	width: 30px;
	height: 7px;
	background-image: url("assets/images/graphics/start-to-end-date-arrow-black.png");
	background-repeat: no-repeat;
	background-size: 30px 7px;
}
.dates-prices-table.dark-bg .dates-prices-table-row .dates-prices-table-row-block.tour-dates .start-date-with-arrow::after {
	content: '';
	position: absolute;
	top: 50%;
	right: -40px;
	transform: translateY(-50%);
	width: 30px;
	height: 7px;
	background-image: url("assets/images/graphics/start-to-end-date-arrow-white.png");
	background-repeat: no-repeat;
	background-size: 30px 7px;
}
.dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.start-date,
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.start-date {
	flex: 25 1 0;
}
.dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.end-date,
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.end-date {
	flex: 25 1 0;
}
.dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.price,
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.price {
	flex: 15 1 0;
}
.dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.tour-title,
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-title {
	flex: 30 1 0;
}
.dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.availability,
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability {
	flex: 30 1 0;
}
.dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.difficulty,
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.difficulty {
  flex: 20 1 0;
}
.dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.button,
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button {
	flex: 0 0 106px;
	width: 106px;
	margin-left: auto;
	display: flex;
	justify-content: flex-end;
}
.tour-diary-main .dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.tour-dates,
.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-dates {
	flex: 30 1 0;
}
.tour-diary-main .dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.price,
.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.price {
	flex: 15 1 0;
}
.tour-diary-main .dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.tour-title,
.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-title {
	flex: 35 1 0;
}
.tour-diary-main .dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.availability,
.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability {
	flex: 25 1 0;
}
.tour-diary-main .dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.difficulty,
.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.difficulty {
  flex: 15 1 0;
}

.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability .dp-availability {
	padding: 4px 6px 4px 26px;
    background-color: #f3f3f4;
	border: 1px solid #ccc;
    display: inline-block;
    border-radius: 4px;
	font-size: 0.75rem;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability .dp-availability.status-guaranteed-limited {
	color: #EC1C24;
	border-color: #EC1C24;
	background-color: #ffe4e5;
	background-image: url("assets/images/icons/availability/guaranteed-limited.png");
	background-repeat: no-repeat;
	background-size: 15px auto;
	background-position: center left 5px;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability .dp-availability.status-guaranteed {
	color: #39b54a;
	border-color: #39b54a;
	background-color: #e7ffed;
	background-image: url("assets/images/icons/availability/guaranteed.png");
	background-repeat: no-repeat;
	background-size: 15px auto;
	background-position: center left 5px;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability .dp-availability.status-available {
	color: #00ADEE;
	border-color: #00ADEE;
	background-color: #e1f4fa;
	background-image: url("assets/images/icons/availability/available.png");
	background-repeat: no-repeat;
	background-size: 15px auto;
	background-position: center left 5px;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability .dp-availability.status-available-2-more-to-guarantee {
	color: #198488;
	border-color: #198488;
	background-color: #caeaeb;
	background-image: url("assets/images/icons/availability/available-2-more-to-guarantee.png");
	background-repeat: no-repeat;
	background-size: 15px auto;
	background-position: center left 5px;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability .dp-availability.status-contact {
	color: #FAAF40;
	border-color: #FAAF40;
	background-color: #ffefd7;
	background-image: url("assets/images/icons/availability/available-2-more-to-guarantee.png");
	background-repeat: no-repeat;
	background-size: 15px auto;
	background-position: center left 5px;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability .dp-availability.status-full {
	color: #9f9f9f;
	border-color: #9f9f9f;
	background-color: #f3f3f4;
	background-image: url("assets/images/icons/availability/full.png");
	background-repeat: no-repeat;
	background-size: 15px auto;
	background-position: center left 5px;
}
.dates-prices-table.dark-bg .dates-prices-table-row .dates-prices-table-row-block.availability .dp-availability {
    background-color: #000;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-title .dp-tour-name {
	display: block;
	color: #000;
	font-weight: 600;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-title .dp-tour-tagline {
	display: block;
	color: #000;
	margin: 8px 0 0 0;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.price .dp-price-from {
	display: block;
	font-size: 0.875rem;
	margin: 0;
    line-height: 0.875rem;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.price .dp-table-price {
	font-size: 1.35rem;
	font-weight: 600;
}
/* Hide radios */
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-radio {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
/* Button base */
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 106px;
	padding: 10px;
	border-radius: 5px;
	border: 1px solid #fff;
	background-color: transparent;
	color: #fff;
	font-size: 0.85rem;
	font-weight: 500;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .05s ease;
}
.dates-prices-table.light-bg .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 106px;
	padding: 10px;
	border-radius: 5px;
	border: 1px solid #000;
	background-color: transparent;
	color: #000;
	font-size: 0.85rem;
	font-weight: 500;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .05s ease;
}
.dates-prices-table.light-bg .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn.button {
	color: #000;
}
/* Hover only on devices that can hover — avoids sticky white/black after tap-to-unselect. */
@media (hover: hover) and (pointer: fine) {
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn:hover {
		background-color: #fff;
		color: #000;
	}
	.dates-prices-table.light-bg .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn:hover {
		background-color: #000;
		color: #fff;
	}
}
/* Selected */
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-radio:checked + .dp-table-btn {
	background: #8BC53F;
	border-color: #8BC53F;
	color: #fff;
}
@media (hover: hover) and (pointer: fine) {
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-radio:checked + .dp-table-btn:hover {
		background: #8BC53F;
		border-color: #8BC53F;
		color: #fff;
	}
}
/* Kill sticky mobile :hover after unselect (tap-elsewhere was previously required). */
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn.dp-table-btn--force-idle,
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn.dp-table-btn--force-idle:hover,
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn.dp-table-btn--force-idle:active,
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn.dp-table-btn--force-idle:focus {
	background-color: transparent !important;
	border-color: #fff !important;
	color: #fff !important;
}
.dates-prices-table.light-bg .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn.dp-table-btn--force-idle,
.dates-prices-table.light-bg .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn.dp-table-btn--force-idle:hover,
.dates-prices-table.light-bg .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn.dp-table-btn--force-idle:active,
.dates-prices-table.light-bg .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn.dp-table-btn--force-idle:focus {
	background-color: transparent !important;
	border-color: #000 !important;
	color: #000 !important;
}
@media (hover: none) {
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn:hover {
		background-color: transparent;
		color: #fff;
	}
	.dates-prices-table.light-bg .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn:hover {
		background-color: transparent;
		color: #000;
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-radio:checked + .dp-table-btn:hover {
		background: #8BC53F;
		border-color: #8BC53F;
		color: #fff;
	}
}
/* Disabled */
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn-disabled {
	opacity: .45;
	cursor: not-allowed;
	border-color: #aaa;
	color: #aaa;
	transform: none;
}
.dates-prices-table .dates-prices-table-row.is-disabled {
/*	opacity: .75;*/
}
.dates-prices-table .dates-prices-table-hd .dates-prices-table-hd-block.difficulty {
	text-align: center;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.difficulty {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.difficulty .dp-difficulty-icon {
	width: 28px;
	height: auto;
}

/* Helper bar at the bottom */
.dates-prices-table .dates-prices-table-row.tour-diary-help-block {
	margin: 20px 0 0 0;
	justify-content: space-between;
	align-items: flex-start;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-contact .help-contact-content {
	margin: 0 10px 0 0;
	padding: 0 0 0 38px;
	background-image: url("assets/images/icons/tabs/essential-info-icon-black.png");
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: center left;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-contact .help-contact-content .helper-title {
	font-weight: 700;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items .helper-block.icon-shield {
	text-align: left;
	height: auto;
	line-height: 20px;
	margin: 0 0 10px 0;
	padding: 0 0 0 40px;
	background-image: url("assets/images/icons/expert-support.png");
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: center left;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items .helper-block.icon-vehicle {
	text-align: left;
	height: auto;
	line-height: 20px;
	margin: 0 0 10px 0;
	padding: 0 0 0 48px;
	background-image: url("assets/images/icons/support-vehicle.png");
	background-repeat: no-repeat;
	background-size: 38px;
	background-position: center left;
}
.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items .helper-block.icon-best {
	text-align: left;
	height: auto;
	line-height: 20px;
	margin: 0 0 0 0;
	padding: 0 0 0 40px;
	background-image: url("assets/images/icons/best-experience.png");
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: center left;
}
/* End - Tour Dates Tables */

.white-text * {
	color: #fff;
}

/* START Login Page */
.login-content-container {
/*	 OLD - centered in the viewport
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
*/
	position: relative;
	height: 100vh;
	margin: -100vh 0 0 0;
	overflow: scroll;
}
.login-content-container h1 {
	line-height: 1.2;
}
.booking-container {
	display: flex;
	flex-direction: column;
	align-items: center;
    justify-content: flex-start;
}
.booking-container.booking-container--already-booked {
	margin: 40px 0 0 0;
}
.booking-container.booking-container--already-booked .booking-message.booking-message--warning.booking-already-booked {
	background: #fff;
	color: #000;
	border: none;
	padding: 40px;
}
.booking-container.booking-container--already-booked .booking-message.booking-message--warning.booking-already-booked .booking-already-booked__tour-name {
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0 0 10px 0;
	color: #ec1c24;
}
.booking-container.booking-container--already-booked .booking-message.booking-message--warning.booking-already-booked .booking-already-booked__actions {
	display: block;
}
.booking-container > p {
	text-align: center;
}
.booking-already-booked p {
    display: block;
	font-size: 1rem;
}
.booking-message {
	max-width: 860px;
	margin: 0 auto 20px;
	padding: 12px 16px;
	border-radius: 4px;
	text-align: center;
}
.booking-message--success {
	background-color: #d4edda;
	color: #155724 !important;
}
.booking-message--error {
	background-color: #f8d7da;
	color: #721c24;
}
.booking-form-errors__message {
	margin-bottom: 0;
}
.booking-auth-columns .booking-register-block p.booking-form-errors__message {
	margin: 0;
}
.booking-auth-columns .booking-login-block p.booking-form-errors__message {
	margin: 0;
}
.booking-auth-columns {
    display: flex;
    flex-direction: row;
	gap: 20px;
	align-items: flex-start;
	justify-content: center;
}
.booking-auth-columns--login-only {
    justify-content: center;
}
.booking-auth-columns--login-only .booking-login-block {
    width: 100%;
    max-width: 480px;
    align-items: stretch;
}
.booking-auth-columns--login-only .booking-login-block form {
    width: 100%;
}
.booking-container--login .booking-login-intro {
    text-align: center;
    max-width: 640px;
    margin: 0 auto 24px;
	color: #fff;
}
.booking-login-block__title {
    width: 100%;
    text-align: center;
}
.booking-register-block__title {
    width: 100%;
    text-align: center;
}
.booking-auth-columns .booking-login-block {
	width: 100%;
	max-width: 420px;
    background-color: #fff;
    padding: 20px;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}
.booking-auth-columns .booking-register-block {
    width: 100%;
	max-width: 420px;
	background-color: #fff;
    padding: 20px;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}
.booking-auth-columns .booking-login-block h2,
.booking-auth-columns .booking-register-block h2 {
	font-size: 1.2rem;
}
.booking-auth-columns .booking-login-block form,
.booking-auth-columns .booking-register-block form {
	width: 100%;
}
.booking-auth-columns .booking-login-block p,
.booking-auth-columns .booking-register-block p {
    margin-block-end: 0;
    margin: 0 0 15px 0;
}
.booking-auth-columns .booking-login-block p.login-submit,
.booking-auth-columns .booking-register-block p.register-submit {
	margin: 0;
}
.booking-login-forgot-password {
	display: inline-block;
	margin: 12px 0 0 0;
}
.booking-auth-columns .booking-login-block label,
.booking-auth-columns .booking-register-block label {
    font-size: 1rem;
    font-weight: 400;
}
.booking-password-field {
	position: relative;
	width: 100%;
}
.booking-password-field input {
	width: 100%;
	padding-right: 44px;
	box-sizing: border-box;
}
.booking-password-toggle {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	background: transparent;
	color: #666;
	cursor: pointer;
}
.booking-password-toggle:hover,
.booking-password-toggle:focus {
	color: #c52127;
}
.booking-password-toggle:focus-visible {
	outline: 2px solid #c52127;
	outline-offset: 2px;
}
.booking-password-toggle svg {
	width: 20px;
	height: 20px;
}
.booking-password-strength-wrap {
	width: 100%;
}
.booking-password-strength {
	width: 100%;
	height: 4px;
	margin-top: 6px;
	overflow: hidden;
	background: #e5e5e5;
	border-radius: 2px;
}
.booking-password-strength__bar {
	width: 0;
	height: 100%;
	border-radius: 2px;
	background-color: #ccc;
	transition: width 0.2s ease, background-color 0.2s ease;
}
.booking-password-strength.is-weak .booking-password-strength__bar {
	background-color: #c52127;
}
.booking-password-strength.is-medium .booking-password-strength__bar {
	background-color: #e67e22;
}
.booking-password-strength.is-strong .booking-password-strength__bar {
	background-color: #39b54a;
}
.booking-password-strength__hint {
	margin: 8px 0 15px 0 !important;
	font-size: 0.875rem;
	line-height: 1.4;
	color: #666;
}
.sign-in-page-menu.wp-block-navigation__container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0;
	list-style: none;
	margin: 0 0 50px;
	padding: 0;
	line-height: normal;
}
.sign-in-page-menu > .wp-block-navigation-item {
	position: static;
	padding-left: 0;
	display: inline-flex;
	align-items: center;
}
.sign-in-page-menu > .wp-block-navigation-item::before {
	content: none;
	background: none;
	width: auto;
	height: auto;
	position: static;
}
.sign-in-page-menu > .wp-block-navigation-item + .wp-block-navigation-item::before {
	content: '|';
	display: inline-block;
	position: static;
	width: auto;
	height: auto;
	background: none;
	color: #fff;
	font-size: 1rem;
	padding: 0 0.6em;
	line-height: 1;
}
.sign-in-page-menu a.wp-block-navigation-item__content,
.sign-in-page-menu a.wp-block-navigation-item__content:link,
.sign-in-page-menu a.wp-block-navigation-item__content:visited {
	color: #fff;
	font-size: 1rem;
	font-weight: 400;
	text-decoration: none;
}
.sign-in-page-menu a.wp-block-navigation-item__content:hover,
.sign-in-page-menu a.wp-block-navigation-item__content:focus,
.sign-in-page-menu a.wp-block-navigation-item__content:active {
	color: #EC1C24;
}
/* END Login Page */

/* Booking flow — progress, personal details, summary */
.booking-page {
    margin: 0 auto;
}
.booking-page__layout {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}
.booking-page__main {
    flex: 1 1 65%;
    background: #fff;
    padding: 24px;
    border-radius: 4px;
}
.booking-page__main h2 {
    color: #222;
    margin: 0 0 16px;
}
.booking-page__sidebar {
    flex: 0 0 360px;
    max-width: 360px;
    background: #fff;
    padding: 20px;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
    min-width: 0;
    overflow: hidden;
}
@media (min-width: 1024px) and (min-height: 800px) {
    .booking-page--personal-details .booking-page__sidebar,
    .booking-page--tour-details .booking-page__sidebar,
    .booking-page--confirmation .booking-page__sidebar {
        position: sticky;
        top: 30px;
        align-self: flex-start;
        height: auto;
        max-height: none;
        overflow: visible;
    }
}
@media (max-width: 1023px), (max-height: 799px) {
    .booking-page--personal-details .booking-page__sidebar,
    .booking-page--tour-details .booking-page__sidebar,
    .booking-page--confirmation .booking-page__sidebar {
        position: static;
        top: auto;
        height: auto;
        max-height: none;
        overflow: visible;
    }
}
.booking-progress {
    margin: 0 0 32px;
    --booking-progress-green: #2d8a3e;
    --booking-progress-grey: #b5b5b5;
    --booking-progress-line-grey: #e8e8e8;
    --booking-progress-circle-size: 44px;
}
.booking-progress ol {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}
.booking-progress__step {
    position: relative;
    flex: 1 1 0;
    min-width: 72px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.booking-progress__step:not(:last-child)::after {
    content: '';
    position: absolute;
    top: calc(var(--booking-progress-circle-size) / 2);
    left: 50%;
    width: 100%;
    height: 2px;
    background: var(--booking-progress-line-grey);
    transform: translateY(-50%);
    z-index: 0;
}
.booking-progress__step--completed:not(:last-child)::after {
    background: var(--booking-progress-green);
}
.booking-progress__circle {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--booking-progress-circle-size);
    height: var(--booking-progress-circle-size);
    border-radius: 50%;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 8px;
    box-sizing: border-box;
}
.booking-progress__label {
    position: relative;
    z-index: 1;
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.3;
    color: #222;
}
.booking-progress__step--upcoming .booking-progress__circle {
    background: #e8e8e8;
    color: var(--booking-progress-grey);
    border: 2px solid #e8e8e8;
}
.booking-progress__step--upcoming .booking-progress__label {
    color: var(--booking-progress-grey);
}
.booking-progress__step--current .booking-progress__circle {
    background: #fff;
    color: var(--booking-progress-green);
    border: 2px solid var(--booking-progress-green);
}
.booking-progress__step--current .booking-progress__label {
    color: var(--booking-progress-green);
}
.booking-progress__step--completed .booking-progress__circle {
    background: var(--booking-progress-green);
    color: #fff;
    border: 2px solid var(--booking-progress-green);
}
.booking-progress__step--completed .booking-progress__label {
    color: var(--booking-progress-green);
}
.booking-summary {
    background: transparent;
    padding: 0;
    border-radius: 0;
}
.booking-summary h2 {
    color: #222;
    font-size: 1.2rem;
    margin: 0 0 12px;
}
.booking-summary__intro,
.booking-summary__note {
    font-size: 0.9rem;
    color: #555;
}
.booking-summary__tour-name {
    color: #c52127;
    font-size: 1rem;
    margin: 0 0 8px;
}
.booking-summary__dates,
.booking-summary__duration {
    margin: 0;
    color: #222;
	font-size: 1rem;
}
.booking-summary__duration {
    margin: 0 0 20px 0;
}
.booking-summary__table {
    width: 100%;
    margin: 16px 0;
    border-collapse: collapse;
}
.booking-summary__table td {
    padding: 8px 0;
    border-bottom: 1px solid #eee;
    font-size: 0.9rem;
}
.booking-summary__table td:last-child {
    text-align: right;
    font-weight: 600;
}
.booking-form__section {
    border: 0;
    margin: 0 0 24px;
    padding: 0;
}
.booking-form__section legend {
    font-weight: 600;
    font-size: 1rem;
    margin-bottom: 12px;
    padding: 0;
}
.booking-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.booking-form__grid p {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.booking-form__full {
    grid-column: 1 / -1;
}
.booking-form__grid label {
    font-size: 1rem;
    font-weight: 400;
}
.booking-form__grid input,
.booking-form__grid select,
.booking-form__grid textarea {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
}
.booking-form__grid input[readonly] {
    background: #f5f5f5;
    color: #555;
}
.booking-form__actions {
    margin: 8px 0 0;
}
.booking-form__submit {
    background: #c52127;
    color: #fff;
    border: 0;
    padding: 12px 20px;
    border-radius: 4px;
    font-weight: 700;
    cursor: pointer;
}
.booking-form__submit:hover {
    background: #a11b20;
}
.booking-form__split {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}
.booking-form__col {
    flex: 1 1 50%;
}
.booking-field {
    margin: 0 0 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.booking-field--product-size {
    margin: 30px 0 0 0;
}
.booking-field--accom-partner {
    margin: 15px 0 30px 0;
}
.booking-field--bike-size {
    margin: 10px 0 0 0;
}
label[for="RSshirtStyle"],
label[for="RSaccomPartner"] {
    font-size: 1rem;
    font-weight: 600;
}
.booking-form__radios legend {
    font-size: 1rem;
    font-weight: 600;
}
.booking-field__hint {
    font-weight: 400;
    color: #777;
    font-size: 0.85rem;
}
.booking-field input:not([type="radio"]):not([type="checkbox"]),
.booking-field select,
.booking-field textarea {
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 1rem;
}
.booking-form__radios {
    border: 0;
    margin: 0 0 16px;
    padding: 0;
}
.booking-radio {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin: 0 1rem 0.5rem 0;
    padding: 0.25rem 0.5rem;
    border: 1px solid transparent;
    box-sizing: border-box;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.4;
    vertical-align: top;
    cursor: pointer;
}
.booking-form .booking-radio:hover,
.booking-form .booking-radio:focus-within {
    border-color: #ccc;
    font-weight: 400;
}
.booking-form .booking-radio:focus-within {
    outline: 2px solid #222;
    outline-offset: 2px;
}
.booking-form input[type="radio"] {
    width: auto;
    min-width: 20px;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transition: none;
    appearance: auto;
    -webkit-appearance: auto;
    -moz-appearance: auto;
    accent-color: #EC1C24;
    flex-shrink: 0;
    cursor: pointer;
}
.booking-form input[type="radio"]:hover,
.booking-form input[type="radio"]:focus {
    background-color: transparent;
    outline: none;
}
.booking-form .booking-radio:focus-within input[type="radio"]:focus {
    outline: none;
}
.booking-form [hidden],
.booking-form__conditional[hidden] {
    display: none !important;
}
.booking-locked-value {
    display: block;
    padding: 8px 0;
    font-style: italic;
    font-weight: 700;
    color: #999;
}
.booking-form__passport {
    margin-top: 24px;
    padding-top: 24px;
    border-top: 1px solid #ddd;
}
.booking-form__passport h3 {
    margin: 0 0 16px;
    color: #222;
}
.booking-summary__total-label {
    font-weight: 700;
    margin: 16px 0 4px;
    color: #222;
}
.booking-summary__total-label.with-margin-top {
	margin-top: 30px;
}
.booking-summary__total-price {
    font-size: 1.4rem;
    font-weight: 700;
    color: #c52127;
    margin: 0 0 12px;
}
.booking-form__actions--sidebar {
    margin-top: 20px;
}
.booking-form__actions--sidebar .booking-form__submit {
    width: 100%;
}
.booking-page__footer {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px dashed #ccc;
    text-align: center;
}
.booking-help > p:first-child {
    margin: 0 0 10px 0;
}
.booking-help__phone {
    font-size: 1.4rem;
    font-weight: 700;
    color: #c52127;
    margin: 0 0 16px;
}
.booking-form__back {
    margin: 20px 0 0 0;
    display: inline-block;
    padding: 10px 18px;
    border: 1px solid #ccc;
    background: #fff;
    border-radius: 4px;
    cursor: pointer;
    text-decoration: none;
    color: #222;
}
.booking-terms {
    margin: 20px;
    font-size: 0.9rem;
    color: #555;
}
.booking-form__intro {
    margin: 0 0 20px;
    color: #444;
    line-height: 1.5;
}
.booking-field__label {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 8px;
}
.booking-yes-no-radios,
.booking-size-radios {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin-bottom: 12px;
}
.booking-conditional {
    margin: 16px 0;
    padding-top: 8px;
    border-top: 1px dashed #ddd;
}
.booking-conditional[hidden] {
    display: none !important;
}
.booking-product-preview {
    margin-top: 16px;
}
.booking-product-preview img {
    max-width: 100%;
    height: auto;
    border: 1px solid #ddd;
    border-radius: 4px;
}
#booking-cycle-top-generic img,
#booking-cycle-top-specific img,
#booking-tshirt-preview img {
    border: 0;
    border-radius: 0;
}
.booking-link-button {
    background: none;
    border: 0;
    padding: 0;
    color: #c52127;
    text-decoration: underline;
    cursor: pointer;
    font-size: 0.95rem;
}
.booking-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, 0.65);
}
.booking-modal[hidden] {
    display: none !important;
}
.booking-modal__dialog {
    position: relative;
    max-width: 900px;
    width: 100%;
    max-height: 90vh;
    overflow: auto;
    background: #fff;
    padding: 20px;
    border-radius: 4px;
}
.booking-modal__dialog h3 {
    color: #222;
    margin: 0 0 16px;
}
.booking-modal__dialog img {
    max-width: 100%;
    height: auto;
}
.booking-modal__close {
    position: absolute;
    top: 10px;
    right: 12px;
    border: 0;
    background: none;
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
    color: #333;
}
.booking-confirm-section {
    margin-bottom: 24px;
}
.booking-confirm-section__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid #ddd;
}
.booking-confirm-section__header h2 {
    margin: 0;
    color: #222;
    font-size: 1.1rem;
}
.booking-confirm-edit {
    color: #c52127;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
}
.booking-confirm-edit:hover {
    text-decoration: underline;
}
.booking-confirm-row {
    margin: 0 0 10px;
    font-size: 0.92rem;
    line-height: 1.4;
}
.booking-confirm-row__label {
    font-size: 1rem;
    font-weight: 600;
    color: #333;
}
.booking-confirm-row__value {
    color: #555;
}
.booking-summary--confirmation h2 {
    color: #222;
}
.booking-price-table {
    width: 100%;
    margin: 16px 0;
    border-collapse: collapse;
}
.booking-price-table td {
    padding: 6px 0;
    font-size: 0.92rem;
    color: #222;
    border-bottom: 1px solid #eee;
}
.booking-price-table td:last-child {
    text-align: right;
    font-weight: 600;
}
.booking-summary__line-price {
    font-size: 1.1rem;
    font-weight: 700;
    color: #222;
    margin: 0 0 12px;
}
.booking-discount {
    margin: 20px 0;
    padding-top: 16px;
    border-top: 1px solid #ddd;
}
.booking-discount h3 {
    margin: 0 0 8px;
    color: #222;
    font-size: 1rem;
}
.booking-discount-form {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}
.booking-discount-form__input {
    flex: 1 1 auto;
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    text-transform: uppercase;
}
.booking-form__submit--small {
    padding: 8px 14px;
    font-size: 0.85rem;
}
.booking-form__submit--wide {
    width: 100%;
    margin-top: 12px;
}
.booking-payment-form {
    margin-top: 8px;
}
.booking-payment-options {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    justify-content: center;
}
.booking-payment-options__item {
    flex: 1 1 280px;
    max-width: 420px;
    text-align: center;
    padding: 16px;
}
.booking-payment-options__item h3 {
    color: #c52127;
    margin: 0 0 10px;
}
.booking-payment-options__title {
    text-align: center;
    color: #c52127;
    margin: 0 0 16px;
}
.booking-payment-instructions {
    margin: 0 0 15px;
    color: #444;
    line-height: 1.5;
}
.booking-payment-instructions--spaced {
    margin-top: 20px;
}
.booking-payment-deposit {
    color: #c52127;
}
.booking-payment-address {
    margin: 0 0 15px;
    line-height: 1.6;
    color: #444;
}
.booking-payment-address strong {
    color: #c52127;
}
.booking-payment-finish {
    margin: 20px 0 0;
}
.booking-payment-finish .booking-form__submit {
    display: inline-block;
    text-decoration: none;
}
.booking-payment-intro {
    margin: 0 0 12px;
    text-align: center;
    font-size: 1.2rem;
    color: #222;
}
.booking-payment-intro--email {
    margin: 0 0 32px;
    font-size: 1rem;
    color: #555;
}
.booking-payment-gateway {
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}
.booking-payment-status h2 {
    color: #222;
    margin: 0 0 12px;
}
.booking-payment-status p {
    margin: 0 0 12px;
    color: #444;
    line-height: 1.5;
}
.booking-payment-status--error h2 {
    color: #c52127;
}
.booking-payment-status__message {
    font-weight: 600;
}
.booking-payment-status__redirect {
    font-size: 1.05rem;
    color: #222;
}
.booking-payment-status__redirect--gateway {
    margin: 0 0 20px;
    color: #c52127;
    font-weight: 600;
}
.booking-payment-status__loader {
    margin: 16px 0 0;
}
.booking-payment-spinner {
    display: inline-block;
    width: 32px;
    height: 32px;
    border: 3px solid #eee;
    border-top-color: #c52127;
    border-radius: 50%;
    animation: booking-payment-spin 0.8s linear infinite;
}
@keyframes booking-payment-spin {
    to {
        transform: rotate(360deg);
    }
}
.booking-payment-form__actions {
    margin: 24px 0 0;
}
.booking-payment-form__submit-hidden {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.booking-page__footer--payment-options {
    border-top: 1px dashed #ccc;
}
.booking-message--success {
    background: #e8f5e9;
    color: #1b5e20;
    border: 1px solid #a5d6a7;
    padding: 12px 16px;
    border-radius: 4px;
    margin-bottom: 16px;
}
.booking-message--warning {
    background: #fff8e1;
    color: #8d6e00;
    border: 1px solid #ffe082;
    padding: 10px 12px;
    border-radius: 4px;
    margin: 0 0 10px;
    font-size: 0.9rem;
}
.booking-message--error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
    padding: 10px 12px;
    border-radius: 4px;
    margin: 0 0 10px;
    font-size: 0.9rem;
}
.required-indicator {
    color: #c52127;
}

/* My Account dashboard */
.booking-page--my-account {
    margin: 0 auto;
}
.my-account-welcome {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #222;
    color: #fff;
    padding: 16px 20px;
    border-radius: 4px;
    margin: 0 0 24px;
}
.my-account-welcome p {
    margin: 0;
    color: #fff;
}
.my-account-welcome__logout a {
    color: #fff;
    text-decoration: underline;
}
.my-account-dashboard {
    background: #fff;
    border-radius: 4px;
}
.my-account-dashboard h1,
.my-account-dashboard h2,
.my-account-dashboard h4 {
    color: #222;
}
.my-account-intro {
    color: #444;
    line-height: 1.6;
    margin: 0 0 24px;
}
.my-account-empty {
    color: #c52127;
}
.my-account-layout {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.my-account-section {
    min-width: 0;
    width: 100%;
}
.my-account-section--personal {
    background: #f8f8f8;
    padding: 20px;
    border-radius: 4px;
}
.my-account-incomplete-list {
    display: grid;
    gap: 16px;
}
.my-account-incomplete-card {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 24px;
    background: #fff8e6;
    border: 1px solid #f0d48a;
    border-radius: 4px;
    padding: 20px;
}
.my-account-incomplete-card__title {
    flex: 1 1 220px;
    margin: 0;
    font-size: 1.1rem;
    min-width: 0;
}
.my-account-incomplete-card__details {
    display: flex;
    flex: 2 1 360px;
    flex-wrap: wrap;
    gap: 8px 24px;
    align-items: center;
    min-width: 0;
}
.my-account-incomplete-card__meta {
    margin: 0;
    font-size: 0.9rem;
    color: #444;
}
.my-account-incomplete-card__meta-label {
    font-weight: 700;
    color: #222;
}
.my-account-incomplete-card__actions {
    flex: 0 0 auto;
    margin: 0;
}
.my-account-incomplete-card > .booking-message {
    flex: 1 1 100%;
    margin: 0;
}
.booking-already-booked__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
.booking-already-booked__secondary-action {
    background: #fff;
    color: #c52127;
    border: 1px solid #c52127;
}
.booking-already-booked__secondary-action:hover {
    background: #c52127;
    color: #fff;
}
.my-account-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.my-account-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}
.my-account-table th,
.my-account-table td {
    border: 1px solid #ddd;
    padding: 10px 8px;
    text-align: center;
    vertical-align: middle;
    color: #333;
}
.my-account-table th {
    background: #f0f0f0;
    font-weight: 700;
    line-height: 1.3;
}
.my-account-table tbody tr:nth-child(even) {
    background: #fafafa;
}
.my-account-table__dates {
    white-space: nowrap;
    line-height: 1.5;
}
.my-account-date-label {
    display: block;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #888;
}
.my-account-table__costs {
    line-height: 1.5;
}
.my-account-paid {
    color: #2d8a3e;
}
.my-account-paid--full {
    color: #2d8a3e;
    font-size: 0.8rem;
}
.my-account-outstanding {
    color: #c52127;
    font-weight: 700;
}
.my-account-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-weight: 700;
    line-height: 1;
}
.my-account-status--yes {
    background: #e8f5e9;
    color: #2d8a3e;
}
.my-account-status--no {
    background: #fce8e8;
    color: #c52127;
}
.my-account-action-link {
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 700;
    color: #c52127;
    text-decoration: underline;
    line-height: 1.3;
}
.my-account-tour-status--guaranteed {
    color: #2d8a3e;
}
.my-account-tour-status--available {
    color: #2d8a3e;
}
.my-account-tour-status--contact,
.my-account-tour-status--full {
    color: #c52127;
}
.my-account-tour-status__sub {
    font-size: 0.75rem;
    font-weight: 600;
    color: #666;
}
.my-account-manage {
    margin: 10px 0 0;
}
.my-account-manage .booking-form__submit--small {
    display: inline-block;
    padding: 8px 12px;
    font-size: 0.75rem;
}
.my-account-table__empty {
    padding: 24px;
}
.my-account-price {
    font-weight: 700;
}
.my-account-completed {
    display: inline-block;
    padding: 6px 10px;
    background: #fff8e1;
    color: #8d6e00;
    border-radius: 4px;
    font-size: 0.8rem;
    font-weight: 700;
}
.my-account-personal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 20px 32px;
}
.my-account-personal-item {
    min-width: 0;
}
.my-account-personal-item--address {
    grid-column: span 2;
}
.my-account-personal-item--full {
    grid-column: 1 / -1;
}
.my-account-personal-label {
    display: block;
    margin: 0 0 4px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #666;
}
.my-account-personal-value {
    line-height: 1.5;
    color: #444;
    font-size: 0.95rem;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.my-account-personal-value strong {
    font-weight: 700;
    color: #222;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.my-account-personal-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
}
.my-account-personal-item--full .booking-message {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
    text-align: left;
}
.my-account-dashboard--details .booking-form__split {
    margin-bottom: 24px;
}
.my-account-dashboard--details .booking-form__passport {
    margin-top: 8px;
    padding-top: 24px;
    border-top: 1px solid #eee;
}
.my-account-dashboard--details .booking-form__passport > p {
    color: #555;
    margin: 0 0 16px;
}
.my-account-form-actions {
    margin: 24px 0 0;
    padding-top: 24px;
    border-top: 1px solid #eee;
}
.my-account-booking-layout {
    margin-top: 24px;
}
.my-account-booking-main .my-account-booking-section {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #eee;
}
.my-account-booking-main .my-account-booking-section--alt {
    background: #f7f7f7;
    padding: 20px;
    border-radius: 4px;
    border-bottom: none;
}
.my-account-booking-notes {
    background: #fff3cd;
    border: 1px solid #ffeeba;
    padding: 16px;
    margin-bottom: 20px;
    border-radius: 4px;
}
.my-account-booking-download {
    margin-bottom: 16px;
}
.my-account-booking-download a {
    font-weight: 700;
    text-transform: uppercase;
}
.my-account-booking-internal-flights {
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid #ddd;
}
.my-account-table--internal-flights {
    margin: 16px 0 24px;
}
.my-account-booking-sidebar {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.my-account-booking-sidebar .booking-summary__tour-name {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.my-account-booking-sidebar .booking-price-table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
}
.my-account-booking-sidebar .booking-price-table td:first-child {
    width: 62%;
    padding-right: 8px;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.my-account-booking-sidebar .booking-price-table td:last-child {
    width: 38%;
    overflow-wrap: anywhere;
}
.my-account-booking-sidebar .booking-price-table__heading {
    text-align: center;
    font-weight: 700;
    padding: 8px 0;
}
.my-account-booking-sidebar .booking-price-table__divider td {
    border-bottom: 1px solid #666;
    height: 10px;
    padding: 0;
}
.my-account-booking-sidebar .booking-price-table__payment {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.my-account-booking-sidebar .booking-price-table__payment-amount {
    text-align: right;
    white-space: normal;
}
.my-account-booking-pay {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #eee;
}
.my-account-booking-pay-form {
    display: block;
}
.my-account-booking-pay-form .booking-field {
    margin: 0 0 12px;
}
.my-account-booking-pay-form .booking-field input {
    width: 100%;
    box-sizing: border-box;
}
.my-account-booking-pay-form .booking-form__actions--sidebar {
    margin-top: 0;
}
.booking-cardstream-notice {
    margin: 0 0 20px;
}
.booking-cardstream-notice code {
    font-size: 0.9em;
}
.booking-payment-diagnostics {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 24px;
    border: 1px solid #f0c36d;
    border-radius: 4px;
    background: #fffdf5;
    color: #111;
    text-align: left;
}
.booking-payment-diagnostics__summary {
    cursor: pointer;
    font-weight: 600;
    padding: 14px 16px;
}
.booking-payment-diagnostics__body {
    padding: 0 16px 16px;
}
.booking-payment-diagnostics__hint {
    margin: 0 0 12px;
    padding: 10px 12px;
    background: #fff3cd;
    border-radius: 4px;
}
.booking-payment-diagnostics__subtitle {
    margin: 16px 0 8px;
    font-size: 0.95rem;
}
.booking-payment-diagnostics__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}
.booking-payment-diagnostics__table th,
.booking-payment-diagnostics__table td {
    border-top: 1px solid #e6e0cc;
    padding: 8px 10px;
    vertical-align: top;
    text-align: left;
}
.booking-payment-diagnostics__table th {
    width: 38%;
    font-weight: 600;
    color: #333;
}
.booking-message--gateway {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}
.booking-already-booked__actions {
    margin: 1.25em 0 0;
}
.booking-already-booked__contact {
    margin: 30px 0 0 0;
    font-size: 1rem;
}
@media (max-width: 960px) {
    .my-account-personal-item--address {
        grid-column: span 1;
    }

    .my-account-incomplete-card__title,
    .my-account-incomplete-card__details,
    .my-account-incomplete-card__actions {
        flex: 1 1 100%;
    }
}

@media (max-width: 900px) {
    .booking-page__layout {
        flex-direction: column;
    }
    .booking-page__sidebar {
        flex: 1 1 auto;
        max-width: none;
        width: 100%;
    }
    .booking-form__split {
        flex-direction: column;
    }
}

/* My Account / booking-details: match header logo inset on mobile (~20px).
   Use WP root padding vars only — do NOT zero .has-global-padding (that kills header + content). */
@media screen and (max-width: 768px) {
    body.page-id-10,
    body.page-id-18360,
    body.page-id-18362 {
        --wp--preset--spacing--50: 20px;
        --wp--style--root--padding-left: 20px;
        --wp--style--root--padding-right: 20px;
    }

    /* Kill duplicate nested gutters only (WP may pad root + entry-content). */
    body.page-id-10 .has-global-padding .has-global-padding,
    body.page-id-18360 .has-global-padding .has-global-padding,
    body.page-id-18362 .has-global-padding .has-global-padding,
    body.page-id-10 .has-global-padding .entry-content,
    body.page-id-18360 .has-global-padding .entry-content,
    body.page-id-18362 .has-global-padding .entry-content,
    body.page-id-10 .has-global-padding .wp-block-post-content,
    body.page-id-18360 .has-global-padding .wp-block-post-content,
    body.page-id-18362 .has-global-padding .wp-block-post-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /*
     * booking-details: .booking-page__main adds 24px on top of the page gutter,
     * which nested FLIGHTS panels then pad again. Drop main padding entirely.
     */
    .booking-page--my-account-booking .booking-page__main.my-account-booking-main,
    body.page-id-18362 .booking-page__main.my-account-booking-main {
        padding: 0 !important;
        background: transparent;
    }

    .booking-page--my-account .my-account-section--personal,
    .booking-page--my-account-booking .my-account-booking-main .my-account-booking-section--alt,
    body.page-id-10 .my-account-section--personal,
    body.page-id-18360 .my-account-section--personal,
    body.page-id-18362 .my-account-section--personal,
    body.page-id-10 .my-account-booking-main .my-account-booking-section--alt,
    body.page-id-18360 .my-account-booking-main .my-account-booking-section--alt,
    body.page-id-18362 .my-account-booking-main .my-account-booking-section--alt {
        padding: 12px;
    }

    .booking-page--my-account .my-account-booking-notes,
    .booking-page--my-account .my-account-incomplete-card,
    body.page-id-10 .my-account-booking-notes,
    body.page-id-18360 .my-account-booking-notes,
    body.page-id-18362 .my-account-booking-notes,
    body.page-id-10 .my-account-incomplete-card,
    body.page-id-18360 .my-account-incomplete-card,
    body.page-id-18362 .my-account-incomplete-card {
        padding: 12px;
    }

    .booking-page--my-account .my-account-welcome,
    body.page-id-10 .my-account-welcome,
    body.page-id-18360 .my-account-welcome,
    body.page-id-18362 .my-account-welcome {
        padding: 14px 16px;
    }

    /* Beat WP fluid title styles on these pages. */
    body.page-id-10 h1,
    body.page-id-18360 h1,
    body.page-id-18362 h1,
    body.page-id-10 h1.wp-block-post-title,
    body.page-id-18360 h1.wp-block-post-title,
    body.page-id-18362 h1.wp-block-post-title,
    body.page-id-10 .my-account-dashboard h1,
    body.page-id-18360 .my-account-dashboard h1,
    body.page-id-18362 .my-account-dashboard h1 {
        font-size: 1.75rem !important;
        line-height: 1.2 !important;
    }
}

@media (max-width: 640px) {
    .booking-progress {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 4px;
    }
    .booking-progress ol {
        min-width: 520px;
    }
    .booking-progress__step {
        min-width: 96px;
    }
    .booking-progress__label {
        font-size: 0.75rem;
    }
}

.glightbox-clean .gslide-description {
	background: transparent!important;
}
.glightbox-clean .gslide-desc {
	color: #fff!important;
}
/* Tour diary page h1 */
.page-id-6832 h1.wp-block-post-title {
	background-image: url("assets/images/icons/no-of-cycling-days-icon.png");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 60px auto;
    padding: 0 0 0 80px;
}
.left-white-fade-overlay {
	position: relative;
}
.left-white-fade-overlay::after {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url("assets/images/graphics/left-white-fade-overlay.png");
    background-repeat: repeat-y;
    background-position: top left;
    background-size: 200px auto;
	z-index: 2;
}
.financial-protection-block {
	width: auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	margin: 30px 30px 30px 0;
}
.financial-protection-block .financial-protection-img {
	width: 30px;
	height: auto;
	margin: 0 10px 0 0;
	display: inline-block;
}
.financial-protection-block .financial-protection-text {
	width: auto;
	margin: 0;
	display: flex;
    flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	font-size: 1rem;
}




@media screen and (max-width: 380px){
	.filter-buttons label,
	.group-size-buttons label {
		padding: 0px 14px;
		font-size: 0.875rem;
		height: 34px;
		line-height: 34px;
	}
	
	footer .footer-links-column {
		width:calc(100% - 0.6rem);
		text-align: center;
		align-items: center;
	}
}

@media screen and (min-width: 380px) and (max-width: 768px){
	footer .footer-links-column {
		width:calc(50% - 0.6rem);
		text-align: center;
		align-items: center;
	}
}


@media screen and (max-width: 400px){
	/* .swiper-pagination */
	.tour-tile-row .swiper-pagination,
	.tour-tile-row.swiper-horizontal>.swiper-pagination-bullets, 
	.tour-tile-row.swiper-horizontal .swiper-pagination-bullets.swiper-pagination-horizontal {
		padding: 0 5px;
	}
	.tour-tile-row .swiper-pagination-bullet,
	.tour-tile-row.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
	.tour-tile-row.swiper-horizontal .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 8px 0 8px;
	}
	
	.tour-tabs .tab[data-tab="highlights"]::before,
	.tour-tabs .tab[data-tab="itinerary"]::before,
	.tour-tabs .tab[data-tab="key-places"]::before,
	.tour-tabs .tab[data-tab="essential-info"]::before,
	.tour-tabs .tab[data-tab="accommodation"]::before,
	.tour-tabs .tab[data-tab="testimonials"]::before,
	.tour-tabs .tab[data-tab="photos"]::before,
	.tour-tabs .tab[data-tab="videos"]::before {
		max-width: 22px;
		height: 22px;
	}
}

@media screen and (max-width: 450px){
	/* Start Footer */
	footer .wp-block-group.has-global-padding {
		padding-left: 15px;
		padding-right: 15px;
	}
	a.footer-g {
		width: 21px;
		height: 21px;
		background-size: 21px auto;
	}
	a.footer-fb {
		width: 11px;
		height: 21px;
		background-size: 11px auto;
	}
	a.footer-x {
		width: 21px;
		height: 21px;
		background-size: 21px auto;
	}
	a.footer-insta {
		width: 21px;
		height: 21px;
		background-size: 21px auto;
	}
	a.footer-li {
		width: 23px;
		height: 21px;
		background-size: 23px auto;
	}
	a.footer-yt {
		width: 77px;
		height: 21px;
		background-size: 77px auto;
	}
	/* End Footer */
	
	/* Start Tour Details page */
	
	/* End Tour Details page */
	
	/* START Login Page */
	.booking-auth-columns {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 20px;
		align-items: flex-start;
	}
	.booking-auth-columns .booking-login-block {
		width: 100%;
		max-width: 420px;
	}
	.booking-auth-columns .booking-register-block {
		width: 100%;
		max-width: 420px;
	}
	/* END Login Page */
}

@media screen and (min-width: 480px){
	/* Tour Details page */
	.rs-tour-mobile-image {
		display: none;
	}
	.rs-tour-main-image,
	.rs-tour-main-image.no-mobile-image,
	.rs-tour-main-image.has-mobile-image {
		display: block;
	}
	/* End Tour Details page */
}



@media screen and (min-width: 480px) and (max-width: 768px){
	/* Start Testimonials Page */
	.strong-view.wpmtst-simple.rs-testimonials .strong-masonry.columns-3 .wpmtst-testimonial {
		width: 100%;
	}
	/* End Testimonials Page */
}




@media screen and (min-width: 400px) and (max-width: 768px){
	
	.dates-prices-table .dates-prices-table-row.tour-diary-help-block {
		flex-direction: column;
	}
	.dates-prices-table .dates-prices-table-row.tour-diary-help-block {
		align-items: center;
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-contact,
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items {
		flex-direction: row;
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items .helper-block.icon-shield {
		text-align: center;
		height: auto;
		line-height: 20px;
		margin: 0 10px 0 0;
		padding: 40px 0 0 0;
		background-image: url("assets/images/icons/expert-support.png");
		background-repeat: no-repeat;
		background-size: 30px;
		background-position: center top;
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items .helper-block.icon-vehicle {
		text-align: center;
		height: auto;
		line-height: 20px;
		margin: 0 10px 0 0;
		padding: 48px 0 0 0;
		background-image: url("assets/images/icons/support-vehicle.png");
		background-repeat: no-repeat;
		background-size: 38px;
		background-position: center top;
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items .helper-block.icon-best {
		text-align: center;
		height: auto;
		line-height: 20px;
		margin: 0 0 0 0;
		padding: 40px 0 0 0;
		background-image: url("assets/images/icons/best-experience.png");
		background-repeat: no-repeat;
		background-size: 30px;
		background-position: center top;
	}
	
}





@media screen and (max-width: 500px){
	footer .max-width.footer-graphic .footer-graphic-mobile {
		display: block;
	}
	footer .max-width.footer-graphic .footer-graphic-large {
		display: none;
	}
	
	.page-id-737 .filter-buttons label,
	.page-id-737 .group-size-buttons label {
		padding: 0px 10px;
		font-size: 0.75rem;
		height: 34px;
		line-height: 34px;
	}
	.tour-tabs .tab-configurator-btn {
		display: none;
	}
	.tour-tabs .wa-btn a .hide-on-mob {
		display: none;
	}
	.lrg-redspokes-grey-logo img {
		width: 70%;
	}
	
	.tour-filter-form.tour-diary-filter-container {
		padding: 40px 0 40px 0;
	}
	.filter-buttons.all-tours-filter .filter-field, .filter-buttons.rs-tour-diary-filter .filter-field,
	.filter-buttons.all-tours-filter .filter-field, .filter-buttons.all-tours-filter .filter-field {
		width: 100%;
	}
	.rs-tour-diary-filter select,
	.all-tours-filter select {
		width: 100%;
	}
}

@media screen and (min-width: 500px){
	/* Start Header */
	.wp-block-navigation__responsive-container.is-menu-open {
		width: fit-content;
	}
	/* End Header */
}

@media screen and (min-width: 550px){
	/* Start Home Page */
	.tour-style-select-item {
		width: 170px;
	}
	.tour-style-select-item h3 {
		width: 100%;
	}
	/* End Home Page */
}

@media screen and (max-width: 550px){
	.upgrades-block {
		width: 130px;
	}
	
	/* Start - Tour Dates Tables */

	.dates-prices-table .dates-prices-table-row {
		flex-wrap: wrap;
		align-items: flex-start;
	}
	.dates-prices-table .dates-prices-table-hd {
		display: none;
	}
	/* Keep the button fixed on the right, and let it stretch full row height */
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button {
		flex: 0 0 106px;
		width: 106px;
		margin-left: auto;
		align-self: stretch;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		margin-top: -42px;
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability.status-available-2-more-to-guarantee ~ .button {
		margin-top: 0;
	}

	/* Stack these 3 inside the space to the left of the button */
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-dates,
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.price,
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability {
		flex: 0 0 calc(100% - 106px - 20px); /* 20px is the gap */
		max-width: calc(100% - 106px - 20px);
	}
	/* Tighten spacing a bit on mobile */
	.dates-prices-table .dates-prices-table-row {
		gap: 0px;
	}
	/* Because gap changed above, match the calc */
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-dates,
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.price {
		flex-basis: 100%;
		max-width: 100%;
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability {
		flex-basis: calc(100% - 106px - 10px);
		max-width: calc(100% - 106px - 10px);
	}

	.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-dates,
	.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-title,
	.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability,
	.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.price {
		flex-basis: 100%;
		max-width: 100%;
	}
	.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-dates,
	.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-title,
	.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability,
	.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.difficulty,
	.dates-and-pricing-section .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-dates,
	.dates-and-pricing-section .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-title,
	.dates-and-pricing-section .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability,
	.dates-and-pricing-section .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.difficulty {
		margin-bottom: 20px;
	}
	.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.difficulty {
		flex-basis: calc(100% - 106px - 10px);
		max-width: calc(100% - 106px - 10px);
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.difficulty {
		flex-direction: row;
		gap: 10px;
		align-items: flex-start;
	}
	.tour-diary-main .dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.tour-title .dp-tour-name {
		font-weight: 600;
    	font-size: 1rem;
	}
	
	/* Make the button fill its 106px column nicely */
/*
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.button .dp-table-btn {
		width: 106px;
		min-width: 0;
	}
*/

	/* Optional: make availability text smaller/line-break nicely */
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.availability span {
		display: inline-block;
	}

	/* End - Tour Dates Tables */
	
}

@media screen and (min-width: 600px){
	
	.tour-breadcrumb-block nav .breadcrumb li.breadcrumb-l2::after {
		content: ">";
		margin: 0 5px 0 5px;
		color: #111;
	}
	.tour-breadcrumb-block nav .breadcrumb li.breadcrumb-l3 {
		display: inline;
	}

	/* Start Blog page */
	.blog-post-block {
		width: calc(50% - 10px);
	}
	ul.article-category-links {
		flex-direction: row;
	}

	ul.article-category-links > li.article-category-link-item {
		display: block;
		float: left;
/*		width: 50%;*/
		width: calc(25% - (20px/2));
		margin: 0;
		text-align: left;
	}

	ul.article-category-links > li.article-category-link-item > a.article-category-link,
	ul.article-category-links > li.article-category-link-item > a.article-category-link:link,
	ul.article-category-links > li.article-category-link-item > a.article-category-link:visited {
		width: 100%;
		margin: 0 0 0 0;
	}
	/* End Blog page */
	
	.tour-review-block {
		flex: 0 0 calc((100% - 30px) / 2);
	}
	.accommodation-gallery-images .accommodation-gallery-image {
		flex: 0 0 calc((100% - 10px) / 2);
	}
}

@media screen and (min-width: 650px){
	
	.tour-tabs .tab {
		width: auto;
		display: flex;
		flex-wrap: wrap;
		align-content: center;
		justify-content: center;
		cursor: pointer;
		background: #f1f1f1;
		font-family: "Montserrat", serif;
		font-size: 0.75rem;
		text-transform: uppercase;
		font-weight: 400;
		text-align: center;
		padding: 15px 6px 20px 6px;
		border-top: 5px solid #f1f1f3;
	}
	.tour-tabs .tab.plus-videos {
		width: auto;
	}
	.tour-tabs .tab[data-tab="highlights"]::before,
	.tour-tabs .tab[data-tab="itinerary"]::before,
	.tour-tabs .tab[data-tab="key-places"]::before,
	.tour-tabs .tab[data-tab="essential-info"]::before,
	.tour-tabs .tab[data-tab="accommodation"]::before,
	.tour-tabs .tab[data-tab="testimonials"]::before,
	.tour-tabs .tab[data-tab="photos"]::before,
	.tour-tabs .tab[data-tab="videos"]::before {
		content: none;
	}
	.tour-tabs .tabs-btn {
		width: auto;
		cursor: pointer;
		margin-left: auto;
	}
	.tour-tabs .tabs-btn.plus-videos {
		width: auto;
	}
	.tour-tabs .tabs-btn a {
		height: 100%;
		display: flex;
		flex-wrap: wrap;
		align-content: center;
		justify-content: center;
		cursor: pointer;
		background-color: #EC1C24;
		background: linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%);
		color: #fff;
		text-decoration: none;
		font-family: "Montserrat", serif;
		font-size: 0.75rem;
		text-transform: uppercase;
		font-weight: 400;
		text-align: center;
		padding: 15px 6px 15px 6px;
		transition: all 0.3s ease;
	}
	.tour-tabs .tabs-btn a:hover,
	.tour-tabs .tabs-btn a:active,
	.tour-tabs .tabs-btn a:focus {
		background: #111;
		transition: all 0.3s ease;
	}
	
}
	
@media screen and (max-width: 600px){
	/* Start Header */
	
	/* Start Header Search */
	.search-label {
        display: none;
    }
	/* End Header Search */
	
	/* End Header */
	
	/* Start Footer */
	.need-help-block p {
		flex-direction: column;
	}
	.need-help-block a {
		margin: 20px 0 0 0;
	}
	/* End Footer */
	
	/* Start Tour Details page */
	.tour-availability {
		flex-direction: column;
		text-align: left;
		background-size: 40px auto;
		padding: 5px 10px 5px 54px;
	}
	
	/* End Tour Details page */
}

@media screen and (max-width: 700px){
	/* Start Category pages and tour tiles */
	.tour-tile-row .swiper-wrapper {
		padding: 40px 0 60px 0;
	}
	.tour-tile-row .swiper-wrapper.price-wrapper {
		padding: 60px 0 60px 0;
	}
	.tour-images-container .swiper-wrapper {
		padding-top: 30px;
	}
	.tour-tile-row-intro,
	.tour-tile-row-intro.swiper-slide {
		width: 100%;
		min-width: 100%;
		padding: 0 30px;
		text-align: center;
	}
	.tour-tile-row-intro p,
	.tour-tile-row-intro.swiper-slide p {
		margin-bottom: 20px;
	}
	/* End Category pages and tour tiles */
	
	/* Start Footer */
	ul#ddfbfoot li.Footer-Email {
		display: block;
		margin: 0 0 5px 0;
	}
	ul#ddfbfoot li.Footer-Tel {
		margin: 0;
		display: block;
	}
	/* End Footer */
	
	/* Start Tour Details page */
	.tour-tile-row .swiper-pagination.too-many-dots,
	.tour-tile-row .swiper-pagination.too-many-dots.swiper-pagination-bullets.swiper-pagination-horizontal {
		display: none;
	}
	/* End Tour Details page */
}

@media screen and (max-width: 768px){
	/* General page H1s — smaller type, tighter leading on mobile. */
	h1,
	.h1,
	h1.wp-block-post-title {
		font-size: 1.75rem;
		line-height: 1.2;
	}

	/* Start Header */
	.rs-header {
		padding: 24px 20px 24px 20px!important;
	}
	header .header-top-bar {
		padding: 10px 12px;
	}
	header .header-top-bar-menu-container {
		display: none;
	}
	header .header-top-bar-contact-container ul#ddfbhead {
		display: flex;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
		gap: 12px;
		margin: 0;
		text-align: center !important;
		white-space: nowrap;
	}
	header .header-top-bar ul#ddfbhead li,
	header .header-top-bar ul#ddfbhead li.Header-Email,
	header .header-top-bar ul#ddfbhead li.Header-Tel {
		display: inline-block;
		margin: 0;
		flex: 0 0 auto;
	}
	/* Drop icons on small screens so email + tel stay on one line without shrinking text. */
	header .header-top-bar ul#ddfbhead li.Header-Email a,
	header .header-top-bar ul#ddfbhead li.Header-Tel a {
		padding: 5px 0;
		font-size: 16px;
		line-height: 1.25;
		white-space: nowrap;
		background-image: none !important;
	}
	
	/* End Header */
	
	.tour-back-button-block {
		padding: 0 12px 0 24px;
	}
	
	/* Start Footer */
	ul#ddfbfoot {
		text-align: center;
	}
	footer .footer-form input[type="email"] {
		flex: 1 1 auto;
		min-width: 0;
		padding: 10px 12px;
		font-size: 16px;
	}
	/* Icon-only submit on mobile: more room for the email field. */
	footer .footer-form .footer-form__submit {
		flex: 0 0 48px;
		width: 48px;
		min-width: 48px;
		padding: 10px;
		background-position: center center, left top;
		background-size: 9px auto, 100% 100%;
	}
	footer .footer-form .footer-form__submit:hover,
	footer .footer-form .footer-form__submit:focus {
		background-position: center center;
		background-size: 9px auto;
	}
	footer .footer-form .footer-form__submit-text {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
	footer .footer-logo-block {
		align-items: center;
	}
	footer .footer-contact-block {
		justify-content: center;
	}
	footer .footer-links {
		justify-content: center;
	}
/*
	footer .footer-links-column {
		width: calc(50% - 0.6rem);
		text-align: center;
		align-items: center;
	}
*/
	footer .footer-links-col-1,
	footer .footer-links-col-2,
	footer .footer-links-col-3 {
		margin-bottom: 30px;
	}
	footer .footer-links-list {
		align-items: center;
	}
	/* End Footer */
	
	/* Start Home page */
	.why-choose-rs-img,
	.why-choose-rs-img.wpb_single_image.vc_align_right {
		text-align: center;
	}
	/* End Home page */
	
	.mobile-order-1 {
		order: 1;
	}
	.mobile-order-2 {
		order: 2;
	}
	
	.tour-tabs-content-container #highlights h1 {
		font-size: 1.85rem;
		line-height: 1.2;
	}

	body.has-mobile-collapse .mobile-toggle { display: inline-block; }

	body.has-mobile-collapse #highlights .mobile-teaser { display: block; }
	body.has-mobile-collapse #highlights .mobile-overview-full,
	body.has-mobile-collapse #highlights .mobile-post-full,
	body.has-mobile-collapse #highlights .show-and-hide-div {
	display: none;
	}

	body.has-mobile-collapse #highlights.is-expanded .mobile-teaser { display: none; }
	body.has-mobile-collapse #highlights.is-expanded .mobile-overview-full,
	body.has-mobile-collapse #highlights.is-expanded .mobile-post-full,
	body.has-mobile-collapse #highlights.is-expanded .show-and-hide-div {
	display: block;
	}
	
	.mobile-toggle {
		background: none;
		border: none;
		text-decoration: underline;
		font-weight: 300;
		cursor: pointer;
		padding: 0;
		line-height: 1.3;
		margin: 0 auto;
		color: #a8a8a8;
	}
	.is-expanded .mobile-toggle {
		margin-top: 30px;
	}
	.column-reverse-mobile {
		flex-direction: column-reverse;
	}
	.alternating-row-text {
		padding: 30px 0 0 0;
	}
}

@media screen and (min-width: 769px) and (max-width: 790px){
	/* Start Footer */
	footer .footer-brand {
		flex-wrap: nowrap!important;
	}
	ul#ddfbfoot li.Footer-Email {
		display: block;
		margin: 0 0 5px 0;
	}
	ul#ddfbfoot li.Footer-Tel {
		margin: 0;
		display: block;
	}
	/* End Footer */
}

@media screen and (min-width: 769px) and (max-width: 880px){
	/* Start Tour Details page */
	/* End Tour Details page */
}

@media screen and (min-width: 769px) and (max-width: 900px){
	/* Start Home Page */
	.home-statistic-col,
	.home-statistic-col.wpb_column.vc_column_container.vc_col-sm-2 {
		padding: 40px 20px 40px 20px;
	}
	/* End Home Page */
}

@media screen and (min-width: 700px){
	/* Start Category pages and tour tiles */
	.tour-row-container.similar-experiences,
	.category-tour-row-container,
	.category-tour-row-container.favourite-tours,
	.tour-row-container.optional-upgrades {
		flex-direction: column;
	}
	.category-tour-row-container.category-most-popular {
		flex-direction: column;
	}
	.tour-tile-row-intro-mob,
	.optional-upgrades .tour-tile-row-intro-mob {
		display: none;
	}
	.tour-tile-row-intro.lrg {
		display: block;
	}
	.tour-tile-row-intro,
	.tour-tile-row-intro.swiper-slide {
		padding: 0;
	}
	/* start featured image section ------------------ */
	.featured-tour-link {
		flex-direction: row;
	}
	/* end featured image section ------------------ */

	/* End Category pages and tour tiles */
}

@media screen and (min-width: 769px) {
	/* Start Header */
	nav.rs-header-menu button[aria-label="Open menu"]::after {
		content: 'Menu';
		position: absolute;
		left: 100%;
		padding: 0 0 0 5px;
	}
	nav.rs-header-menu button[aria-label="Open menu"]:hover {
		color: #EC1C24;
	}
	nav.rs-header-menu button[aria-label="Open menu"]:hover::after {
		color: #EC1C24;
	}
	/* End Header */
	
	footer .footer-links {
		flex-wrap: nowrap;
	}
	
	/* START - Form Styles */
	.form-flow-container {
		flex-direction: row;
		gap: 30px;
	}
	.form-flow-container .width-half,
	.form-flow-container .width-two-thirds.container .width-half {
		width: calc(50% - 15px);
		padding: 0;
	}
	.form-flow-container .width-third {
		width: calc(33.33% - 15px);
	}
	.form-flow-container .width-two-thirds {
		width: calc(66.66% - 15px);
	}
	.form-flow-container .width-two-thirds.container {
		width: calc(66.66% - 15px);
		flex-direction: row;
		gap: 30px;
	}
	/* END - Form Styles */
	
	.tour-slider-overlay-block.rs-home-slider .home-slider-message,
	.main-image-overlay-block.rs-home-slider .home-slider-message {
		font-size: 2rem;
		line-height: 2.4rem;
		margin: 0;
	}
	.tour-slider-overlay-block.rs-home-slider .home-slider-sub-message,
	.main-image-overlay-block.rs-home-slider .home-slider-sub-message {
		font-size: 2.5rem;
		line-height: 2.75rem;
	}
	.tour-slider-overlay-block.rs-home-slider .home-slider-sub-message br,
	.main-image-overlay-block.rs-home-slider .home-slider-sub-message br {
		display: none;
	}
	/* Start Category Pages	*/
	
	/* End Category Pages	*/
	
	/* start filter section ------------------ */
	.tour-filter-block {
		flex-direction: row;
	}
	/* end filter section ------------------ */
	
	/* Start Tour Details page */
	.tour-slider-overlay-block h1,
	.main-image-overlay-block h1,
	.main-image-overlay-block .h1 {
		text-transform: uppercase;
		text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.7);
		text-shadow: 0 0 3px rgba(0, 0, 0, 0.8), 0 0 6px rgba(0, 0, 0, 0.7), 0 0 12px rgba(0, 0, 0, 0.6);
		font-size: 3.5rem;
		line-height: 4rem;
		color: #fff;
	}
	.tour-slider-values .tour-slider-value {
		font-size: 1.35rem;
		padding: 0 20px;
	}
	.tour-tabs .tab {
		width: auto;
		padding: 20px 12px 25px 12px;
	}
	.tour-tabs .tabs-btn {
		width: auto;
	}
	.tour-tabs .tabs-btn a {
		padding: 20px 32px 20px 20px;
		background-image:
        url("assets/images/icons/button-arrow-white.png"),
        linear-gradient(90deg, rgba(236, 28, 36, 1) 0%, rgba(190, 30, 45, 1) 100%);
		background-repeat: no-repeat, no-repeat;
		background-size: 7px auto, 100% 100%;
		background-position: right 14px center, left top;
	}
	.tour-tabs .tabs-btn a:hover,
	.tour-tabs .tabs-btn a:active,
	.tour-tabs .tabs-btn a:focus {
		background-image: url("assets/images/icons/button-arrow-white.png");
		background-repeat: no-repeat;
		background-size: 7px auto;
		background-position: right 14px center;
	}
	.tour-tabs .tab-configurator-btn a {
		padding: 20px 20px 25px 20px;
	}
	.tour-tabs .tab-configurator-btn a:hover,
	.tour-tabs .tab-configurator-btn a:active,
	.tour-tabs .tab-configurator-btn a:focus {
		background-color: #f1f1f1;
		color: #EC1C24;
		border-top: 5px solid #f1f1f1;
		transition: all 0.3s ease;
	}
	.tour-tabs .wa-btn {
		width: auto;
	}
	.tour-tabs .wa-btn a {
		padding: 20px 32px 25px 43px;
		background-image: url("assets/images/icons/whatsapp-logo-white.png"), url("assets/images/icons/button-arrow-white.png");
		background-repeat: no-repeat, no-repeat;
		background-size: 22px auto, 8px auto;
		background-position: 14px 46%, calc(100% - 14px) 46%;
	}
	.tab-content-col-full.tour-map-block {
		
	}
	.tab-content-col-full.tour-map-block img.tour-map.tour-map-mobile {
		display: none;
	}
	.tab-content-col-full.tour-map-block img.tour-map.tour-map-desktop {
		display: block;
	}
	.tab-content-col.mob-order-2 {
		order: 1;
	}
	.itinerary-content-container {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	.itinerary-content {
		width: 100%;
	}
	.itinerary-content.has-img {
		width: calc(50% - 15px);
	}
	.itinerary-image {
		width: calc(50% - 15px);
	}
	.tour-dates-and-pricing {
		background-size: 200px auto;
	}
	.white-block.half-width {
		width: calc(50% - 10px);
		flex-grow: 1;
	}
	.white-block.full-width {
		width: 100%;
	}
	.tab-content {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.tab-content-col-container {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.tab-content-col {
		width: 50%;
		display: block;
	}
	.tab-content-col.first-col {
		padding: 0 calc(clamp(1.25rem, 8.949vw - 4.488rem, 6.25rem)) 0 0;
	}
	.tab-content-col.tour-images-grid {
		width: 50%;
	}
	/* end Tour Details page */
	
	/* start Home page */
	.why-choose-rs-text {
		padding: 0 20px 0 0;
	}
	.tour-style-container {
		background-position: calc(50% + 640px) top;
		background-size: 200px auto;
	}
	.tour-style-image {
		width: calc(50% - 20px);
		margin: 0;
	}
	.tour-style-content {
		width: calc(50% - 20px);
	}
	.page-container.dark-white-block::after {
		top: 80%;
		height: 700px;
	}
	.thirds-container {
		flex-direction: row;
	}
	.thirds-container .third-block {
		width: 30.666%;
		height: 500px;
		margin: 0 20px 0 0;
	}
	.thirds-container .third-block.blocks-2 {
		width: 47%;
		height: 500px;
		margin: 0 20px 0 0;
	}
	.thirds-container .third-block.blocks-1 {
		width: 100%;
		height: 500px;
		margin: 0;
	}
	.thirds-container .third-block.block-2.blocks-2 {
		margin: 0;
	}
	.home-review-block {
		flex-direction: row;
		padding: 20px;
	}
	.home-review-image {
		width: 50%;
		max-width: 600px;
	}
	.home-review-content {
		width: 50%;
		padding: 0 0 0 40px;
	}
	/* end Home page */
	
	/* Start Blog Section pages */
	ul.article-category-links > li.article-category-link-item {
		display: block;
		float: left;
/*		width: 33%;*/
		width: calc(33% - (40px/2));
		margin: 0;
		text-align: left;
	}
	/* End Blog Section pages */
	
	/* START - main full-page image area on enquiry pages */
	.full-background-image {
		margin-top: -98px;
	}
	.logged-in.admin-bar .full-background-image {
		margin-top: -125px;
	}
	.full-background-image img {

	}
	.logged-in.admin-bar .full-background-image .wp-block-post-featured-image,
	.full-background-image .wp-block-post-featured-image {
		
	}
	.full-background-image .form-page-content-overlay-block {
		top: 200px;
	}
	.full-background-image .form-page-content-overlay-block .content-container {
		margin-bottom: 0;
	}
	/* END - main full-page image area on enquiry pages */
	
	/* START static buttons */
	.calendly-badge-widget .calendly-badge-content {
		font-size: 0!important;
		width: 50px!important;
		height: 50px!important;
		padding: 25px!important;
	}
	.calendly-badge-widget .calendly-badge-content::after {
		background-size: 28px auto;
	}
	.wa-call-btn {
		right: 78px;
	}
	.wa-call-btn a {
		width: 50px;
		height: 50px;
		padding: 25px;
		background-size: 28px auto;
	}
	/* END static buttons */
	
	.widths-container {
		flex-direction: row;
	}
	.widths-container .width-two-thirds {
		width: 60%;
		display: block;
		margin: 0 7% 30px 0;
	}
	.widths-container .width-one-third {
		width: 33%;
		display: block;
		margin: 0 0 30px 0;
	}
	.widths-container .width-half,
	.widths-container .width-half.first-half {
		width: 50%;
		margin: 0;
	}
	.highlighted-tour-block {
		flex-direction: row;
		justify-content: center;
	}
	.highlighted-tour-block .highlighted-tour-img {
		width: 50%;
		max-width: 500px;
		margin-top: -70px;
	}
	.highlighted-tour-block .highlighted-tour-content {
		padding: 40px;
		margin: 0;
	}
	.tour-overview-key-details-block .tour-overview-key-detail {
		width: calc(33.333% - 8px);
	}
	.videos-gallery-container .video-gallery-item {
		flex: 0 0 calc((100% - 60px) / 3);
		display: block;
		margin: 0;
	}
	.accommodation-highlights-container .accommodation-highlights-block .accommodation-highlights-content {
		padding: 20px;
	}
	.accommodation-highlights-container .accommodation-highlights-block.odd .accommodation-highlights-img,
	.accommodation-highlights-container .accommodation-highlights-block.even .accommodation-highlights-content {
		order: 1;
	}
	.accommodation-highlights-container .accommodation-highlights-block.even .accommodation-highlights-img,
	.accommodation-highlights-container .accommodation-highlights-block.odd .accommodation-highlights-content {
		order: 2;
	}
	
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items {
		flex-direction: row;
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-contact .help-contact-content {
		background-position: top left;
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items .helper-block.icon-shield {
		margin: 0 10px 0 0;
		background-position: top left;
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items .helper-block.icon-vehicle {
		margin: 0 10px 0 0;
		background-position: top left;
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items .helper-block.icon-best {
		margin: 0 0 0 0;
		background-position: top left;
	}
	
}

@media screen and (min-width: 871px){
	/* Start Navigation */
	header .header-menu-container .max-mega-menu .mob-show {
		display: none;
	}
	header .header-menu-container .max-mega-menu .mega-sub-menu .mega-menu-row.menu-titles-row,
	header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-row.menu-titles-row {
		display: block;
	}
	header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-column.menu-difficulty-column {
		margin-bottom: 0;
	}
	header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-column.menu-destinations-column {
		margin-bottom: 0;
	}
	header #mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1  ul.mega-sub-menu {
		padding: 0;
	}
	header .header-menu-container .max-mega-menu .menu-difficulty-column ul.mega-sub-menu li:first-of-type,
	header .header-menu-container .max-mega-menu .menu-destinations-column ul.mega-sub-menu li:first-of-type {
		display: none!important;
	}
	header .header-menu-container .max-mega-menu .mob-hide {
		display: block;
	}
	header .header-menu-container .max-mega-menu .menu-destinations-column ul.mega-sub-menu {
		display: grid!important;
		grid-template-columns: repeat(5, auto); /* 5 columns */
		grid-auto-rows: auto;
		row-gap: 0;
		column-gap: 20px;
		list-style: none;
		grid-auto-flow: column;
		grid-template-rows: repeat(5, auto); /* 5 rows */
		grid-auto-columns: max-content;
	}
	/* End Navigation */
}

@media screen and (min-width: 871px) and (max-width: 1100px) {
	/* Start Navigation */
	header .header-menu-container .max-mega-menu .menu-destinations-column ul.mega-sub-menu {
		grid-template-rows: repeat(4, auto);
	}
	/* End Navigation */
}

@media screen and (max-width: 900px){
	/* Start Footer */
	.form-flow-container.footer-container {
		align-items: center;
	}
	.form-flow-container.footer-container p {
		text-align: center;
	}
	/* End Footer */
	
	/* Start Home Page */
	.red-full-block.home-ofb {
		margin-top: 0;
	}
	/* End Home Page */
	
	/* Start Blog Section pages */
/*
	.blog-article-content-block,
	.blog-article-sidebar-block {
		flex-basis: 100% !important;
	}
*/
	/* End Blog Section pages */
}

@media screen and (min-width: 900px) and (max-width: 1000px){
	/* Start Footer */
	/* End Footer */
}

@media screen and (min-width: 900px){
	/* Start Home Page */
	.home-statistic-col,
	.home-statistic-col.wpb_column.vc_column_container.vc_col-sm-2 {
		padding: 50px 20px 50px 20px;
	}
	/* End Home Page */
	
	/* Start Blog Section pages */
	.blog-post-block {
		width: calc(33.333% - (40px / 3));
	}
	ul.article-category-links > li.article-category-link-item {
/*		width: 25%;*/
		width: calc(25% - (60px/3));
	}
	/* End Blog Section pages */
	
	.tour-review-block {
		flex: 0 0 calc((100% - 60px) / 3);
	}
	.accommodation-gallery-images .accommodation-gallery-image {
		flex: 0 0 calc((100% - 30px) / 4);
	}
}

@media screen and (min-width: 1000px){
	/* Start Tour Details page */
	.white-block {
		padding: 40px;
		border-radius: 8px;
	}
	/* End Tour Details page */
	
	/* Start Blog Section pages */
	.blog-article-content-container {
		flex-direction: row;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.blog-article-content-block {
		width: 75%;
		flex-basis: auto;
	}
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.blog-article-sidebar-block {
		width: 25%;
		flex-basis: auto;
	}
	/* End Blog Section pages */
}

@media screen and (min-width: 1100px){
	/* Start Tour Details Page */
	.tour-tabs .tab {
		font-size: 1rem;
		padding: 20px 20px 25px 20px;
	}
	.tour-tabs .tab-configurator-btn a {
		font-size: 1rem;
		padding: 20px 20px 25px 20px;
	}
	.tour-tabs .tabs-btn a {
		font-size: 1rem;
		padding: 25px 32px 25px 20px;
	}
	.tour-tabs .wa-btn a {
		font-size: 0.9rem;
		padding: 25px 32px 25px 43px;
	}
	/* End Tour Details Page */
}

@media screen and (min-width: 1200px){
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items .helper-block.icon-shield {
		margin: 0 20px 0 0;
	}
	.dates-prices-table .dates-prices-table-row .dates-prices-table-row-block.help-items .helper-block.icon-vehicle {
		margin: 0 20px 0 0;
	}
}

@media screen and (min-width: 1150px) and (max-width: 1399px){
	/* Start Home Page */
	.why-choose-rs-text {
		padding: 0 50px 0 0;
	}
	/* End Home Page */
}

@media screen and (min-width: 1280px) and (max-width: 1400px){
	.main-header-slider .wp-block-post-featured-image img {
/*		margin-top: -8%;*/
	}
	.main-header-slider.full-background-image .wp-block-post-featured-image img {
		margin-top: 0;
	}
}

@media screen and (min-width: 1400px){
	.main-header-slider {
/*		height: 800px;  */
		height: 600px;
	}
	/* Start Home Page */
	.why-choose-rs-text {
		padding: 0 130px 0 0;
	}
	/* End Home Page */
	
	.main-header-slider .wp-block-post-featured-image img {
	    height: 100%;
	}
}
@media screen and (min-width: 1500px){
	/* Start Home Page */
	.page-container.dark-white-block::after {
		left: 20px;
		top: 50%;
		background-size: 200px auto;
		width: 200px;
		height: 1000px;
	}
	/* End Home Page */
	.tour-dates-and-pricing {
		background-position: calc(50% + 640px) top;
	}
}

:where(.wp-site-blocks *:focus) {
    outline-width: 0!important;
    outline-style: none!importantportpor;
}
.homexxx .wpb-content-wrapper {
	overflow: hidden!important;
}
.menu-hide-link,
.footer-hide-link {
	display: none!important;
}