/* ==========================================================================
   main.css — Hot Milfs Fuck SFW / Tour Area
   ==========================================================================

   TABLE OF CONTENTS
   -----------------
   1. Design Tokens & Custom Properties
   2. Font Faces
   3. Base / Reset
   4. Navigation
   5. Buttons
   6. Site Identity & Typography
   7. Sections & Layout
   8. Pagination
   9. Content Cards & Items
   10. Social Icons
   11. Sticker Bar
   12. Models
   13. Tags & Filters
   14. Search
   15. Gallery & Trailer
   16. Footer
   17. Comments
   18. Special Offers
   19. Tour Header
   20. ELX Overrides
   21. Responsive — 1200px+
   22. Responsive — 992px and below
   23. Responsive — 768px and below
   24. Responsive — 480px and below
   ========================================================================== */


/* ==========================================================================
   1. Design Tokens & Custom Properties
   ========================================================================== */
:root {
	/* Brand Colors */
	--primary: #d12100;           /* hsl(10, 100%, 41%) — burnt orange */
	--secondary: #9e1900;         /* hsl(10, 100%, 31%) — dark burnt orange */
	--accent: #ffd331;            /* golden yellow — active nav, scroll-to-top */

	/* Light scale */
	--color-light: #ffffff;       /* hsl(0, 0%, 100%) */
	--color-light-4: #f2f2f2;    /* hsl(0, 0%, 95%) */
	--color-light-3: #e6e6e6;    /* hsl(0, 0%, 90%) */
	--color-light-2: #d9d9d9;    /* hsl(0, 0%, 85%) */
	--color-light-1: #cccccc;    /* hsl(0, 0%, 80%) */

	/* Dark scale */
	--color-dark: #0d0d0d;       /* hsl(0, 0%, 5%) */
	--color-dark-4: #0d0d0d;     /* hsl(0, 0%, 5%) */
	--color-dark-3: #1a1a1a;     /* hsl(0, 0%, 10%) */
	--color-dark-2: #262626;     /* hsl(0, 0%, 15%) */
	--color-dark-1: #333333;     /* hsl(0, 0%, 20%) */
	--offcolor-dark: #333333;    /* hsl(0, 0%, 20%) */

	/* Neutrals & Surfaces */
	--color-offcolor: #1a1a1a;
	--color-surface: #111111;
	--color-border: #2a2a2a;
	--color-card-bg: #1a1a1a;
	--color-card-hover-bg: #262626;
	--color-card-hover-text: var(--color-light);
	--color-divider: #2a2a2a;
	--color-muted: #888888;
	--color-muted-2: #aaaaaa;
	--color-input-bg: #f5f5f5;
	--color-input-text: #1d2022;
	--color-comment-bg: #111111;
	--color-tag-bg: #e3e3e5;
	--color-primary-dim: rgba(209, 33, 0, 0.12);

	/* Typography */
	--font-primary: 'Manrope', Arial, Helvetica, sans-serif;
	--font-brand: 'Montserrat', Arial, Helvetica, sans-serif;
	--font-special: 'Monument', Arial, Helvetica, sans-serif;

	/* Fluid Type Scale */
	--h1: clamp(3rem, 2.7273rem + 1.0909vw, 3.6rem);
	--h2: clamp(2.25rem, 2.0455rem + 0.8182vw, 2.7rem);
	--h3: clamp(1.875rem, 1.7045rem + 0.6818vw, 2.25rem);
	--h4: clamp(1.5rem, 1.3636rem + 0.5455vw, 1.8rem);
	--h5: clamp(1.25rem, 1.1364rem + 0.4545vw, 1.5rem);
	--h6: clamp(1.125rem, 1.0227rem + 0.4091vw, 1.35rem);
	--text-size-xs: clamp(0.79rem, -0.01vw + 0.79rem, 0.78rem);
	--text-size-s: clamp(0.89rem, 0.08vw + 0.87rem, 0.94rem);
	--text-size-m: clamp(0.8333rem, 0.7576rem + 0.303vw, 1.125rem);
	--text-size-l: clamp(1.25rem, 1.1364rem + 0.4545vw, 1.5rem);
	--text-size-xl: clamp(1.5rem, 1.3636rem + 0.5455vw, 1.8rem);
	--text-size-2xl: clamp(1.75rem, 1.239rem + 2.273vw, 3rem);
	--text-size-3xl: clamp(1.75rem, 0.932rem + 3.636vw, 3.75rem);

	/* Responsive text utilities */
	--rt-regular: clamp(1.8rem, 1.3654rem + 0.9065vw, 2rem);
	--rt-large: clamp(3rem, 1.7309rem + 1.813vw, 4rem);

	/* Spacing Scale */
	--space-xs: 0.5rem;
	--space-s: 1rem;
	--space-m: 1.5rem;
	--space-l: 2.5rem;
	--space-xl: 4rem;

	/* Transitions */
	--transition-fast: 0.2s ease;
	--transition-normal: 0.3s ease;

	/* Border Radius */
	--radius-sm: 0.2rem;
	--radius-md: 0.5rem;
}

/* OKLCH progressive enhancement */
@supports (color: oklch(0.55 0.2 30)) {
	:root {
		--primary: oklch(0.55 0.2 30);
		--secondary: oklch(0.43 0.18 28);
		--accent: oklch(0.88 0.15 90);
	}
}


/* ==========================================================================
   2. Font Faces
   ========================================================================== */
@font-face {
	font-family: 'Manrope';
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url('../fonts/manrope.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: 300 800;
	font-display: swap;
	src: url('../fonts/montserrat.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Monument';
	src: url('../fonts/monumentextended-regular-webfont.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}


/* ==========================================================================
   3. Base / Reset
   ========================================================================== */
body { font-family: var(--font-primary); color: var(--color-light); background-color: var(--color-dark); }
.body-div { padding-top: 48px; }
p { margin-bottom: 0.5rem; }
img { max-width: 100%; height: auto; }
h1, .h1 { font-size: var(--h1); line-height: 1.1; }
h2, .h2 { font-size: var(--h2); line-height: 1; }
h3, .h3 { font-size: var(--h3); line-height: 1; }
h4, .h4 { font-size: var(--h4); line-height: 1.3; }
h5, .h5 { font-size: var(--h5); line-height: 1.3; }
h6, .h6 { font-size: var(--h6); line-height: 1.3; }
h1, .h1, h2, .h2, h3, .h3 {
	font-weight: 600;
	color: var(--color-light);
	font-family: var(--font-brand);
	text-wrap: balance;
}
h4, .h4, h5, .h5, h6, .h6 {
	line-height: 1.2em;
	color: var(--color-light);
	text-wrap: balance;
}
.text-size-3xl {
	font-size: var(--text-size-3xl);
	line-height: 1.2;
}
.text-size-2xl {
	font-size: var(--text-size-2xl);
	line-height: 1.2;
}
.text-size-xl {
	font-size: var(--text-size-xl);
	line-height: 1.4;
}
.text-size-l {
	font-size: var(--text-size-l);
	line-height: 1.5;
}
.text-size-m {
	font-size: var(--text-size-m);
	line-height: 1.5;
}
.text-size-s {
	font-size: var(--text-size-s);
	line-height: 1.6;
}
.text-size-xs {
	font-size: var(--text-size-xs);
	line-height: 1.7;
}
.text-primary { color: var(--primary) !important; }
.text-secondary { color: var(--secondary) !important; }
.highlight { color: var(--primary) !important; }
.warning-text { color: var(--primary); font-weight: 800; }
.rt-regular { font-size: var(--rt-regular); }
.rt-large { font-size: var(--rt-large); }


/* ==========================================================================
   4. Navigation
   ========================================================================== */
/* Secondary Color */
ul.payment-options li.active,
ul.join-options li.active,
ul.join-options li span.extra,
.sticker-section .inner-div .swiper-sticker-next:hover, .sticker-section .inner-div .swiper-sticker-prev:hover { background-color: var(--primary); }

a, .list-with-check li i.fa,
.sticker-section .inner-div h2 i.fa,
.sticker-section .inner-div h2 span,
ul.join-options li span.price, ul.join-options li.active span.extra,
.trailer-article .rating-div,
.bio-section-head .rating-div,
.footer-nav ul li.red a { color: var(--primary); }
.bg-theme { background-color: var(--secondary); }

.members .bg-dark { background-color: #000 !important; }
.bg-dark { background-color: #000 !important; }
.navbar-brand { padding-top: 0; padding-bottom: 0; }
.navbar-dark .navbar-toggler-icon {
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='3' stroke-linecap='square' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
.navbar-nav > li > a {
	font-size: 1.25rem;
	line-height: 1em;
	font-weight: 600;
	letter-spacing: 1px;
	margin: 0.5rem;
	color: var(--color-light);
	text-decoration: none;
	text-transform: uppercase;
	border: none;
}
.navbar-nav > li > a:hover {
	color: var(--primary);
	transition: transform 0.25s ease-out;
}
.navbar .btn-theme { background-color: var(--primary); font-size: 1.4rem; width: auto; border: none; margin: 10px; }
.navbar .btn-theme:hover { background-color: var(--secondary); color: #f7f7f7; border: none; }


/* ==========================================================================
   5. Buttons
   ========================================================================== */
.btn { padding: .25rem .5rem; border-radius: var(--radius-sm); text-transform: uppercase; border: none; }
.btn.focus, .btn:focus { box-shadow: none; }
.btn-primary, .btn-primary.disabled, .btn-primary:disabled,
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show>.btn-primary.dropdown-toggle {
	font-weight: 700;
	background-color: var(--primary);
	border-color: var(--primary);
}
.btn-primary:hover { background-color: var(--secondary); border-color: var(--secondary); }
.btn-primary.focus, .btn-primary:focus {
	background-color: var(--secondary);
	border-color: var(--secondary);
	box-shadow: none !important;
}
.btn-default { background-color: var(--primary); border-color: var(--primary); color: #fff; border: 0; }
.btn-default:hover { background: var(--secondary); border: 1px solid var(--secondary); color: #FFF; border: 0; }
.btn-outline-dark { color: var(--primary); border-color: var(--primary); font-weight: 600; }
.btn-outline-dark:hover { color: #fff; background-color: var(--primary); border-color: var(--primary); }
.btn-special {
	font-family: var(--font-brand);
	font-weight: 700;
	color: #fff;
	font-size: 2rem;
	line-height: 2rem;
	letter-spacing: 0.25rem;
	background: var(--primary);
	background: linear-gradient(180deg, var(--primary) 0%, var(--secondary) 68%);
	padding: 0.75rem 1.5rem;
}
.btn-special:hover {
	color: #fff;
	background: var(--secondary);
	background: linear-gradient(100deg, var(--secondary) 42%, var(--secondary) 100%);
	text-shadow: -1px -1px 1px rgba(255,255,255,.1), 1px 1px 1px rgba(0,0,0,.5);
}
.btn-special.focus, .btn-special:focus {
	background-color: var(--secondary);
	border-color: none;
	box-shadow: none !important;
}


/* ==========================================================================
   6. Site Identity & Typography
   ========================================================================== */
.site-identity-head {
	font-family: var(--font-brand), sans-serif;
	font-size: clamp(2.25rem, 1.2115rem + 4.6154vw, 4.5rem);
	font-weight: 800;
	line-height: 1em;
	text-transform: uppercase;
	text-shadow: -1px -1px 1px rgba(255,255,255,.1), 1px 1px 1px rgba(0,0,0,.5);
	margin-bottom: 0;
	transition: all var(--transition-fast);
	margin: 0;
}
.site-identity-subhead {
	font-family: var(--font-brand), sans-serif;
	font-weight: 300;
	font-size: clamp(1.5rem, 1.3269rem + 0.7692vw, 1.875rem);
	line-height: 1em;
	letter-spacing: 6px;
	text-transform: uppercase;
	margin: 0.5rem 0;
}
.page-title-heading {
	font-family: var(--font-brand), sans-serif;
	font-size: clamp(2.25rem, 1.2115rem + 4.6154vw, 4.5rem);
	line-height: 1.1em;
	font-weight: 700;
	text-transform: uppercase;
	text-shadow: -1px -1px 1px rgba(255,255,255,.1), 1px 1px 1px rgba(0,0,0,.5);
	margin-bottom: 0;
	transition: all var(--transition-fast);
	margin: 0;
}
.special-font {
	font-family: var(--font-special), sans-serif;
	font-size: clamp(1.75rem, 0.4808rem + 5.641vw, 4.5rem);
	font-weight: 800;
	line-height: 1em;
	text-shadow: -1px -1px 1px rgba(255,255,255,.1), 1px 1px 1px rgba(0,0,0,.5);
	text-transform: uppercase;
	margin-bottom: 0;
	transition: all var(--transition-fast);
}

/* Page Title — BEM */
.page-title {
	text-align: center;
	padding: var(--space-l) 0;
}
.page-title__eyebrow {
	display: block;
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: var(--text-size-l);
	line-height: 1em;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin-bottom: var(--space-xs);
}
.page-title__heading {
	font-family: var(--font-primary);
	font-size: var(--h2);
	font-weight: 600;
	line-height: 1.1;
	margin: var(--space-xs) 0;
}
.page-title__heading--special {
	font-family: var(--font-special);
	text-transform: uppercase;
}
.page-title__features {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--space-m);
	list-style: none;
	padding: 0;
	margin: var(--space-s) 0 0;
	font-family: var(--font-primary);
	font-weight: 300;
	font-size: var(--text-size-m);
	letter-spacing: 2px;
	text-transform: uppercase;
}
.page-title__features li + li::before {
	content: '\00b7';
	margin-right: var(--space-m);
}

ul.scene-details {
	list-style: none;
	padding-inline-start: 0px;
}


/* ==========================================================================
   7. Sections & Layout
   ========================================================================== */
.container-wide { padding-left: 30px; padding-right: 30px; }
.section-margin { margin: 1em 0; }
.section-margin-2 { margin: 2em 0; }
.section-margin-3 { margin: 3em 0; }
.section-offcolor { background-color: var(--color-offcolor); }
.section-dark { padding: 1rem 0; background-color: var(--color-dark); }
.section-primary {
	background: var(--primary);
	background: linear-gradient(144deg, var(--primary) 18%, var(--secondary) 60%);
	color: var(--color-light);
}
.image-background { background-color: var(--color-light); padding: .5rem; }

.sectionsplitout {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 2.9rem;
	position: relative;
	width: 100%;
}
.sectionsplitthing {
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: rgb(0, 0, 0);
}
.sectionsplit {
	margin: 0px;
	padding: 0px 1rem;
	position: relative;
	z-index: 2;
	font-size: 1.4rem;
	letter-spacing: .2rem;
	background-color: white;
	text-transform: uppercase;
}
.p-tb-50 {
	padding-top: 50px;
	padding-bottom: 50px;
}
.pb-30 { padding-bottom: 30px; }
.pb-70 { padding-bottom: 70px; }
.pt-70 { padding-top: 70px; }
.title-block { display: inline-block; width: 100%; }
.banner-section .container-fluid { padding: 0; }
.home-banner-section-2 {
	padding: 30px 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}
.home-banner-section-2 .container { max-width: 700px; }
.row.col-5-div .col, .row.col-5-div .col-6 {
	flex: 0 0 20%;
	max-width: 20%;
}


/* ==========================================================================
   8. Pagination
   ========================================================================== */
.pagination { display: inline-block; width: 100%; padding: 10px 0px; text-align: center; }
.pagination li { display: inline-block; font-size: 1.4rem; text-align: center; margin: 5px 3px; }
.pagination li a { display: block; min-width: 34px; padding: 4px 8px; text-align: center; color: var(--primary); border: 1px solid var(--primary); line-height: 100%; border-radius: 4px; text-decoration: none; }
.pagination li a:hover { background-color: var(--primary); border-color: var(--primary); color: #f7f7f7; }
.pagination .active { background-color: var(--primary); border-color: var(--primary); border-radius: 4px; }
.pagination .active a { color: #fff; }


/* ==========================================================================
   9. Content Cards & Items
   ========================================================================== */
.section-title {
	display: inline-block;
	font-size: 1.2em;
	line-height: 1.2em;
	letter-spacing: -.022em;
}
.model-name { text-transform: uppercase; font-weight: normal; }
.section-title span { }

.item {
	position: relative;
	margin-bottom: 10%;
}
.item:hover .content-div { background-color: var(--offcolor-dark); color: var(--color-light); }
.item-update .img-div {
	position: relative;
	background-size: cover;
	background-position: center;
	overflow: hidden;
}
.item-update .img-div a { display: inline-block; position: relative; width: 100%; }
.item-update .img-div img { width: 100%; height: auto; }

.item-update .img-div a img { transition: transform .5s ease; }
.item-update:hover .img-div a img { transform: scale(1.05); }

.item-update .img-div .item-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -43px;
	margin-left: -43px;
	font-size: 100px;
	z-index: 5;
	color: #FFF;
	text-shadow: #333 0px 0px 20px;
	opacity: 0;
}
.item-update .img-div a:hover .item-icon { opacity: 0.4; }

.item-update .content-div {
	background-color: var(--primary);
	color: var(--color-light);
	padding: .5rem;
	position: relative;
}
.item-update .content-div h4 { margin: 0; padding: 0; list-style: none; }
.item-update .content-div h4 a { color: #FFF; }
.item-update .content-div h4 a:hover { color: var(--color-light); text-decoration: none; }
.item-update .content-div .more-info-div { color: #000; font-size: .7rem; line-height: 1rem; }
ul.stars { margin: 0; padding: 0; list-style: none; }

.section-title.see-more { padding-right: 100px; }
.section-title .btn {
	position: absolute;
	right: 0;
	top: 0;
	color: var(--primary);
	border: 1px solid #0f0e0e;
	border-radius: 0;
}
.section-title .btn:hover { background-color: #0f0e0e; }
.latest-updates-section .row-col-padding-10 { margin-bottom: 60px; }
.home-models-section .row-col-padding-10 { margin-bottom: 60px; }

.item-update .img-div .thumb-model-overlay { position: absolute; bottom: 10px; left: 10px; width: 150px; z-index: 9999; }
.item-update .img-div .thumb-model-overlay img { display: inline-block; width: 100%; max-width: 100%; height: auto; vertical-align: top; }
.item-update .img-div a:hover .thumb-model-overlay { opacity: 0; }


/* ==========================================================================
   10. Social Icons
   ========================================================================== */


/* ==========================================================================
   11. Sticker Bar
   ========================================================================== */
.swiper-container-sticker .swiper-slide {
	width: auto;
	border-left: 1px solid #7b7b7b;
	padding-left: 15px;
	padding-right: 15px;
	font-family: var(--font-primary);
	font-size: 20px;
}
.sticker-section .inner-div {
	position: relative;
	padding: 30px 100px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-content: stretch;
	align-items: center;
}
.sticker-section {
	border-top: 1px solid #cdcdcd;
	border-bottom: 15px solid #000000;
}
.sticker-section .inner-div h2 {
	min-width: 350px;
	margin: 0;
	padding: 0;
	font-size: 25px;
	font-family: var(--font-primary);
	font-weight: 700;
}
.sticker-section .inner-div h2 i.fa { color: var(--primary); }
.sticker-section .inner-div h2 span { color: var(--primary); }
.sticker-section .inner-div h2 img {
	vertical-align: middle;
	position: relative;
	top: -3px;
}
.sticker-section .inner-div .swiper-sticker-next,
.sticker-section .inner-div .swiper-sticker-prev {
	position: absolute;
	right: 0;
	top: 50%;
	outline: none;
	margin-top: -18px;
	border-radius: 10px;
	cursor: pointer;
	background-color: #464646;
	color: #FFF;
	font-size: 20px;
	padding: 7px 10px;
}
.sticker-section .inner-div .swiper-sticker-prev {
	right: auto;
	left: 0;
}
.sticker-section .inner-div .swiper-sticker-next:hover,
.sticker-section .inner-div .swiper-sticker-prev:hover { background-color: var(--primary); }


/* ==========================================================================
   12. Models
   ========================================================================== */
.category_model_thumb {
	aspect-ratio: 1.2 / 1;
	object-fit: cover;
}
.models-az { display: inline-block; width: 100%; text-align: center; vertical-align: top; }
.models-az .btn { padding: 7px 12px; }
.models-list-thumbs ul {
	display: inline-block;
	width: 100%;
	list-style: none;
	margin: 0;
	margin-top: 10px;
	padding: 0;
}
.models-list-thumbs ul li {
	display: inline-block;
	width: 100%;
	margin-right: 0;
	margin-bottom: 10px;
}
.models-list-thumbs ul.half-sized li { width: 49%; }
.models-list-thumbs ul li a {
	display: inline-block;
	padding: 5px;
	border: 1px solid #cacaca;
	background: #FFF;
	color: #333;
	text-align: center;
	border-radius: 5px;
}
.models-list-thumbs ul li a:hover img { opacity: 0.6; }
.models-list-thumbs ul li a img {
	display: inline-block;
	vertical-align: top;
	border-radius: 5px;
	height: auto;
}
.models-list-thumbs ul li a span {
	display: inline-block;
	padding: 5px 0 0;
	font-weight: 700;
	font-size: 16px;
}
.models-list-thumbs ul.half-sized li a span { font-size: 13px; }
.bio-section-head .img-div { text-align: center; }
.bio-section-head .bottom-btn .btn {
	font-size: 65px;
	margin: 0 auto;
	line-height: 70px;
	font-weight: 700;
	max-width: 600px;
	display: block;
	padding-left: 50px;
	padding-right: 50px;
}
.bio-section-head .bottom-btn .btn:after {
	background-image: url(../images/btn-right-img-green.png);
}
.bio-section-head .bottom-btn .btn:before {
	background-image: url(../images/btn-left-img-green.png);
}
.bio-section-head .list-with-check2 { margin-bottom: 60px; }
.bio-section-head .left-content .img-div img { width: 100%; height: auto; }
.bio-section-head .left-content .img-div {
	background-size: cover;
	background-position: center top;
}
.bio-section-head .left-content .inner-right-c {
	padding-left: 50px;
	font-size: 18px;
}
.bio-section-head .rating-div, .bio-section-head .detail-div { font-size: 1rem; line-height: 1.2rem; }
.detail-div { color: #000; }
.bio-section-head .left-content .detail-div { color: #000000; padding: 20px 0; }
.bio-section-head .left-content h3 { margin: 0 0 25px 0; }
.bio-section-head .left-content .detail-div p { margin-bottom: 25px; }


/* ==========================================================================
   13. Tags & Filters
   ========================================================================== */
ul.tags { display: inline-block; width: 100%; text-align: left; margin: 0; padding: 0; }
ul.tags li { display: inline-block; text-align: left; margin: 0 0 5px 0; padding: 0; }
ul.tags li a { display: inline-block; background-color: var(--color-tag-bg); font-size: .8rem; padding: 6px 12px; border-radius: 3px; color: #111; font-weight: 700; }
ul.tags li a:hover { background-color: var(--primary); color: #fefefe; text-decoration: none; }


/* ==========================================================================
   14. Search
   ========================================================================== */
.navbar-search { margin: 10px; border: 0; padding: 0; background: none; color: #FFF; font-size: 18px; }

.search {
	flex-grow: 1;
	flex-shrink: 1;
	min-width: 1px;
	padding: 0 10px;
	position: absolute;
	z-index: 99;
	top: 100%;
	background-color: #222;
	width: 100%;
}

.search .wrap {
	display: flex;
	align-items: center;
	max-width: 100%;
	margin: 0 auto;
	padding: 10px;
}

.search .input {
	color: var(--color-input-text);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	height: 40px;
	width: 100%;
	border-radius: 20px;
	background-color: var(--color-input-bg);
	border: none;
	padding: 12px 20px;
	flex-grow: 1;
	flex-shrink: 1;
	min-width: 1px;
}

.search .button_submit, .search .button_search_close {
	width: 40px;
	height: 40px;
	background-color: var(--accent);
	transition: background-color var(--transition-normal);
	border: none;
	border-radius: 20px;
	color: #fff;
	cursor: pointer;
	margin-left: 5px;
	flex-grow: 0;
	flex-shrink: 0;
}
.search .button_submit { color: #000; }
.search .button_submit:hover { background-color: #1d2022; color: #fff; }
.search .button_search_close { background: none; margin-left: 0; margin-right: 5px; }
.search .button_submit i { font-size: 16px; }


/* ==========================================================================
   15. Gallery & Trailer
   ========================================================================== */
.trailer-section-head { background-color: #fff; color: #000; }
.trailer-section-head .left-content { font-size: 16px; line-height: 20px; }
.trailer-section-head .left-content .video-div {
	position: relative;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
}
.trailer-section-head .left-content .video-div .play {
	background-image: url(../images/play-icon.png);
	background-position: center;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	z-index: 55;
	background-repeat: no-repeat;
}
.trailer-section-head .left-content .video-div img { width: 100%; height: auto; }
.trailer-article .rating-div { margin: 0; font-size: 20px; color: var(--primary); }
.trailer-article .description.hidden,
.trailer-article .descriptionFull.hidden { display: none; }
.trailer-article .description .read-more,
.trailer-article .descriptionFull .read-less { font-style: italic; cursor: pointer; }
.video-player { position: relative; }

/* Trailer Upgrade Overlay */
.video_area_upgrade { position: relative; }
.video_area_upgrade a#postroll_url { display: inline-block; width: 100%; vertical-align: top; }
.video_area_upgrade a#postroll_url img { display: inline-block; width: 100%; vertical-align: top; }
.trailer_overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 99; background: rgba(0,0,0,0.5); text-align: center; display: block; }
.trailer_overlay .centerbox { display: table; width: 100%; height: 100%; }
.trailer_overlay .middle { display: table-cell; vertical-align: middle; }
.trailer_overlay .middle .trailer_box { margin: auto; vertical-align: middle; display: inline-block; width: 600px; padding: 25px; border: 1px solid #222; background: #111; color: #FFF; font-size: 18px; text-transform: none; position: relative; }
.trailer_overlay .middle .trailer_box i.fa { font-size: 38px; vertical-align: top; }
.trailer_overlay .middle .trailer_box h3 { display: inline-block; width: 100%; padding: 15px 0 10px 0; font-size: 18px; vertical-align: top; }
.trailer_overlay .middle .trailer_box p { display: inline-block; width: 100%; padding: 0; margin: 0; font-size: 14px; vertical-align: top; margin-bottom: 15px; }
.trailer_overlay .middle .trailer_box p a { color: #FFF; }
.trailer_overlay .middle .trailer_box p a:hover { color: #FFF; text-decoration: underline; }


/* ==========================================================================
   16. Footer
   ========================================================================== */
/* Legacy footer (kept for backwards compat) */
.legal {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #000;
	color: #676767;
	padding: 0.5em 1em;
}
.legal a { color: var(--primary); }
.legal a:hover { color: #676767; text-decoration: none; }

/* Modern footer — BEM */
.site-footer {
	--footer-bg: var(--color-dark-4);
	--footer-border: var(--color-border);
	--footer-text-primary: var(--color-light);
	--footer-text-muted: var(--color-muted);
	--footer-text-link: var(--color-muted-2);
	--footer-accent: var(--primary);
	--footer-accent-dim: var(--color-primary-dim);
	--footer-font-heading: var(--font-special);
	--footer-font-body: var(--font-primary);
	--footer-max-width: 1366px;
	--footer-padding-x: clamp(1.5rem, 5vw, 4rem);

	width: 100%;
	background-color: var(--footer-bg);
	border-top: 1px solid var(--footer-border);
	font-family: var(--footer-font-body);
	color: var(--footer-text-primary);
}

/* Body */
.site-footer__body {
	max-width: var(--footer-max-width);
	margin-inline: auto;
	padding: clamp(3rem, 6vw, 5rem) var(--footer-padding-x) clamp(1.25rem, 2.5vw, 2rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 1rem;
}
.site-footer__nav-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
}

/* Brand Column */
.site-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
}
.site-footer__logo {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	text-decoration: none;
}
.site-footer__logo-mark {
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	filter: brightness(0) invert(1);
}
.site-footer__logo-name {
	font-family: var(--font-primary);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--footer-text-primary);
	letter-spacing: -0.02em;
}
.site-footer__tagline {
	font-size: 0.875rem;
	font-weight: 300;
	line-height: 1.65;
	color: var(--footer-text-muted);
	max-width: 44ch;
}

/* Social */
.site-footer__social {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	list-style: none;
	flex-wrap: wrap;
	padding-inline-start: 0px;
}
.site-footer__social-label {
	font-size: 0.78rem;
	font-weight: 300;
	color: var(--footer-text-muted);
}
.site-footer__social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	color: var(--footer-text-muted);
	background: transparent;
	border: 1px solid transparent;
	text-decoration: none;
	transition: color var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);
}
.site-footer__social-link:hover,
.site-footer__social-link:focus-visible {
	color: var(--footer-accent);
	background: var(--footer-accent-dim);
	border-color: var(--footer-accent-dim);
	outline: none;
}
.site-footer__social-link:focus-visible {
	outline: 2px solid var(--footer-accent);
	outline-offset: 2px;
}
.site-footer__social-icon {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

/* Nav Columns — override global nav mobile positioning */
.site-footer nav,
.site-footer__nav {
	position: static;
	width: auto;
	max-width: none;
	gap: 0;
	height: auto;
	background: transparent;
	backdrop-filter: none;
	padding: 0;
	transition: none;
}
.site-footer__nav {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.site-footer__nav-label {
	font-family: var(--footer-font-heading);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--footer-text-primary);
	margin-bottom: 0.5rem;
}
.site-footer__nav-subtitle {
	font-size: 0.78rem;
	font-weight: 300;
	color: var(--footer-text-muted);
	line-height: 1.5;
	margin-bottom: 1rem;
}
.site-footer__nav-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding-inline-start: 0px;
}
.site-footer__nav-link {
	font-size: 0.9rem;
	font-weight: 300;
	color: var(--footer-text-link);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	transition: color var(--transition-fast), gap var(--transition-fast);
	position: relative;
}
.site-footer__nav-link::before {
	content: '';
	display: inline-block;
	width: 0;
	height: 1px;
	background: var(--footer-accent);
	transition: width var(--transition-fast);
	position: absolute;
	bottom: -2px;
	left: 0;
}
.site-footer__nav-link:hover,
.site-footer__nav-link:focus-visible {
	color: var(--footer-text-primary);
	outline: none;
}
.site-footer__nav-link:hover::before,
.site-footer__nav-link:focus-visible::before {
	width: 100%;
}
.site-footer__nav-link:focus-visible {
	outline: 2px solid var(--footer-accent);
	outline-offset: 3px;
	border-radius: 2px;
}

/* Divider */
.site-footer__divider {
	max-width: calc(var(--footer-max-width) - var(--footer-padding-x) * 2);
	margin-inline: auto;
	height: 1px;
	background: var(--footer-border);
}

/* Bottom Bar */
.site-footer__bottom {
	max-width: var(--footer-max-width);
	margin-inline: auto;
	padding: 1.5rem var(--footer-padding-x);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	align-items: center;
	justify-content: space-between;
}
.site-footer__copyright {
	font-size: 0.8rem;
	font-weight: 300;
	color: var(--footer-text-muted);
	letter-spacing: 0.01em;
	text-align: center;
}
.site-footer__copyright-brand {
	color: var(--footer-text-link);
}
.site-footer__legal-links {
	display: flex;
	gap: 1.5rem;
	list-style: none;
	flex-wrap: wrap;
	justify-content: center;
}
.site-footer__legal-link {
	font-size: 0.78rem;
	font-weight: 300;
	color: var(--footer-text-muted);
	text-decoration: none;
	transition: color var(--transition-fast);
}
.site-footer__legal-link:hover,
.site-footer__legal-link:focus-visible {
	color: var(--footer-text-link);
	outline: none;
}
.site-footer__legal-link:focus-visible {
	outline: 2px solid var(--footer-accent);
	outline-offset: 3px;
	border-radius: 2px;
}

/* Footer Responsive — 600px+ */
@media (min-width: 600px) {
	.site-footer__bottom { flex-direction: row; }
	.site-footer__copyright { text-align: left; }
	.site-footer__legal-links { justify-content: flex-end; }
}

/* Footer Responsive — 768px+ */
@media (min-width: 768px) {
	.site-footer__body {
		flex-direction: row;
		align-items: flex-start;
		text-align: left;
		gap: 3rem;
	}
	.site-footer__nav-group {
		flex-direction: row;
		align-items: flex-start;
		gap: 4rem;
		margin-left: auto;
	}
	.site-footer__nav { flex: 1 1 0; min-width: 0; }
	.site-footer__brand { align-items: flex-start; flex-shrink: 0; }
	.site-footer__nav { align-items: flex-start; text-align: left; }
}


/* ==========================================================================
   17. Comments
   ========================================================================== */
.comments { display: inline-block; width: 100%; }
.comments .comments-list { display: inline-block; width: 100%; padding: 15px; border: 1px solid #444; background: var(--color-comment-bg); margin-bottom: 15px; }
.comments .comments-list ul { display: inline-block; width: 100%; list-style: none; padding: 0; margin: 0; }
.comments .comments-list ul > li > ul { padding-left: 30px; margin-top: 10px; }
.comments .comments-list ul li { display: inline-block; width: 100%; margin-bottom: 10px; background-color: #FFF; color: #111; }
.comments .comments-list ul li:last-child { border-bottom: 0; margin-bottom: 0; }
.comments .comments-list ul li .date { display: inline-block; }
.comments .comments-list ul li .member-name { display: inline-block; color: var(--accent); font-weight: 700; }
.comments .comments-list ul li .text { display: inline-block; width: 100%; line-height: 140%; }
.comments .comments-form { display: inline-block; width: 100%; margin-bottom: 15px; }


/* ==========================================================================
   18. Special Offers
   ========================================================================== */
.special-offer-block {
	background: #979797;
	width: 440px;
	float: right;
	text-align: center;
	padding: 10px;
}
.special-offer-block h3 {
	padding: 15px;
	margin: 0;
	background: #fff;
	font-weight: 600;
	font-size: 35px;
	line-height: 35px;
	color: #1d1d1d;
}
.special-offer-block h3 .fa {
	font-size: 22px;
	color: var(--primary);
	padding: 0 10px;
	display: inline-block;
	vertical-align: middle;
	position: relative;
	top: -4px;
}
.special-offer-block h2 {
	font-family: var(--font-brand);
	margin: 0;
	padding: 5px 0;
	font-weight: 700;
	font-size: 85px;
	line-height: 85px;
	color: #fff;
}
.special-offer-block h4 {
	font-family: var(--font-brand);
	margin: 0;
	padding: 0 0 20px 0;
	font-weight: 400;
	font-size: 30px;
	line-height: 30px;
	color: #fff;
}
.special-offer-block .btn {
	font-size: 35px;
	line-height: 35px;
	background: var(--primary);
	font-family: var(--font-brand);
	font-weight: 700;
	color: #fff;
	padding-left: 30px;
	padding-right: 30px;
	padding-top: 15px;
	padding-bottom: 15px;
	border-radius: 10px;
	min-width: 325px;
	margin-bottom: 10px;
}
.special-offer-block .btn img {
	position: relative;
	vertical-align: middle;
	top: -3px;
}

/* Scroll to Top */
.scroll_up {
	position: fixed;
	bottom: 40px;
	right: 40px;
	z-index: 999;
	width: 30px;
	height: 30px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
	background-color: var(--accent);
	border-radius: 30px;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: background var(--transition-normal), opacity var(--transition-normal), visibility var(--transition-normal);
}
.scroll_up.show { opacity: 1; visibility: visible; }
.scroll_up i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%, -50%, 0);
	color: #fff;
	font-size: 16px;
}


/* ==========================================================================
   19. Tour Header
   ========================================================================== */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #000;
	z-index: 1000;
	padding: 0.5rem 1rem;
}

.tour-header__container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.tour-header__logo {
	height: 30px;
	width: auto;
}

.tour-header__logo img {
	height: 100%;
	width: auto;
	display: block;
}

.tour-header__logo picture {
	height: 100%;
	display: block;
}

nav {
	display: flex;
	align-items: center;
	gap: 2rem;
}

.nav-list {
	display: flex;
	list-style: none;
	align-items: center;
	gap: 2rem;
	margin-bottom: 0;
}

.nav-list li a {
	font-family: var(--font-primary);
	text-decoration: none;
	color: var(--color-light);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	transition: color var(--transition-normal);
}

.nav-list li a:hover {
	color: var(--secondary);
}

.tour-header__cta-button {
	padding: 0.25rem 0.5rem;
	background: var(--primary);
	color: var(--color-light);
	text-decoration: none;
	border-radius: var(--radius-sm);
	font-family: var(--font-primary);
	font-weight: 600;
	text-transform: uppercase;
	transition: background var(--transition-normal);
	white-space: nowrap;
}

.tour-header__cta-button:hover {
	background: var(--secondary);
	color: #f7f7f7;
}

/* Hamburger Menu */
.tour-header__hamburger {
	display: none;
	flex-direction: column;
	cursor: pointer;
	gap: 6px;
	padding: 8px;
}

.tour-header__hamburger span {
	width: 30px;
	height: 3px;
	background: var(--color-light);
	transition: all var(--transition-normal);
	display: block;
}


/* ==========================================================================
   20. ELX Overrides
   ========================================================================== */
.tags_filter_trigger { float: none; display: inline-block; vertical-align: top; margin: 0px 0px 10px 0px; }
.tags_filter { margin-top: 20px; }
.tags_filter ul.tags_filter_list { display: flex; flex-wrap: wrap; justify-content: space-between; }

.update-info {}
.update-info .update-info-block { display: inline-block; width: 100%; margin-bottom: 30px; }
.update-info .update-info-block h3 {
	font-size: 1.2em;
	line-height: 1.2em;
	letter-spacing: -.022em;
	font-weight: 600;
}
.update-info .update-info-block a.btn-huge { font-size: 60px; border-radius: 60px; font-weight: 700; }

/* Join Page */
.join-page { padding: 55px 0; }
.join-page .section { display: block; padding: 0 0 20px 0; }
.join-page .join-section-title { display: inline-block; width: 100%; margin-bottom: 15px; }
.join-page .join-section-title h3 { text-transform: uppercase; font-size: 1.5rem; font-weight: 400; margin: 0; }
.join-page .form-group label { margin-bottom: .1rem; }
.join-page .join_error { padding: .25rem .5rem; font-size: 13px; margin-top: 4px; }
.join-page .form-group .input-group-text { min-width: 42px; text-align: center; background-color: #FFF; border-color: #d9d9d9; }
.join-page .form-group .input-group-text i.fa { margin: 0 auto; }
.join-page .form-group .form-control { background-color: var(--color-input-bg); border-color: #d9d9d9; }
.join-page .coupon_code_form { display: none; }

ul.payment-options { display: inline-block; width: 100%; text-align: left; margin: 0; padding: 0; margin-bottom: 4px; }
ul.payment-options li { display: block; background-color: var(--color-input-bg); padding: .375rem .75rem; cursor: pointer; border: 1px solid #d9d9d9; color: #000; box-sizing: border-box; margin-bottom: 4px; border-radius: .25rem; }
ul.payment-options li:last-child { margin-bottom: 0px; }
ul.payment-options li.nopadding { padding: 0; }
ul.payment-options li.active { background-color: var(--primary); color: #FFF; }
ul.payment-options li label, ul.payment-options li label span { cursor: pointer; text-transform: uppercase; font-size: 1rem; font-weight: 300; margin: 0; }
ul.payment-options li .selectric .label { line-height: 50px; height: 50px; }
ul.payment-options li .selectric .label { font-size: 20px; font-weight: 300; margin-left: 40px; }
ul.payment-options li .selectric-items li { background: #f1f1f1; text-transform: uppercase; font-size: 16px; }
ul.payment-options li .selectric-items li:hover { background: #333; color: #FFF; }

ul.join-options { display: inline-block; width: 100%; text-align: left; margin: 0; padding: 0; }
ul.join-options li { display: inline-block; width: 100%; background-color: var(--color-input-bg); padding: 6px; cursor: pointer; border: 1px solid #d9d9d9; color: #000; box-sizing: border-box; margin-bottom: 4px; border-radius: .25rem; }
ul.join-options li.active { background-color: var(--primary); color: #FFF; }
ul.join-options li label, ul.join-options li label span { display: block; cursor: pointer; text-transform: uppercase; font-size: 20px; font-weight: 300; position: relative; line-height: 100%; margin: 0; }
ul.join-options li span.label { display: inline-block; vertical-align: top; font-size: 24px; font-weight: 700; margin-top: 15px; letter-spacing: -1px; }
ul.join-options li span.desc { display: inline-block; vertical-align: top; font-size: 12px; font-weight: 300; position: absolute; top: 50px; left: 45px; }
ul.join-options li span.extra { display: inline-block; font-size: 14px; font-weight: 300; padding: 5px 10px; background-color: var(--primary); position: absolute; top: 25px; right: 140px; color: #FFF; border-radius: 50px; }
ul.join-options li span.price { float: right; background: none; padding: 10px 0; text-align: center; width: 130px; position: relative; font-size: 0; letter-spacing: -1px; color: var(--primary); border-radius: .25rem; }
ul.join-options li span.price span.price-symbol,
ul.join-options li span.price span.price-small { display: inline-block; vertical-align: top; font-size: 20px; margin-top: 8px; }
ul.join-options li span.price span.price-big { display: inline-block; vertical-align: top; font-size: 60px; font-weight: 400; margin: 0 5px; }
ul.join-options li span.price i { font-style: normal; }
ul.join-options li span.price span.price-below { display: inline-block; vertical-align: top; font-size: 14px; position: absolute; bottom: 15px; left: 100%; }
ul.join-options li span.price span.price-bestoffer { display: inline-block; width: 100%; position: absolute; top: -15px; left: 5px; }
ul.join-options li span.price span.price-bestoffer i { display: inline-block; padding: 1px 10px; border-radius: 5px; text-align: center; color: #000; font-size: 12px; letter-spacing: 1px; }
ul.join-options li span.price span.price-bestoffer i {
	background: #fae17b;
	background: linear-gradient(to right, #fae17b 0%, #ffb042 100%);
}
ul.join-options li input[type="radio"] { display: inline-block; margin-top: 35px; margin-left: 15px; margin-right: 10px; opacity: 0; }
ul.join-options li.active span.extra, ul.join-options li.active span.price { background: none; color: #FFF; }
ul.join-options li.active span.extra { background: #FFF; color: var(--primary); }
ul.join-options li.active input[type="radio"] { opacity: 1; }

.join-page .secure { display: inline-block; width: 100%; text-align: center; padding-top: 15px; border-top: 1px solid #d9d9d9; }
.join-page .secure img { display: inline-block; margin-right: 10px; vertical-align: top; }
.join-page .secure .secure-text { display: inline-block; font-size: 11.5px; text-align: center; font-weight: 400; color: #838383; }
.join-page .secure .secure-text strong { font-size: 14px; text-align: center; font-weight: 400; color: #34cc71; }
.join-page .secure .secure-text a { color: #838383 !important; }
.join-page .secure .secure-text a:hover { color: #222 !important; text-decoration: underline; }


/* ==========================================================================
   21. Responsive — 1200px+
   ========================================================================== */
@media screen and (min-width: 1025px) {
	.scroll_up:hover { background-color: #1d2022; }
	.section-title {
		display: inline-block;
		font-size: 1.8rem;
		line-height: 1.6rem;
		letter-spacing: -.022rem;
	}
	.model-name { text-transform: uppercase; font-weight: normal; }
}


/* ==========================================================================
   22. Responsive — 992px and below
   ========================================================================== */
@media only screen and (min-width: 992px) {
	.navbar-nav > li > a { font-size: 1rem; margin: 0 .5rem; letter-spacing: .04rem; }
	#navbarNav .btn-primary { margin: 0rem 1rem; }
}
@media only screen and (max-width: 992px) {
	#navbarNav ul { padding: 1rem 0; }
	#navbarNav ul li { padding: 1rem 0; }
	.btn-primary { font-size: 2rem; }
}

@media screen and (max-width: 1000px) {
	.scroll_up i { font-size: 16px; }
}

@media screen and (max-width: 870px) {
	.trailer_overlay .middle .trailer_box { width: 96%; }
}

@media screen and (max-width: 1280px) {
	.update-info .update-info-block a.btn-huge { font-size: 30px; }
}


/* ==========================================================================
   23. Responsive — 768px and below
   ========================================================================== */
@media only screen and (max-width: 768px) {
	.container-wide { padding-left: 15px; padding-right: 15px; }
}

@media (min-width: 768px) {
	.navbar .btn-theme { font-size: 1.2rem; width: auto; }
	.navbar-toggler-icon { margin-right: 10px; }
}
@media only screen and (min-width: 768px) {
	.btn-special {
		font-size: clamp(2.2rem, 1.5482rem + 1.3598vw, 2.5rem);
	}
}

@media screen and (max-width: 767px) {
	.scroll_up { width: 40px; height: 40px; }
	.sorting-options { margin-bottom: 10px; }
	.btn-red-with-round {
		font-size: 1.6rem;
		line-height: 24px;
		padding-left: 0;
		padding-right: 0;
		padding: 20px 60px;
		white-space: normal;
	}
	.pagination li.hidden-sm { display: none; }
	.trailer_overlay .middle .trailer_box { padding: 10px; }
	.trailer_overlay .middle .trailer_box h3 { font-size: 14px; }
	.trailer_overlay .middle .trailer_box p { font-size: 12px; line-height: 120%; }
	.trailer_overlay .middle .trailer_box i.trailer_lock { max-width: 20px; }

	ul.payment-options li { padding: 10px 15px; }
	ul.payment-options li label, ul.payment-options li label span { font-size: 16px; }
	ul.join-options li input[type="radio"],
	ul.join-options li.active input[type="radio"] { opacity: 0; display: none; }
	ul.join-options li span.label { width: 100%; text-align: center; }
	ul.join-options li span.desc { width: 100%; text-align: center; position: relative; top: 0; left: 0; }
	ul.join-options li span.price { width: 100%; }
	ul.join-options li span.extra { top: -15px; right: auto; left: 15px; }
	ul.join-options li span.price span.price-bestoffer { top: 65px; }
}

/* Tour header responsive */
@media (max-width: 768px) {
	.body-div { padding-top: 54px; }
	.tour-header__container {
		display: grid;
		grid-template-columns: auto 1fr auto;
		align-items: center;
		gap: 1rem;
	}
	.tour-header__hamburger {
		display: flex;
		grid-column: 1;
	}
	.tour-header__logo {
		height: 30px;
		grid-column: 2;
		justify-self: center;
	}
	nav {
		position: fixed;
		top: calc(30px + 1rem);
		left: -100%;
		width: 100%;
		max-width: none;
		height: 12rem;
		background: rgba(0, 0, 0, 0.8);
		backdrop-filter: blur(6px);
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 2rem;
		gap: 1rem;
		transition: left var(--transition-normal);
	}
	nav.active { left: 0; }
	.nav-list {
		flex-direction: column;
		align-items: center;
		gap: 1.5rem;
		width: 100%;
		padding-inline-start: 0px;
	}
	.nav-list li { width: auto; text-align: center; }
	.nav-list li a {
		display: block;
		padding: 0.5rem 1rem;
		font-size: 1.1rem;
	}
	.tour-header__cta-button {
		font-size: 1.25rem;
		width: auto;
		text-align: center;
		display: inline-block;
		padding: 0.75rem 2rem;
	}
	/* Hamburger Animation */
	.tour-header__hamburger.active span:nth-child(1) {
		transform: rotate(45deg) translate(4px, 4px);
	}
	.tour-header__hamburger.active span:nth-child(2) { opacity: 0; }
	.tour-header__hamburger.active span:nth-child(3) {
		transform: rotate(-45deg) translate(9px, -9px);
	}
}

@media only screen and (max-width: 576px) {
	.btn-special {
		font-size: 1.5rem;
		line-height: 1.2em;
		letter-spacing: 0;
		padding: 0.5rem 1rem;
	}
	.site-identity-subhead { letter-spacing: 3px; }
}


/* ==========================================================================
   24. Responsive — 480px and below
   ========================================================================== */
@media (max-width: 480px) {
	.tour-header__logo { height: 30px; }
	nav { top: calc(30px + 1rem); }
	.nav-list li a { font-size: 1rem; }

	.navbar .btn-theme { font-size: 1rem; }
	.navbar-toggler-icon { font-size: 1.2rem; }

	.trailer_overlay .middle .trailer_box { width: 100%; }
	.trailer_overlay .middle .trailer_box h3 { width: auto; padding: 0; vertical-align: middle; }
	.trailer_overlay .middle .trailer_box p { margin-top: 10px; }

	ul.payment-options li { padding: 10px; }
	ul.payment-options li label, ul.payment-options li label span { font-size: 14px; }
	ul.join-options li span.label { font-size: 20px; margin-bottom: 5px; }

	.join-page .secure img { margin: 0 0 10px; }
	.join-page .secure .secure-text { width: 100%; }
}

@media only screen and (max-width: 479px) {
	.search {
		padding: 0;
		order: 4;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		padding: 10px;
		box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.1);
	}
	.button_search_close { display: none; }
	.update-info .update-info-block a.btn-huge { font-size: 18px; }
}

@media only screen and (max-width: 360px) {
	.navbar .btn { font-size: .8rem; }
}
