/* ==========================================================================
   Custom Styles — Hot Milfs Fuck (site4_hmf)
   Source of truth for both Tour and Members areas.
   ==========================================================================

   TABLE OF CONTENTS
   --------------------------------------------------------------------------
   1.  Design Tokens (CSS Custom Properties)
   2.  Font Faces
   3.  Base & Reset
   4.  Typography
   5.  Links & Transitions
   6.  Header & Navigation (Shared)
   7.  Buttons
   8.  Sections & Layout Utilities
   9.  News Ticker
   10. CTA Text & Responsive Text
   11. Site Identity
   12. Page Titles
   13. Blog
   14. Tour Identity (Tour-only)
   15. Call To Action
   16. Gallery & Scene Details
   17. Comments
   18. Model Bio & Cards
   19. Trial Page (Members-only)
   20. Grid & Item Updates
   21. Sticker Section (Swiper)
   22. Tags Filter
   23. Members Area Specific
   24. Deals Page
   25. Counter / Countdown (Tour)
   26. Trailer Page & Tags
   27. Footer
   28. Back To Top
   29. Pagination
   30. Trailer Upgrade Overlay
   31. Search Bar
   32. ELX Style Overrides
   33. Models Page
   34. Join Page (Members-only)
   35. Section Title (Decorative)
   35. Identity Section (Animated)
   36. CTA Button & 4K CTA
   38. Animations
   39. Responsive — 1499px and below
   40. Responsive — 1280px and below
   41. Responsive — 1199px and below
   42. Responsive — 991px and below
   43. Responsive — 992px (navbar collapse)
   44. Responsive — 767px and below
   45. Responsive — 640px and below
   46. Responsive — 576px and above (min-width)
   47. Responsive — 480px and below
   48. Responsive — Small devices (425px and below)
   ========================================================================== */


/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */
:root {
	/* Colors — Brand */
	--primary: hsl(10, 100%, 41%);
	--secondary: hsl(10, 100%, 31%);

	/* Colors — Neutrals (light) */
	--color-light: hsl(0, 0%, 100%);
	--color-light-4: hsl(0, 0%, 95%);
	--color-light-3: hsl(0, 0%, 90%);
	--color-light-2: hsl(0, 0%, 85%);
	--color-light-1: hsl(0, 0%, 80%);

	/* Colors — Neutrals (dark) */
	--color-dark: hsl(0, 0%, 0%);
	--color-dark-4: hsl(0, 0%, 5%);
	--color-dark-3: hsl(0, 0%, 10%);
	--color-dark-2: hsl(0, 0%, 15%);
	--color-dark-1: hsl(0, 0%, 20%);

	/* Colors — Borders & Dividers */
	--color-border: #2a2a2a;
	--color-divider: #444444;

	/* Colors — Semantic */
	--color-success: #34cc71;
	--color-muted: #868686;

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

	/* Typography — Fluid Headings */
	--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);

	/* Typography — Fluid Body */
	--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);

	/* Spacing */
	--space-xs: 0.5rem;
	--space-s: 0.75rem;
	--space-m: 1rem;
	--space-l: 1.5rem;
	--space-xl: 2rem;

	/* Transitions */
	--transition-fast: 0.15s ease-in-out;
	--transition-normal: 0.3s ease-in-out;

	/* Border Radius */
	--radius-sm: 0.25rem;
	--radius-md: 0.375rem;
}


/* ==========================================================================
   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, html {
	max-width: 100%;
	overflow-x: hidden;
}
body {
	font-size: var(--text-size-m);
	font-family: var(--font-primary);
	background-color: var(--color-dark-4);
	color: var(--color-light);
}
img { max-width: 100%; height: auto; }
.tour { padding-top: 56px; }


/* ==========================================================================
   4. TYPOGRAPHY
   ========================================================================== */
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-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;
}


/* ==========================================================================
   5. LINKS & TRANSITIONS
   ========================================================================== */
a { color: var(--primary); }
a:hover { color: var(--secondary); }
p > a { color: var(--primary); text-decoration: none; }
p > a:hover { color: var(--color-light); text-decoration: underline; }
a, .item .content-div {
	transition: all 200ms ease-in-out;
}
.highlight { color: var(--primary) !important; }
.notification { background-color: var(--secondary); font-size: 1.4rem; font-weight: 600; color: var(--color-light); }
.text-primary { color: var(--primary) !important; }
.text-secondary { color: var(--secondary) !important; }
.special-font { font-family: var(--font-special); font-size: clamp(3rem, 1.7309rem + 1.813vw, 4rem); text-transform: uppercase; }


/* ==========================================================================
   6. HEADER & NAVIGATION (Shared)
   ========================================================================== */
.top-header { background-color: var(--color-dark-3); padding: .25rem 0; }
.top-header .menu {
	display: flex;
	margin: 0 auto;
	padding: 0 1.5rem;
	gap: 1rem;
	justify-content: flex-end;
	list-style: none;
}
.top-header .menu-item { line-height: 1; }
.top-header .menu-item a {
	color: var(--color-light-4);
	font-size: var(--text-size-xs);
	text-transform: uppercase;
	text-decoration: none;
	transition: color var(--transition-normal);
	cursor: pointer;
}
.top-header .menu-item a:hover { color: var(--primary); text-decoration: underline; }

.navbar-dark { background-color: var(--color-dark); }
.members .navbar-dark { background-color: var(--color-dark); }
.navbar-brand { margin-right: 0; }
.navbar-brand span { display: none; }
.navbar-dark .navbar-toggler { border: none; }
.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") !important;
}
.navbar-toggler { padding: .15em; font-size: 1.2rem; line-height: 1; }
.navbar-nav > li > a {
	font-size: clamp(1.125rem, 1.0611rem + 0.2557vw, 1.2656rem);
	font-weight: 600;
	margin: 0 1rem 0 0;
	background-color: transparent;
	color: var(--color-light);
	display: inline-block;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
	border: none;
}
.navbar-nav li a::after {
	content: '';
	position: absolute;
	width: 100%;
	transform: scaleX(0);
	height: 3px;
	top: 25px;
	left: 0;
	background-color: var(--primary);
	transform-origin: bottom right;
	transition: transform 0.25s ease-out;
}
.navbar-nav li.active > a::after,
.navbar-nav li a:hover::after {
	transform: scaleX(1);
	transform-origin: bottom left;
}
.navbar-search { font-size: 1.125rem; }

.trial .nav > li > a:focus, .nav > li > a:hover { color: var(--color-light) !important; }
.trial .navbar-main .navbar-nav > li.active > a { background-color: transparent !important; color: var(--color-light); }
.icon { vertical-align: middle; font-size: 40px; }


/* ==========================================================================
   7. BUTTONS
   ========================================================================== */
.btn {
	font-weight: 600;
	text-transform: uppercase;
	padding: 0.25em 0.5em;
	transition: all 200ms ease-in-out;
}
.btn.focus, .btn:focus { outline: 0; 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 {
	background-color: var(--primary);
	border: none;
}
.btn-primary:hover {
	background-color: var(--secondary);
	border: none;
}
.btn:not(:disabled):not(.disabled).active:focus,
.btn:not(:disabled):not(.disabled):active:focus,
.show > .btn.dropdown-toggle:focus { box-shadow: none; }
.btn-primary.focus, .btn-primary:focus,
.btn-default.focus, .btn-default:focus {
	background-color: var(--secondary);
	border-color: var(--secondary);
	box-shadow: none;
}
.btn-outline-primary {
	color: var(--color-light);
	background-color: transparent;
	border-color: var(--primary);
}
.btn-outline-primary:hover {
	background-color: transparent;
	border-color: var(--secondary);
}
.trial .btn-outline-success { font-family: var(--font-special); font-weight: 400; border-radius: 0; }
.btn-default { background-color: var(--primary); color: var(--color-light); border: 1px solid var(--primary); font-weight: 600; }
.btn-default:hover { background: var(--secondary); color: var(--color-light); border: 1px solid var(--secondary); }

.btn-nav {
	background-color: var(--primary);
	font-size: clamp(0.8333rem, 0.7576rem + 0.303vw, 1.125rem);
	font-weight: 700;
	color: var(--color-light);
	padding: .25rem .5rem;
	line-height: 1.2;
	border-radius: var(--radius-sm);
	text-decoration: none;
	text-transform: uppercase;
	transition: all var(--transition-normal);
	cursor: pointer;
	box-shadow: 0 4px 12px hsla(10, 100%, 31%, 0.3);
	border: none;
}
.btn-nav:hover,
.btn-nav:focus {
	background: var(--secondary);
	background: linear-gradient(150deg, var(--secondary) 0%, var(--primary) 100%);
	transform: translateY(-2px);
	text-decoration: none;
	color: var(--color-light);
	border: none;
}
.btn-nav:active {
	transform: translateY(0);
}
.btn-cta {
	font-family: var(--font-special);
	font-size: var(--text-size-xl);
	text-transform: uppercase;
	box-shadow: none !important;
	letter-spacing: .1rem;
	color: var(--color-light) !important;
	font-weight: 600;
	border-radius: .25em;
	background: var(--primary);
	background: linear-gradient(180deg, var(--primary) 0%, var(--secondary) 100%);
	text-wrap: balance;
}
.btn-cta:hover {
	background: var(--secondary);
	background: linear-gradient(180deg, var(--secondary) 0%, var(--primary) 100%);
}


/* ==========================================================================
   8. SECTIONS & LAYOUT UTILITIES
   ========================================================================== */
.section-dark { padding: 1rem 0; background-color: var(--color-dark); }
.section-margin { margin: 1rem 0; }
.section-margin-2 { margin: 2rem 0; }
.section-margin-3 { margin: 3rem 0; }
.section-padding { padding: 1rem 0; }
.section-padding-2 { padding: 2rem 0; }
.section-padding-3 { padding: 3rem 0; }
.section-offcolor { padding: 1rem 0; background-color: var(--color-dark-2); }
.section-offcolor-alt { padding: .5rem 0; background-color: var(--color-dark-1); }
.p-tb-50 { padding: 50px 0px; }
.pb-30 { padding-bottom: 30px; }
.pb-70 { padding-bottom: 70px; }
.pt-70 { padding-top: 70px; }


/* ==========================================================================
   9. NEWS TICKER
   ========================================================================== */
.news { padding: .5rem; }
.news__wrapper { display: flex; align-items: center; justify-content: center; gap: .5rem; }
.news__ticker-text { color: var(--color-light); font-size: var(--text-size-m); line-height: 1.5; }
.news__ticker-text a { color: var(--color-light); text-decoration: underline; }
.news__ticker-text a:hover { color: var(--color-light-4); text-decoration: none; }
.news__btn {
	text-decoration: none !important;
	letter-spacing: -.022em;
	padding: 0.25rem 0.5rem;
	background-color: var(--success);
	color: var(--color-light);
	line-height: 1;
}
.news__ticker-title { color: var(--color-light); background-color: var(--danger); padding: .25rem .5rem; border-radius: 0.25em; }


/* ==========================================================================
   10. CTA TEXT & RESPONSIVE TEXT
   ========================================================================== */
.cta-text {
	font-family: var(--font-brand);
	text-transform: uppercase;
	font-size: 1.2rem;
	line-height: 1.6rem;
	letter-spacing: 1px;
	font-weight: 200;
	overflow: hidden;
	margin: 1rem 0;
}
.cta-text span {
	padding: 0 15px;
	border-right: 1px solid var(--color-divider);
}
.cta-text span:last-child { border: none; }

.rt-regular { font-size: clamp(1.8rem, 1.3654rem + 0.9065vw, 2rem); }
.rt-large { font-size: clamp(3rem, 1.7309rem + 1.813vw, 4rem); }


/* ==========================================================================
   11. SITE IDENTITY
   ========================================================================== */
.identity {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.identity--header {
	font-size: var(--text-size-2xl);
	text-transform: uppercase;
	transition: all 0.2s ease;
}
.identity--subheader {
	font-style: normal;
	font-size: var(--text-size-l);
	font-weight: 300;
	letter-spacing: 0.375rem;
	text-transform: uppercase;
	order: -1;
}
.identity--intro {
	font-size: var(--text-size-xl);
	font-weight: 400;
}
.site-identity-subhead {
	font-family: var(--font-brand);
	font-weight: 300;
	letter-spacing: 6px;
	text-transform: uppercase;
	text-wrap: balance;
}
.site-identity-head {
	font-family: var(--font-brand);
	font-weight: 600;
	text-transform: uppercase;
}


/* ==========================================================================
   12. PAGE TITLES
   ========================================================================== */
.page-title {
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.page-title__heading {}
.page-title__subheading {
	font-family: var(--font-brand);
	font-size: var(--text-size-l);
	font-weight: 300;
}
.title-heading {
	font-size: clamp(1.8rem, 1.3654rem + 0.9065vw, 3rem);
	line-height: 1;
	letter-spacing: 4px;
	text-transform: uppercase;
	margin-bottom: 0;
}
.title-subheading {
	font-size: clamp(1.6rem, 1.2741rem + 0.6799vw, 1.75rem);
	font-weight: 400;
	line-height: 2rem;
	margin-bottom: 0;
}
.title-subheading-small {
	font-size: clamp(1.2rem, 1.0914rem + 0.2266vw, 1.25rem);
	font-weight: 400;
	line-height: 1.6;
	margin-bottom: 0;
}


/* ==========================================================================
   13. BLOG
   ========================================================================== */

/* Blog Container */
.blog-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: var(--space-l) var(--space-m) var(--space-xl);
}

/* Archive Header */
.blog-archive__header {
	margin-bottom: 3rem;
}
.blog-archive__title {
	font-family: var(--font-brand);
	font-size: var(--h3);
	font-weight: 600;
	text-transform: uppercase;
	margin: 0;
}
.blog-archive__subtitle {
	font-size: var(--text-size-m);
	color: var(--color-light-1);
	margin: var(--space-xs) 0 0 0;
}
.blog-archive__empty {
	font-size: var(--text-size-m);
	color: var(--color-light-1);
	padding: var(--space-xl) 0;
}

/* Blog Card (Archive Listing) */
.blog-card {
	padding: var(--space-l) 0;
	border-bottom: 1px solid var(--color-border);
}
.blog-card:first-child {
	padding-top: 0;
}
.blog-card__title {
	font-family: var(--font-brand);
	font-size: var(--h5);
	font-weight: 600;
	margin: 0 0 var(--space-xs) 0;
	line-height: 1.3;
}
.blog-card__title a {
	color: var(--color-light);
	text-decoration: none;
}
.blog-card__title a:hover {
	color: var(--primary);
}
.blog-card__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--space-s);
	margin-bottom: var(--space-m);
	font-size: var(--text-size-s);
	color: var(--color-light-1);
}
.blog-card__date {
	color: var(--color-muted);
}
.blog-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-xs);
}
.blog-card__tag {
	display: inline-block;
	padding: 0.125rem 0.5rem;
	font-size: var(--text-size-xs);
	font-weight: 600;
	color: var(--color-dark);
	background-color: var(--color-light-3);
	border-radius: var(--radius-sm);
	text-decoration: none;
	text-transform: lowercase;
}
.blog-card__tag:hover {
	background-color: var(--primary);
	color: var(--color-light);
	text-decoration: none;
}
.blog-card__excerpt {
	font-size: var(--text-size-m);
	line-height: 1.6;
	color: var(--color-light-2);
	margin-bottom: var(--space-m);
}
.blog-card__read-more {
	font-size: var(--text-size-s);
	font-weight: 600;
	color: var(--primary);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.blog-card__read-more:hover {
	color: var(--color-light);
}

/* Blog Single Post */
.blog-single {
	max-width: 800px;
	margin: 0 auto;
	padding: var(--space-l) 0;
}
.blog-single__back {
	display: inline-block;
	font-size: var(--text-size-s);
	color: var(--color-muted);
	text-decoration: none;
	margin-bottom: var(--space-l);
	transition: color var(--transition-fast);
}
.blog-single__back:hover {
	color: var(--primary);
}
.blog-single__header {
	margin-bottom: var(--space-xl);
	padding-bottom: var(--space-l);
	border-bottom: 1px solid var(--color-border);
}
.blog-single__title {
	font-family: var(--font-brand);
	font-size: var(--h3);
	font-weight: 600;
	margin: 0 0 var(--space-m) 0;
	line-height: 1.2;
}
.blog-single__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: var(--space-s);
	font-size: var(--text-size-s);
	color: var(--color-light-1);
}
.blog-single__date {
	color: var(--color-muted);
}
.blog-single__tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-xs);
}
.blog-single__tag {
	display: inline-block;
	padding: 0.125rem 0.5rem;
	font-size: var(--text-size-xs);
	font-weight: 600;
	color: var(--color-dark);
	background-color: var(--color-light-3);
	border-radius: var(--radius-sm);
	text-decoration: none;
	text-transform: lowercase;
}
.blog-single__tag:hover {
	background-color: var(--primary);
	color: var(--color-light);
	text-decoration: none;
}
.blog-single__body {
	font-size: var(--text-size-m);
	line-height: 1.7;
	color: var(--color-light-2);
}
.blog-single__body p {
	margin: 0 0 var(--space-l) 0;
}
.blog-single__body a {
	color: var(--primary);
	text-decoration: underline;
}
.blog-single__body a:hover {
	color: var(--color-light);
}
.blog-single__body img {
	border-radius: var(--radius-md);
	margin: var(--space-m) 0;
}

/* Blog Button */
.blog-btn {
	display: inline-block;
	margin: var(--space-xs) 0;
	padding: 0.5rem 1.25rem;
	font-size: var(--text-size-s);
	font-weight: 600;
	color: var(--color-light);
	background-color: var(--primary);
	border: none;
	border-radius: var(--radius-sm);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: all var(--transition-normal);
	cursor: pointer;
}
.blog-btn:hover,
.blog-btn:focus {
	background-color: var(--secondary);
	color: var(--color-light);
	text-decoration: none;
	transform: translateY(-1px);
}
.blog-btn:active {
	transform: translateY(0);
}

/* Blog Heading (WYSIWYG) */
.blog__heading {
	font-size: var(--text-size-m);
	font-weight: 600;
}

/* Blog WYSIWYG Content Classes (output by CMS editor) */
.blog__list {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--space-l) 0;
}
.blog__group-list {
	margin: 0 0 var(--space-m) 0;
}
.blog__list-item {
	margin-bottom: var(--space-xs);
}

/* Blog Responsive */
@media (max-width: 768px) {
	.blog-single {
		padding: var(--space-m) 0;
	}
	.blog-single__header {
		margin-bottom: var(--space-l);
		padding-bottom: var(--space-m);
	}
}
@media only screen and (max-width: 576px) {
	.btn-special {
		font-size: 1.5rem;
		line-height: 1.7rem;
		letter-spacing: 0;
		padding: 0.5rem 1rem;
	}
}
@media only screen and (min-width: 768px) {
	.btn-special {
		font-size: clamp(2.2rem, 1.5482rem + 1.3598vw, 2.5rem);
	}
}


/* ==========================================================================
   14. TOUR IDENTITY (Tour-only)
   ========================================================================== */
.tour-identity {
	font-size: clamp(2.4rem, 2.1231rem + 1.2308vw, 3rem);
	color: var(--color-light);
	font-family: var(--font-brand);
	text-transform: uppercase;
	font-weight: 600;
	white-space: normal;
}


/* ==========================================================================
   15. CALL TO ACTION
   ========================================================================== */
.identity a { color: var(--color-light); }
.identity a:hover { color: var(--color-light); text-decoration: none; }
.cta-btn {
	color: var(--color-light);
	font-size: 3em;
	padding-left: 20px;
	padding-right: 20px;
	white-space: normal;
	background-color: var(--primary);
	border-color: var(--primary);
}


/* ==========================================================================
   16. GALLERY & SCENE DETAILS
   ========================================================================== */
.player-section { background-color: var(--color-dark); }
.trailer-section-head { color: var(--color-light); }
ul.scene-details { list-style: none; padding-inline-start: 0px; }
.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;
}
.read-more, .read-less { color: var(--primary); font-weight: bold; }
#scene-info .description.hidden,
#scene-info .descriptionFull.hidden { display: none; }
#scene-info .description .read-more,
#scene-info .descriptionFull .read-less {
	font-style: italic;
	cursor: pointer;
}
.bio-img { box-shadow: 2px 2px 2px 1px rgba(78, 134, 242, .1); }
.video-player { position: relative; }


/* ==========================================================================
   17. COMMENTS
   ========================================================================== */
.comments { display: inline-block; width: 100%; }
.comments .comments-list { display: inline-block; width: 100%; padding: 15px; border: 1px solid var(--color-divider); background: var(--color-dark-3); 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: var(--color-light); color: var(--color-dark-3); }
.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(--primary); font-weight: 600; }
.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. MODEL BIO & CARDS
   ========================================================================== */
.category_model_thumb {
	width: 100%;
	height: auto;
	aspect-ratio: 1.2 / 1;
	object-fit: cover;
}
.model-bio__image {
	width: 100%;
	height: auto;
	aspect-ratio: 1.2 / 1;
	object-fit: cover;
}
.card { background-color: var(--color-dark-1); margin-bottom: 3%; }
.card__model-bio { flex: 1 1 auto; padding: 1em; }
.card__model-bio-thumb { border-top-left-radius: 4px; border-top-right-radius: 4px; width: 100%; height: auto; aspect-ratio: 1.2/1; object-fit: cover; }
.card__detail-div p { margin-bottom: 0; }
.card__detail-div, ul.card__scene-details { list-style: none; padding-inline-start: 0px; }
.bio-section { margin: 1.5rem 0; }
.related-section { margin: 1rem 0; }
.bio-section .img-div { text-align: center; }


/* ==========================================================================
   19. TRIAL PAGE (Members-only)
   ========================================================================== */
.upgrade-text {
	font-family: var(--font-special);
	font-size: 3.6rem;
	line-height: 100%;
	background: linear-gradient(45deg, var(--color-success), #0E7B00 80%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 0;
	transition: all 0.2s ease;
}


/* ==========================================================================
   20. GRID & ITEM UPDATES
   ========================================================================== */
.item { position: relative; margin-bottom: 30px; }
.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: var(--color-light);
	text-shadow: var(--color-dark-2) 0px 0px 20px;
	opacity: 0;
}
.item-update .img-div a:hover .item-icon { opacity: 0.4; }
.item-update .content-div { background-color: var(--color-dark-1); color: var(--color-light); padding: 0.5em; position: relative; }
.item-update .content-div h3 { margin: 0; padding: 0; list-style: none; font-size: 1.4rem; }
.item-update .content-div h3 a { color: var(--color-light); }
.item-update .content-div h3 a:hover { color: var(--primary); text-decoration: none; }
.item-update .content-div h4 { margin: 0; padding: 0; list-style: none; font-size: 1.25rem; }
.item-update .content-div h4 a { color: var(--color-light); }
.item-update .content-div h4 a:hover { color: var(--primary); text-decoration: none; }
.item-update .content-div .more-info-div { color: var(--color-muted); font-size: var(--text-size-s); }
.item-update .content-div .rating-div { color: var(--primary); font-size: 1rem; }


/* ==========================================================================
   21. STICKER SECTION (Swiper)
   ========================================================================== */
.swiper-container-sticker .swiper-slide {
	width: auto;
	border-left: 1px solid var(--color-muted);
	padding-left: 15px;
	padding-right: 15px;
	font-family: var(--font-brand);
	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 var(--color-light-2);
	border-bottom: 15px solid var(--color-dark);
}
.sticker-section .inner-div h2 {
	min-width: 350px;
	margin: 0;
	padding: 0;
	font-size: 25px;
	font-weight: 600;
}
.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: var(--color-divider);
	color: var(--color-light);
	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); }


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


/* ==========================================================================
   23. MEMBERS AREA SPECIFIC
   ========================================================================== */
.title-block { display: inline-block; width: 100%; margin-bottom: 10px; }
.section-title span { color: var(--primary); }
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 var(--color-dark-3);
	border-radius: 0;
}
.section-title .btn:hover { background-color: var(--color-dark-3); }
.latest-updates-section .row-col-padding-10 { margin-bottom: 60px; }
.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: 600px; }
.list-with-check {
	margin: 25px 0;
	padding: 20px 40px;
	list-style: none;
	font-size: 0;
	background-color: rgba(0, 0, 0, 0.8);
	border-radius: 15px;
}
.list-with-check li {
	width: 50%;
	display: inline-block;
	font-weight: 600;
	font-size: 21px;
	color: var(--color-light);
	text-align: left;
	padding: 5px;
	margin: 10px 0;
	vertical-align: top;
}
.list-with-check li i.fa { color: var(--primary); }
.row.col-5-div .col, .row.col-5-div .col-6 {
	flex: 0 0 20%;
	max-width: 20%;
}
.home-models-section .row-col-padding-10 { margin-bottom: 60px; }
.home-models-section .btn-red {
	font-size: 52px;
	line-height: 55px;
	padding: 30px 50px;
}
.home-models-section .s-bottom-btn { margin-bottom: 0; }

.list-with-check2 {
	max-width: 560px;
	margin: 25px auto;
	padding: 0;
	list-style: none;
	font-size: 0;
	border-radius: 15px;
}
.list-with-check2 li {
	width: 100%;
	font-weight: 600;
	font-size: 30px;
	color: var(--color-dark);
	text-align: left;
	padding: 13px;
	background-image: url(../images/g-img1.png);
	background-repeat: repeat-y;
	background-size: 100% auto;
	padding-left: 60px;
	margin: 40px 0;
	vertical-align: top;
	position: relative;
}
.list-with-check2 li:after {
	background-image: url(../images/check-icon.png);
	background-repeat: no-repeat;
	position: absolute;
	left: 15px;
	top: 8px;
	content: "";
	display: block;
	width: 30px;
	height: 30px;
}

.model-name {
	font-size: 2rem;
	line-height: 1.2em;
	font-weight: 600;
}
.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: 600;
	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 {
	color: var(--primary);
	font-size: 20px;
	margin-bottom: 10px;
}
.bio-section-head .left-content .detail-div { 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; }

.trailer-section-head .left-content { font-size: 16px; line-height: 24px; }
.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);
}

.special-offer-block {
	background: var(--color-muted);
	width: 440px;
	float: right;
	text-align: center;
	padding: 10px;
}
.special-offer-block h3 {
	padding: 15px;
	margin: 0;
	background: var(--color-light);
	font-weight: 600;
	font-size: 35px;
	line-height: 35px;
	color: var(--color-dark-1);
}
.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 {
	margin: 0;
	padding: 5px 0;
	font-weight: 600;
	font-size: 85px;
	line-height: 85px;
	color: var(--color-light);
}
.special-offer-block h4 {
	margin: 0;
	padding: 0 0 20px 0;
	font-weight: 400;
	font-size: 30px;
	line-height: 30px;
	color: var(--color-light);
}
.special-offer-block .btn {
	font-size: 35px;
	line-height: 35px;
	background: var(--primary);
	font-weight: 600;
	color: var(--color-light);
	padding: 15px 30px;
	border-radius: 10px;
	min-width: 325px;
	margin-bottom: 10px;
}
.special-offer-block .btn img {
	position: relative;
	vertical-align: middle;
	top: -3px;
}


/* ==========================================================================
   24. DEALS PAGE
   ========================================================================== */
.banner-text {
	font-size: 1.1rem;
	line-height: 1.4rem;
	font-weight: 600;
	letter-spacing: 1px;
	text-align: center;
	padding: 0.5rem 0;
}
#bannerAds a { color: var(--color-light); }
#bannerAds a:hover { color: var(--primary); text-decoration: none; }
#linkAds a {
	font-size: 1.3rem;
	line-height: 1.8rem;
	font-weight: 600;
	letter-spacing: 1px;
	color: var(--color-light);
	padding: 0.5rem 0;
}
#linkAds a:hover { color: var(--primary); text-decoration: none; }


/* ==========================================================================
   25. COUNTER / COUNTDOWN (Tour)
   ========================================================================== */
.jumbotron .container { z-index: 2; position: relative; }
.jumbotron { position: relative; overflow: hidden; background-color: var(--color-dark); }
.jumbotron video {
	position: absolute;
	z-index: 1;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .7;
}
.countdowner h4 { text-transform: uppercase; font-size: clamp(1.75rem, 0.872rem + 4.3902vw, 3rem); line-height: 1; text-shadow: 0 2px 4px rgba(0, 0, 0, .3); }
.countdowner span { font-size: 1.5rem; padding-bottom: 0px; line-height: 1.2; text-shadow: 0 2px 4px rgba(0, 0, 0, .3); }
.countdowner .cd_label { text-transform: uppercase; font-size: 1rem; text-shadow: 0 2px 4px rgba(0, 0, 0, .3); }
#cd_days, #cd_hours, #cd_minutes, #cd_seconds { display: block; }
.counter span { font-size: clamp(3rem, 2.2195rem + 3.9024vw, 5rem); padding-bottom: 0px; line-height: 1em; }
.counter .cd_label { text-transform: uppercase; font-size: 1rem; }


/* ==========================================================================
   26. TRAILER PAGE & TAGS
   ========================================================================== */
ul.tags { display: inline-block; width: 100%; text-align: left; margin: 1em 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-light-3); font-size: 1rem; padding: .25rem .5rem; border-radius: var(--radius-sm); color: var(--color-dark); font-weight: 700; }
ul.tags li a:hover { background-color: var(--primary); color: var(--color-light); text-decoration: none; }


/* ==========================================================================
   27. FOOTER
   ========================================================================== */
.site-footer {
	background-color: var(--color-dark-3);
	color: var(--color-light-1);
	font-size: var(--text-size-xs);
	line-height: 1.4;
}
.site-footer__container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-l);
	padding: var(--space-xl) var(--space-m);
	max-width: 1200px;
	margin: 0 auto;
}
.footer-section {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-m);
	text-align: center;
	width: 100%;
}
.footer-section__logo {
	width: 275px;
	height: auto;
	max-width: 100%;
}
.footer-section__text {
	margin: 0;
	line-height: 1.6;
	color: var(--color-light-1);
}
.footer-section__text em {
	font-style: italic;
	color: var(--color-light-1);
}

/* Support Button */
.support-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-xs) var(--space-m);
	font-size: var(--text-size-s);
	font-weight: 500;
	color: var(--color-light-1);
	background-color: transparent;
	border: 1px solid var(--primary);
	border-radius: var(--radius-sm);
	text-decoration: none;
	transition: all var(--transition-normal);
	cursor: pointer;
}
.support-button:hover,
.support-button:focus-visible {
	background-color: var(--primary);
	color: var(--color-light-1);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px hsla(10, 100%, 31%, 0.3);
}
.support-button:focus-visible {
	outline: 2px solid var(--secondary);
	outline-offset: 2px;
}
.support-button:active { transform: translateY(0); }

/* Footer Links */
.footer-link {
	color: var(--primary);
	text-decoration: none;
	transition: color var(--transition-fast);
	border-bottom: 1px solid transparent;
}
.footer-link:hover { color: var(--secondary); }
.footer-link:focus-visible {
	outline: 2px solid var(--secondary);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Footer Navigation */
.footer-nav {
	width: 100%;
	padding: var(--space-xs) 0;
}
.footer-nav__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-nav__item {
	position: relative;
	display: flex;
	align-items: center;
}
.footer-nav__item:not(:last-child)::after {
	content: '';
	width: 1px;
	height: 1.25rem;
	background-color: var(--color-divider);
	margin: 0 var(--space-xs);
}
.footer-nav__link {
	color: var(--primary);
	font-size: var(--text-size-s);
	text-decoration: none;
	padding: var(--space-s);
	transition: color var(--transition-fast);
	white-space: nowrap;
}
.footer-nav__link:hover { color: var(--secondary); text-decoration: underline; }
.footer-nav__link:focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 2px;
	border-radius: 2px;
}

/* Copyright */
.copyright {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: var(--space-m) var(--space-s);
	background-color: var(--color-dark-3);
	font-size: var(--text-size-xs);
	color: var(--color-light-1);
	text-align: center;
	border-top: 1px solid var(--color-border);
}


/* ==========================================================================
   28. BACK TO TOP
   ========================================================================== */
.scroll_up {
	position: fixed;
	bottom: 60px;
	right: 40px;
	padding: 5px;
	width: 50px;
	height: 50px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.06);
	background-color: var(--primary);
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.4s ease;
	opacity: 0;
	visibility: hidden;
	z-index: 10;
	display: flex;
	justify-content: center;
	align-items: center;
}
.scroll_up.show {
	opacity: 1;
	visibility: visible;
}
.scroll_up i {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate3d(-50%, -50%, 0);
	color: var(--color-light);
	font-size: 1rem;
}


/* ==========================================================================
   29. PAGINATION
   ========================================================================== */
.pagination { display: inline-block; width: 100%; text-align: center; }
.pagination a.btn.btn-lg { margin-bottom: 4px; }
.pagination li { display: inline-block; font-size: 2rem; text-align: center; }
.pagination li a { border-radius: 4px; display: block; min-width: 24px; padding: 5px 10px; margin: 0px 5px; text-align: center; color: var(--color-light-4); line-height: 100%; }
.pagination li a:not([href]):not([tabindex]) { color: var(--color-light-4); background: none; }
.pagination li.active a, .pagination li a.active { background-color: var(--primary); text-decoration: none; color: var(--color-light); }
.pagination li a:hover { background-color: var(--secondary); text-decoration: none; color: var(--color-light-4); }
.pagination ul { padding-inline-start: 0px; }


/* ==========================================================================
   30. 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 var(--color-dark-1); background: var(--color-dark-3); color: var(--color-light); 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: var(--color-light); }
.trailer_overlay .middle .trailer_box p a:hover { color: var(--color-light); text-decoration: underline; }


/* ==========================================================================
   31. SEARCH BAR
   ========================================================================== */
.search {
	flex-grow: 1;
	flex-shrink: 1;
	min-width: 1px;
	padding: 0 10px;
	z-index: 99;
	top: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	width: 100%;
}
.search .wrap {
	display: flex;
	align-items: center;
	max-width: 100%;
	margin: 0 auto;
	padding: 10px;
}
.search .input {
	color: var(--color-dark-1);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	height: 40px;
	width: 100%;
	border-radius: 20px;
	background-color: var(--color-light-4);
	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(--primary);
	transition: background-color var(--transition-normal);
	border: none;
	border-radius: 20px;
	color: var(--color-light);
	cursor: pointer;
	margin-left: 5px;
	flex-grow: 0;
	flex-shrink: 0;
}
.search .button_submit:hover { background-color: var(--color-dark-1); color: var(--color-light); }
.search .button_search_close { background: none; margin-left: 0; margin-right: 5px; }
.search .button_submit i { font-size: 16px; }


/* ==========================================================================
   32. ELX STYLE OVERRIDES
   ========================================================================== */
.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 .update-info-row { margin-bottom: 10px; }
.update-info .update-info-block a.btn-huge { font-size: 60px; border-radius: 60px; font-weight: 600; }
.update-info-block .description.hidden,
.update-info-block .descriptionFull.hidden { display: none; }
.update-info-block .description .read-more,
.update-info-block .descriptionFull .read-less {
	font-style: italic;
	cursor: pointer;
}


/* ==========================================================================
   33. MODELS PAGE
   ========================================================================== */
.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 var(--color-light-2);
	background: var(--color-light);
	color: var(--color-dark-2);
	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: 600;
	font-size: 16px;
}
.models-list-thumbs ul.half-sized li a span { font-size: 13px; }


/* ==========================================================================
   34. JOIN PAGE (Members-only)
   ========================================================================== */
.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: var(--color-light); border-color: var(--color-light-2); }
.join-page .form-group .input-group-text i.fa { margin: 0 auto; }
.join-page .form-group .form-control { background-color: var(--color-light-4); border-color: var(--color-light-2); }
.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-light-4); padding: .375rem .75rem; cursor: pointer; border: 1px solid var(--color-light-2); color: var(--color-dark); box-sizing: border-box; margin-bottom: 4px; border-radius: var(--radius-sm); }
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: var(--color-light); }
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; font-size: 20px; font-weight: 300; margin-left: 40px; }
ul.payment-options li .selectric-items li { background: var(--color-light-4); text-transform: uppercase; font-size: 16px; }
ul.payment-options li .selectric-items li:hover { background: var(--color-dark-2); color: var(--color-light); }

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-light-4); padding: 6px; cursor: pointer; border: 1px solid var(--color-light-2); color: var(--color-dark); box-sizing: border-box; margin-bottom: 4px; border-radius: var(--radius-sm); }
ul.join-options li.active { background-color: var(--primary); color: var(--color-light); }
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: 600; 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: var(--color-light); 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: var(--radius-sm); }
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: var(--color-dark); font-size: 12px; letter-spacing: 1px; }
ul.join-options li span.price span.price-bestoffer i {
	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: var(--color-light); }
ul.join-options li.active span.extra { background: var(--color-light); 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 var(--color-light-2); }
.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: var(--color-muted); }
.join-page .secure .secure-text strong { font-size: 14px; text-align: center; font-weight: 400; color: var(--color-success); }
.join-page .secure .secure-text a { color: var(--color-muted) !important; }
.join-page .secure .secure-text a:hover { color: var(--color-dark-1) !important; text-decoration: underline; }



/* ==========================================================================
   35. SECTION TITLE (Decorative)
   ========================================================================== */
.section-title {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 2rem;
	text-align: center;
	font-size: clamp(1.5rem, 1.3636rem + 0.5455vw, 1.8rem);
	text-transform: uppercase;
}
.section-title-members { margin: 1rem; }
.section-title::before,
.section-title::after {
	content: '';
	height: 2px;
	background: currentColor;
}


/* ==========================================================================
   36. IDENTITY SECTION (Animated)
   ========================================================================== */
.identity {
	padding: 1rem;
	text-align: center;
}
.identity__container {
	max-width: 1366px;
	margin: 0 auto;
}
.identity__label {
	font-family: var(--font-brand);
	font-size: clamp(1rem, 1.0227rem + 0.4091vw, 1.25rem);
	font-weight: 200;
	color: var(--color-light);
	margin: 0 0 .5rem 0;
	text-transform: uppercase;
	letter-spacing: 0.25em;
	opacity: 0;
	transform: translateY(20px);
	animation: fadeInUp 0.8s ease-out 1s forwards;
}
.identity__sublabel {
	font-family: var(--font-brand);
	font-size: clamp(1.125rem, 1.0227rem + 0.4091vw, 1.35rem);
	line-height: 1.3;
	color: var(--color-light);
	margin: 0 0 1.5rem 0;
}
.identity__title {
	font-family: var(--font-brand);
	font-size: clamp(3rem, 2.7273rem + 1.0909vw, 3.6rem);
	font-weight: 700;
	color: var(--color-light);
	margin: -0.5rem 0 .5rem 0;
	text-wrap: balance;
}
.identity__benefits-list {
	list-style: none;
	padding: 0;
	margin: .5rem 0 1.5rem 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1.5rem;
}
.identity__benefit-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--font-brand);
	font-size: 1.2rem;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--color-light);
}
.identity__benefit-icon {
	width: 1.25rem;
	height: 1.25rem;
	fill: var(--color-light);
	flex-shrink: 0;
}


/* ==========================================================================
   37. CTA BUTTON & 4K CTA
   ========================================================================== */
.cta-button {
	display: inline-block;
	padding: 0.5rem 1rem;
	font-size: 2.125rem;
	font-weight: 700;
	color: var(--color-light);
	background: var(--primary);
	background: linear-gradient(150deg, var(--primary) 0%, var(--secondary) 100%);
	border: none;
	border-radius: 0.5rem;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: all var(--transition-normal);
	cursor: pointer;
}
.cta-button:hover,
.cta-button:focus {
	background: var(--secondary);
	background: linear-gradient(150deg, var(--secondary) 0%, var(--primary) 100%);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px hsla(10, 100%, 31%, 0.3);
	color: var(--color-light);
	text-decoration: none;
}
.cta-button:active { transform: translateY(0); }

.cta-4k {
	width: 100%;
	text-align: center;
	color: var(--color-light);
}
.cta-4k__features {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.5rem;
	list-style: none;
	margin: 0 0 .25rem 0;
	padding: 0;
	font-family: var(--font-brand);
	font-size: var(--text-size-l);
	font-weight: 300;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}
.cta-4k__feature { position: relative; }
.cta-4k__feature:not(:last-child)::after {
	content: '\2022';
	position: absolute;
	right: -1rem;
	color: var(--color-light);
}
.cta-4k__title {
	font-size: clamp(1.8rem, 1.0127rem + 3.499vw, 4rem);
	font-weight: 700;
	margin: 0;
	font-family: var(--font-special);
	text-transform: uppercase;
}


/* ==========================================================================
   38. ANIMATIONS
   ========================================================================== */
@keyframes transitionIn {
	from { opacity: 0; transform: rotateX(-10deg); }
	to { opacity: 1; transform: rotateX(0); }
}
.fadeIn { animation: transitionIn 0.75s; }

@keyframes blinker {
	50% { opacity: 0; }
}
.blink { animation: blinker 1s linear infinite; }

@keyframes fadeInUp {
	to { opacity: 1; transform: translateY(0); }
}


/* ==========================================================================
   39. RESPONSIVE — 1499px and below
   ========================================================================== */
@media only screen and (max-width: 1499px) {
	.sticker-section .inner-div { padding: 30px 60px; }
	.home-banner-section-2 { background-position: 70%; }
	.item-update .content-div .rating-div { font-size: 13px; }
	.special-offer-block { width: 100%; }
	.special-offer-block h3 { font-size: 24px; line-height: 25px; }
	.special-offer-block h2 { font-size: 55px; line-height: 55px; }
	.special-offer-block h4 { font-size: 20px; line-height: 20px; }
	.special-offer-block .btn { font-size: 25px; line-height: 25px; padding-left: 20px; padding-right: 20px; min-width: 265px; }
	.trailer-section-head .left-content .video-div .play { background-size: 90px auto; }
	.bio-section-head .bottom-btn .btn { font-size: 35px; line-height: 40px; max-width: 340px; padding-left: 0; padding-right: 0; }
	.list-with-check2 li { font-size: 20px; margin: 20px 0; }
	.bio-section-head .list-with-check2 { margin-bottom: 0; max-width: 400px; }
	.bio-section-head .left-content .inner-right-c { padding-left: 0; }
}


/* ==========================================================================
   40. RESPONSIVE — 1280px and below
   ========================================================================== */
@media screen and (max-width: 1280px) {
	.update-info .update-info-block a.btn-huge { font-size: 30px; }
}


/* ==========================================================================
   41. RESPONSIVE — 1199px and below
   ========================================================================== */
@media only screen and (max-width: 1199px) {
	.list-with-check li { font-size: 18px; }
	.row.col-5-div .col, .row.col-5-div .col-6 { flex: 0 0 33.3%; max-width: 33.3%; }
	.row.col-5-div .col:nth-child(3n+1) { clear: both; }
	.models-list-thumbs ul.half-sized li { width: 100%; }
	.navbar-search { margin: .5em; }
}


/* ==========================================================================
   42. RESPONSIVE — 991px and below
   ========================================================================== */
@media only screen and (max-width: 991px) {
	.bio-section-head .left-content .inner-right-c { margin-top: 25px; }
	.special-offer-block { margin-top: 15px; }
	.s-bottom-btn .copy-div span { padding: 0 10px; margin-bottom: 5px; display: inline-block; }
	.sticker-section .inner-div h2 { min-width: 280px; font-size: 19px; }
	.swiper-container-sticker .swiper-slide { font-size: 16px; }
	.p-tb-50 { padding-top: 30px; padding-bottom: 30px; }
	.bio-section-head .left-content .detail-div { padding-bottom: 0; }
	.bio-section-head .list-with-check2 { max-width: 100%; }
	.update-info .update-info-block { font-size: 1em; }
	.update-info .update-info-block h3 { font-size: 1.25rem; }
}


/* ==========================================================================
   43. RESPONSIVE — 992px (navbar collapse)
   ========================================================================== */
@media only screen and (min-width: 992px) {
	.navbar-expand-lg .navbar-nav { margin-right: .5em; }
}
@media only screen and (max-width: 992px) {
	.navbar ul { margin: 1em 0; }
	.navbar-nav > li > a { margin: 0; font-size: clamp(1.25rem, 1.1364rem + 0.4545vw, 1.5rem); }
	.members .navbar .navbar-nav > li > a { margin: 5px 0px; }
	.members .navbar ul { margin: 10px 0px; }
	.title-block { text-align: center; }
	.sorting-options {
		float: none;
		display: inline-block;
		width: 100%;
		text-align: center;
		margin: 10px 0px;
	}
	.sorting-options > .btn-primary { margin: 5px 5px 0px 0px; }
	.tags_filter_trigger { margin: 5px 10px 0px 0px; }
}

@media screen and (min-width: 1025px) {
	.scroll_up:hover { background-color: var(--color-divider); }
}


/* ==========================================================================
   44. RESPONSIVE — 767px and below
   ========================================================================== */
@media only screen and (max-width: 767px) {
	.pagination li.hidden-sm { display: none; }
	.pagination-div ul { margin: 0; }
	.s-logo img { max-width: 280px; }
	.pagination-div ul li { padding: 0 5px; }
	.sticker-section .inner-div {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		justify-content: center;
		align-content: stretch;
		align-items: center;
	}
	.sticker-section .inner-div h2 { min-width: inherit; margin-bottom: 5px; }
	.p-tb-50 { padding-top: 20px; padding-bottom: 20px; }
	.pt-70 { padding-top: 40px; }
	.pb-70 { padding-bottom: 40px; }
	.row.col-5-div .col, .row.col-5-div .col-6 { flex: 0 0 50%; max-width: 50%; }
	.row.col-5-div .col:nth-child(3n+1) { clear: none; }
	.row.col-5-div .col:nth-child(2n+1) { clear: both; }
	.sticker-section .swiper-container { width: 100%; }
	.home-banner-section-2 { background-position: 80%; }
	.home-models-section .row-col-padding-10 { margin-bottom: 30px; }
	.section-title .btn { font-size: 12px; }
	.latest-updates-section .row-col-padding-10 { margin-bottom: 30px; }
	.bio-section-head .bottom-btn .btn { font-size: 25px; line-height: 20px; max-width: 210px; }
	.models-list-thumbs ul.half-sized li { width: 49%; }
	.pagination li { font-size: 1.3rem; }
	.scroll_up { width: 40px; height: 40px; }

	/* Join page responsive */
	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; }

	/* Footer responsive */
	.site-footer__container { padding: var(--space-l) var(--space-m); gap: var(--space-m); }
	.footer-section { gap: var(--space-s); }
	.footer-section__logo { width: 150px; }
	.footer-nav__list { flex-direction: column; gap: var(--space-xs); }
	.footer-nav__item:not(:last-child)::after { display: none; }
	.footer-nav__link { padding: var(--space-xs) var(--space-s); }
	.support-button { width: 100%; max-width: 300px; }

	/* Trailer overlay responsive */
	.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; }

	/* Identity responsive */
	.identity { padding: 1rem; }
	.identity__title { margin: 0rem 0 1rem 0; }
	.identity__benefits-list { flex-direction: column; align-items: center; gap: 0.25rem; }
	.cta-button { padding: 0.5rem 1rem; font-size: 1.25rem; }

	/* 4K CTA responsive */
	.cta-4k__features { font-size: clamp(0.875rem, 2.5vw, var(--text-size-l)); gap: 1rem; letter-spacing: 0.1em; }
	.cta-4k__feature:not(:last-child)::after { right: -0.65rem; }
}


/* ==========================================================================
   45. RESPONSIVE — 640px and below
   ========================================================================== */
@media only screen and (max-width: 640px) {
	.list-with-check { padding: 10px 20px; }
	.list-with-check li { width: 100%; }
	.sticker-section .inner-div h2 { margin-top: -29px; }
	.sticker-section .inner-div { margin-top: 24px; padding: 20px 20px; }
	.sticker-section .inner-div .swiper-sticker-next { right: -10px; }
	.sticker-section .inner-div .swiper-sticker-prev { left: -10px; }
	.sticker-section .inner-div .swiper-sticker-next, .sticker-section .inner-div .swiper-sticker-prev { font-size: 15px; padding: 7px 6px; }
}


/* ==========================================================================
   46. RESPONSIVE — 576px and above (min-width)
   ========================================================================== */
@media (min-width: 576px) {
	.top-gap { height: 40px; }
	.jumbotron { position: relative; overflow: hidden; background-color: var(--color-dark); }
	.jumbotron video { position: absolute; z-index: 1; top: 0; width: 100%; height: 100%; object-fit: cover; opacity: .7; }
	.jumbotron .container { z-index: 2; position: relative; }
	.countdowner h4 { text-transform: uppercase; font-size: 2.5rem; line-height: 3.5rem; }
	.counter span { font-size: 5rem; padding-bottom: 0px; line-height: 3rem; }
	.counter .cd_label { text-transform: uppercase; font-size: 1.2rem; }
}

@media (max-width: 768px) {
	.top-header .menu { justify-content: center; }
	.news__wrapper { flex-direction: column; }
	.news__ticker-text { text-align: center; text-wrap: balance; }
}


/* ==========================================================================
   47. RESPONSIVE — 480px and below
   ========================================================================== */
@media screen and (max-width: 480px) {
	.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; }
	.trailer-section-head .left-content .video-div .play { background-size: 60px auto; }
	.sticker-section .inner-div h2 { font-size: 14px; }
	.title-block { text-align: center; }

	/* Footer responsive */
	.footer-section__text { font-size: var(--text-size-xs); }
	.footer-section__logo { width: 120px; }

	/* 4K CTA responsive */
	.cta-4k__features { flex-direction: column; gap: 0.25rem; font-size: 0.875rem; }
	.cta-4k__feature:not(:last-child)::after { display: none; }

	/* Search responsive */
	.search { padding: 0; order: 4; 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; }

	/* Join page responsive */
	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%; }

	/* Trailer overlay responsive */
	.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; }
}

@media screen and (max-width: 479px) {
	.navbar-brand img { max-width: 220px; }
	.update-info .update-info-block a.btn-huge { font-size: 18px; }
}


/* ==========================================================================
   48. RESPONSIVE — Small devices (425px and below)
   ========================================================================== */
@media screen and (max-width: 425px) {
	.members .navbar-brand img { max-width: 260px; }
}
@media (max-width: 380px) {
	.navbar-brand img { max-width: 180px; }
}
@media only screen and (min-width: 376px) and (max-width: 414px) {
	.members .navbar-brand img { max-width: 200px; margin-top: 5px; }
}
@media only screen and (min-width: 360px) and (max-width: 375px) {
	.navbar-button .btn { font-size: .8em; }
}
@media (max-width: 360px) {
	.navbar { padding: .5em; }
	.members .navbar-brand img { max-width: 225px; }
	.navbar-button .btn { font-size: .7em; }
	.counter .cd_label { text-transform: uppercase; font-size: .9rem; }
}
@media (min-width: 360px) {
	.counter .cd_label { text-transform: uppercase; font-size: .9rem; }
}
