/* =================================================================
   Hybrid System Core CSS
   ================================================================= */

:root {
	/*Body*/
	--body: #FFFFFF;
	--text-body: #222222;

	/*Grays*/
	--gray: #A5A5A5;
	--gray-light: #DADADA;
	--text-grey: #6a6a6a;
	--light-grey: #f1f1f1;
	--dark-gray: #333333;
	--gold: #ffd41c;
	--black: #010101;


	/*Support Colors*/
	/*Success*/
	--success: #28A745;
	--success-hover: #218838;
	--success-25: rgba(40, 167, 68, .25);
	--success-50: rgba(40, 167, 68, .5);
	--success-hover-25: rgba(33, 136, 56, .25);
	--success-hover-50: rgba(33, 136, 56, .5);

	/*Info*/
	--info: #17A4B8;
	--info-hover: #138696;
	--info-25: rgba(23, 164, 184, .25);
	--info-50: rgba(23, 164, 184, .5);
	--info-hover-25: rgba(19, 134, 150, .25);
	--info-hover-50: rgba(19, 134, 150, .5);

	/*Warning*/
	--warning: #FFC107;
	--warning-hover: #E0A800;
	--warning-25: rgba(255, 193, 7, .25);
	--warning-50: rgba(255, 193, 7, .5);
	--warning-hover-25: rgba(224, 168, 0, .25);
	--warning-hover-50: rgba(224, 168, 0, .5);

	/*Danger*/
	--danger: #DC3545;
	--danger-hover: #C82333;
	--danger-25: rgba(220, 53, 69, .25);
	--danger-50: rgba(220, 53, 69, .5);
	--danger-hover-25: rgba(200, 35, 51, .25);
	--danger-hover-50: rgba(200, 35, 51, .5);

	/*
	Font Sizing
	Adding this from Core. Currently this will only apply to the account page 5.12.2025 MTK
	*/
	--font-size-absurd: 49px;
	--font-size-xxxl: 39px;
	--font-size-xxl: 31px;
	--font-size-xl: 25px;
	--font-size-lg: 20px;
	--font-size: 16px;
	/* Base */
	--font-size-base: 16px;
	--font-size-sm: 13px;
	--font-size-xs: 10px;
	--font-size-xxs: 8px;

	/* Line-Heights (Font Size x 1.2)*/
	--line-height-xxl: calc(var(--font-size-xxl) * 1.2);
	--line-height-xl: calc(var(--font-size-xl) * 1.2);
	--line-height-lg: calc(var(--font-size-lg) * 1.2);
	--line-height: calc(var(--font-size) * 1.2);
	--line-height-sm: calc(var(--font-size-sm) * 1.2);
	--line-height-xs: calc(var(--font-size-xs) * 1.2);
	--line-height-xxs: calc(var(--font-size-xxs) * 1.2);

	/* Sizing Units */
	/* Editorial: Importing this from Core MTK 6.18.2025 */
	--unit-sm: 7px;
	--unit: 15px;
	--unit-lg: 30px;
	--unit-xl: 45px;

	/*Borders*/
	--border-radius: 15px;
	--border-width: 0.063em;
	--border-style: solid;

}

/*Color Overrides
.bg-body{background-color: var(--white);}
*/


/* ==========================================================================
   Normalize the CSS, Kill the focus outline
   ========================================================================== */
*:focus,
a,
object,
embed textarea:focus,
input:focus,
.form-control:focus {
	outline: 0 !important;
	-webkit-box-shadow: none;
	box-shadow: none;
}

input::-moz-focus-inner {
	border: 0;
}

a {
	cursor: pointer;
}

.hidden {
	display: none;
}



/* ==========================================================================
   Bootstrap Utility Overrides
   ========================================================================== */
/* The following sections override the Bootstrap Utilities to allow for
 * custom color application, padding, margins, buttons, tabs, etc.
 */

.events-none {
	pointer-events: none;
}


/* ==========================================================================
   Text Color
   ========================================================================== */
.text-primary {
	color: var(--primary) !important;
}

.text-secondary {
	color: var(--secondary) !important;
}

.text-success {
	color: var(--success) !important;
}

.text-info,
.text-sale {
	color: var(--info) !important;
}

a.text-info:focus,
a.text-info:hover {
	color: var(--info-hover) !important;
}

.text-warning {
	color: var(--warning) !important;
}

.text-danger {
	color: var(--danger) !important;
}

.text-dark {
	color: var(--dark) !important;
}

.text-dark-gray {
	color: var(--dark-gray) !important;
}

.text-gray {
	color: var(--gray) !important;
}

.text-light {
	color: var(--light) !important;
}

.text-white {
	color: var(--white) !important;
}



/* ==========================================================================
   Backgrounds
   ========================================================================== */
div.bg-primary,
div.bg-success,
div.bg-info,
div.bg-warning,
div.bg-danger,
div.bg-inverse {
	position: relative;
}

.bg-primary {
	background-color: var(--primary) !important;
}

.bg-secondary {
	background-color: var(--secondary) !important;
}

.bg-success {
	background-color: var(--success) !important;
}

.bg-info,
.bg-promotion {
	background-color: var(--info) !important;
}

.bg-warning {
	background-color: var(--warning) !important;
}

.bg-danger {
	background-color: var(--danger) !important;
}

.bg-dark {
	background-color: var(--dark) !important;
}

.bg-dark-gray {
	background-color: var(--dark-gray) !important;
}

.bg-gray {
	background-color: var(--gray) !important;
}

.bg-light {
	background-color: var(--light) !important;
}

.bg-white {
	background-color: var(--white) !important;
}

.bg-body {
	background-color: var(--body) !important;
}



/* ==========================================================================
   Borders
   ========================================================================== */
.border {
	border-width: var(--border-width) !important;
	border-style: var(--border-style) !important;
}

.border-top {
	border-top: var(--border-width) var(--border-style) !important;
}

.border-bottom {
	border-bottom: var(--border-width) var(--border-style) !important;
}

.border-left {
	border-left: var(--border-width) var(--border-style) !important;
}

.border-right {
	border-right: var(--border-width) var(--border-style) !important;
}

/*Border Color*/
.border-primary {
	border-color: var(--primary) !important;
}

.border-secondary {
	border-color: var(--secondary) !important;
}

.border-success {
	border-color: var(--success) !important;
}

.border-info {
	border-color: var(--info) !important;
}

.border-warning {
	border-color: var(--warning) !important;
}

.border-danger {
	border-color: var(--danger) !important;
}



/* ==========================================================================
   Badges
   ========================================================================== */
.badge {
	border-radius: var(--border-radius);
}

/*Badge Colors*/
.badge-primary {
	background-color: var(--primary);
}

.badge-secondary {
	background-color: var(--secondary);
}

.badge-success {
	background-color: var(--success);
}

.badge-info {
	background-color: var(--info);
}

.badge-warning {
	background-color: var(--warning);
}

.badge-danger {
	background-color: var(--danger);
}



/* ==========================================================================
   Alerts
   ========================================================================== */
.alert {
	border: none;
	padding: .25rem;
	border-radius: var(--border-radius);
}

.alert :last-child {
	margin-bottom: 0;
}

/*Alert Colors*/
.alert-danger,
.has-error>.form-control,
.has-error>.form-control:focus {
	background-color: var(--danger-hover-50);
	color: var(--white) !important;
	border: var(--border-width) var(--border-style) var(--danger);
}

.alert-success {
	background-color: var(--success-hover-50);
	color: var(--white) !important;
	border: var(--border-width) var(--border-style) var(--success);
}

.alert-info {
	background-color: var(--info-hover-50);
	color: var(--white) !important;
	border: var(--border-width) var(--border-style) var(--info);
}

.alert-warning {
	background-color: var(--warning-hover-50);
	color: var(--white) !important;
	border: var(--border-width) var(--border-style) var(--warning);
}

.help-block {
	display: block;
	background-color: var(--danger-hover-50);
	color: var(--white) !important;
	border: var(--border-width) var(--border-style) var(--danger);
}



/* ==========================================================================
   Modal
   ========================================================================== */
.ppm-rate-explination {
	cursor: pointer;
}

.ppm-rate-explination:hover {
	color: var(--primary);
}

.close {
	color: var(--danger);
	opacity: 1;
}

.close:hover {
	color: var(--danger-hover);
}

/*Gallery Modal behavior - stop scrolling of large images.*/
#galleryModal .modal-body {
	max-height: calc(100vh - 117px);
}

#galleryModal .img-fluid {
	width: auto;
	max-height: calc(100vh - 150px);
}

/*Larger Modals*/
@media (min-width: 576px) {
	.modal-dialog {
		max-width: 80%;
	}
}

/* Attributes Modal */
@media (min-width: 576px) {
	#attributesModal .modal-dialog {
		max-width: 700px;
	}
}

#attributesModal .attr-inline-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0 .5rem;
	padding-left: 0;
	margin-bottom: 0;
	list-style: none;
}

#attributesModal .attr-inline-list>li {
	display: inline-flex;
	margin: 0;
}


/*Boxcover Modal*/
@media (min-width: 576px) {

	#viewLargeBoxcover .modal-dialog,
	#editorBoxcoverModel .modal-dialog {
		max-width: 500px;
	}
}

/*Sign Up Modal*/
#signUpModal {
	.modal-body {
		padding: 0;
		width: 100%;
	}

	.modal-dialog {
		height: 100svh;

		@media screen and (min-width: 992px) {
			display: flex;
			flex-wrap: nowrap;
			height: 100%;
			background: transparent;
			justify-content: center;
			align-items: center;
		}

	}

	.alert-danger {
		@media screen and (min-width: 992px) {
			margin-top: 1.5em;
		}
	}

	section {
		background: transparent;
		padding: 0px;
	}

	article .modal__title {
		background: transparent;
		padding: 0px;
	}

	.modal-dialog .modal-content {
		border-radius: var(--unit) !important;
		margin: 0 auto;
		width: 350px;

		@media screen and (min-width: 992px) {
			width: 750px;
		}
	}
}

.modal__close {
	cursor: pointer;
	display: block;
	position: absolute;
	top: 0px;
	right: -10px;
	background-color: transparent;
	border: none;
	color: var(--white);
	font-size: 40px;
	z-index: 1;
	transition: all 0.3s;

	@media screen and (min-width: 992px) {
		color: var(--gray);
	}
}

.modal__close:hover {
	color: var(--dark);
}

.modal__info {
	background-color: var(--primary);
	color: var(--white);
	border-radius: var(--unit) var(--unit) 0 0;
	padding: var(--unit) var(--unit) 0;

	li {
		margin-bottom: var(--unit);
	}

	li svg {
		margin-right: var(--unit);
	}

	@media screen and (min-width: 992px) {
		border-radius: var(--unit) 0 0 var(--unit);
		padding: var(--unit-lg);
	}
}

.modal__form {
	background: var(--body);
	color: var(--text-body);
	border-radius: 0px 0px var(--unit) var(--unit);
	padding: var(--unit);

	.form-group {
		margin-bottom: var(--unit);

		label {
			font-weight: 800;
		}

		input {
			height: 42px;
		}
	}

	.btn.btn-text {
		width: 100%;
	}

	@media screen and (min-width: 992px) {
		border-radius: 0 var(--unit) var(--unit) 0;
		padding: var(--unit-lg);
	}
}

.input-toggle__password {
	position: absolute;
	top: 44px;
	right: 10px;
	cursor: pointer;
	z-index: 5;
}






/* ==========================================================================
   Cards
   ========================================================================== */
.membership-cards-container .card-footer>a.btn {
	white-space: normal;
	margin: .25rem;
}

.free-shipping,
.off-site-link {
	display: block;
	font-size: .65em;
	margin: .5em auto 0;
}

.scene-page .card-deck .card {
	max-width: 175px;
	margin-bottom: .5rem;
}

.membership-cards-container .card {
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-flow: row nowrap;
	flex-flow: row nowrap;
	justify-content: center;
	align-items: center;
	flex: 1 1 auto;
	text-align: center;
}

.membership-cards-container .card-footer {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}

@media (max-width: 768px) {
	.scene-page .card-deck .card {
		max-width: 100%;
	}
}



/* ==========================================================================
   Forms
   ========================================================================== */
.form-control,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="password"],
select,
textarea {
	border-radius: var(--border-radius);
	border: var(--border-width) var(--border-style) var(--secondary);
}

.form-control:disabled,
.form-control[readonly],
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="number"]::placeholder,
input[type="password"]::placeholder,
textarea[type="textbox"]::placeholder {
	opacity: .65;
}

select.expInput {
	border-radius: var(--border-radius);
	border: var(--border-width) var(--border-style) var(--secondary);
	background-image: none;
}

.form-control:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
select:focus,
textarea:focus {
	border-radius: 0;
	border: var(--border-width) var(--border-style) var(--primary);
}


/*Remove calculated height from select inputs.*/
select.form-control:not([size]):not([multiple]) {
	height: auto;
}

/*Remove spinner from input type=number.*/
input[type="number"] {
	-moz-appearance: textfield;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/*Size Promo Code Input*/
.code-input {
	height: auto;
	font-size: 4vw;
	text-align: center;
	margin: 0 auto;
}

/*Insert check into form checkboxes because we don't use Bootstrap Fonts*/
.custom-checkbox .custom-control-input:checked~.custom-control-label::after {
	background-image: url(https://imgs1cdn.adultempire.com/bn/20/form-check-solid.png);
	background-size: 60%;
}

/* Notification Options Page Styles */

.safe-list-container {
	background: var(--gray-light);
	border-radius: 10px;
	padding: 1em;
	font-size: 13px;
	margin: 1.5em 0;
}

.safe-list-container .fas {
	color: #6A6A6A;
	font-size: 16px;
	vertical-align: top;
	padding-right: .2em;
	padding-bottom: .3em;
}

.safe-list-container .copy {
	margin: 0 auto;
	display: block;
	width: fit-content;
	padding: 5px 10px;
	color: #6A6A6A;
	background-color: #FFF;
	border-radius: 5px;
	cursor: pointer;
	font-size: 1.2em;
}

.safe-list-container .copy .fas {
	font-size: 18px;
	vertical-align: middle;
}

.safe-list-container p {
	font-size: 1.2em;
}

.form-actions {
	text-align: center;
	justify-content: space-between;
	display: flex;
	align-items: center;
}

.success-message__saved {
	display: none;
	bottom: 1%;
	right: -500px;
	position: fixed;
	border-radius: 5px;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 5px;
	-webkit-animation: slide 0.5s forwards;
	-webkit-animation-delay: .5s;
	animation: slide 0.5s forwards;
	animation-delay: .5s;
	background: #DADADA;
	color: #010101;
	z-index: 1;
	padding: .5em;
}

@-webkit-keyframes slide {
	100% {
		right: 1%;
	}
}

@keyframes slide {
	100% {
		right: 1%;
	}
}

.success-message__saved h4 {
	margin: 0;
	color: #010101;
	display: inline-block;
	font-size: 1.2em;
	vertical-align: middle;
}

.success-message__saved .checked-circle {
	font-size: 30px;
	padding-right: 7px;
	vertical-align: middle;
}

.checked-circle {
	color: var(--success);
	font-size: 30px;
}

.userprefs input[type="checkbox"],
.dg-checkbox input[type="checkbox"] {
	display: none;
}

.fa-circle-info {
	margin-right: 10px;
}

input[type="checkbox"]+label .checked-circle,
dg-checkbox input[type="checkbox"]+label .checked-circle,
input[type="checkbox"]+label .fa-circle,
dg-checkbox input[type="checkbox"]+label .fa-circle {
	position: absolute;
	color: #dadada;
	transition: all .4s ease;
	font-size: 30px;
	vertical-align: middle;
	margin: 0 15px 0 0;
	opacity: 0;
}

input[type="checkbox"]+label .fa-circle,
dg-checkbox input[type="checkbox"]+label .fa-circle {
	opacity: 1;
}

input[type="checkbox"]:checked+label .checked-circle,
.dg-checkbox input[type="checkbox"]:checked+label .checked-circle {
	color: var(--success);
	opacity: 1;
}

input[type="checkbox"]:checked+label .fa-circle,
.dg-checkbox input[type="checkbox"]:checked+label .fa-circle {
	opacity: 0;
}

.checkbox span {
	margin-left: 45px;
	vertical-align: middle;
}

.notifications-form {
	font-size: 1.2em;
	margin-top: 1.2em;
}

.notifications-form .alert-success {
	display: none;
}

.safe-list-container .fa-circle-info {
	margin-right: 10px;
}

/* ==========================================================================
   Dropdown Carot
   ========================================================================== */
.dropdown-toggle::after {
	display: none !important;
}



/* ==========================================================================
   Checkbox
   ========================================================================== */
.custom-checkbox .custom-control-label::before {
	border-radius: 0;
	border: var(--border-width) var(--border-style) var(--secondary);
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::before {
	background-color: var(--success);
}

.custom-control-input:checked~.custom-control-label::before {
	color: var(--primary);
	background-color: var(--success);
}



/* ==========================================================================
   Radio
   ========================================================================== */
.custom-radio .custom-control-label::before {
	border: var(--border-width) var(--border-style) var(--secondary);
}

.custom-radio .custom-control-input:checked~.custom-control-label::before {
	background-color: var(--primary);
	border: var(--border-width) var(--border-style) var(--primary);
}

.custom-radio .custom-control-input:disabled~.custom-control-label::before {
	background-color: var(--secondary-50);
}



/* ==========================================================================
   Button Styling
   ========================================================================== */
/*Button styling is defined in the site specific 'hybrid-site-override.css'
* file.  Button default styling will be the Bootstrap 4 style.
*/

.btn-link:hover,
.btn-link:active,
.btn-link.active {
	border-width: transparent !important;
}

.btn.btn-4k {
	background-color: #000;
	border-color: #000;
}

/* Disabled button styling. */
a:not([href]):not([tabindex]).disabled {
	opacity: .85;
	text-decoration: none;
}

.membership-cards-container .btn-secondary.disabled,
.btn-secondary:disabled,
.scene-buy-options .btn-secondary.disabled,
.btn-secondary:disabled {
	opacity: .45 !important;
}

/* Allow button with too much text to wrap so not to break viewport width. */
.tab-content a.btn {
	white-space: normal;
}

.btn.btn-text {
	background: transparent;
	color: var(--text-body);
	border: none;
}

.btn.btn-text:hover {
	background: transparent;
	color: var(--primary);
	border: none;
}

.btn.btn-text:active,
.btn.btn-text:focus {
	outline: none;
}


/* ==========================================================================
   List Page Sort Button
   ========================================================================== */
/*Size the button to keep a consistant width, regardless of sort option length
* EX: 'Bestsellers' vs. 'Title'
*/
.list-page-sort .collapse {
	z-index: 5;
}

.list-page-sort .collapsing,
.list-page-sort .collapse.show {
	position: absolute;
	left: auto;
	right: 0;
	width: auto;
	z-index: 10;
}

.sort-option {
	position: relative;
	width: auto;
}

.sort-option .collapse {
	z-index: 10;
}

.sort-option .collapsing,
.sort-option .collapse.show {
	position: absolute;
	width: 100%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
}

@media (min-width: 992px) {
	.sort-option {
		position: relative;
		width: auto;
	}

	.refine-option .collapse {
		z-index: 1050;
	}

	.refine-option .collapsing,
	.refine-option .collapse.show {
		position: absolute;
		width: 100%;
		left: 50%;
		transform: translateX(-50%);
		z-index: 1050;
	}

	.refine-option .collapse.show a.btn {
		justify-content: center;
		white-space: normal;
	}
}

.list-group-item {
	padding: .45em;
}

.list-group-item.list-group-item-action {
	-ms-word-break: break-all;
	word-break: break-all;
	word-break: break-word;
	/* Non standard for webkit */
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

.list-group-item.list-group-item-action .badge {
	margin-left: .5em;
}


/* ==========================================================================
   Off Canvas Menu Collapse
   ========================================================================== */
@media (max-width: 1199px) {
	.offcanvas-collapse {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 100%;
		padding: 1rem;
		overflow-y: auto;
		background-color: var(--body);
		transition: -webkit-transform .3s ease-in-out;
		transition: transform .3s ease-in-out;
		transition: transform .3s ease-in-out, -webkit-transform .3s ease-in-out;
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		z-index: 1045;
	}

	.offcanvas-collapse.open {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		/* Account for horizontal padding on navbar */
	}

	/* Inside the offcanvas, dropdowns must be in normal flow (not absolute) so they push content down */
	.offcanvas-collapse .refine-option .collapsing,
	.offcanvas-collapse .refine-option .collapse.show {
		position: relative;
		width: 100%;
		left: auto;
		transform: none;
	}
}

@media screen and (max-width:1199px) {
	.refine-container {
		flex-direction: column;
	}
}



/* ==========================================================================
   Grid - CSS Grid
   ========================================================================== */
.grid {
	display: grid;
	grid-gap: 20px;
	grid-row-gap: 40px;
}

/*Outer most container for list pages.*/
.list-page-grid-container {
	display: grid;
	grid-gap: 20px;
	grid-template-columns: minmax(150px, auto) 1fr;
}

/*Header blocks on list pages.*/
.list-page-header,
.list-page-gallery-header,
.list__page-header {
	grid-column: 1 / -1;
}

.list-page-sort {
	position: relative;
}

@media (max-width: 768px) {
	.list-page-sort {
		width: 100%;
	}
}

.list-page-gallery-header {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	align-content: flex-start;
}

.gallery-details {
	width: 100%;
	padding-left: 1em;
}

/*Refines on list pages.*/
.list-page-refine {}

/*Refine Container: Holds all refine options available on a list page.*/
.refine-container {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	_align-items: center;
}

/*Refine Option: Individual refine option on a list page.*/
.refine-option {
	position: relative;
	width: 100%;
	margin-bottom: 1.5em;
}

.refine-option.refine-search {
	width: 100%;
}

@media screen and (min-width:1200px) {
	.refine-container {
		align-items: center;
	}

	.refine-option {
		margin-left: .25em !important;
		margin-right: .25em !important;
		margin-bottom: 0;
	}

	.refine-option.refine-search {
		width: auto;
	}
}

@media screen and (max-width:1199px) {
	.refine-container {
		flex-direction: column !important;
	}
}

/*Option within a refine dropdown that is not a button.*/
.refine-option li a:not(.btn),
.refine-option .list-group a,
.category-tag-list-grid .list-group a,
.category-hierarchy-list-grid li.childless {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: baseline;
}

.category-list-item a {
	min-height: 100%;
}

.category-hierarchy-list-grid .list-group {
	padding: 0 .5rem;
	/* border: 0; */
}

.category-hierarchy-list-grid .list-group li {
	padding: .25rem 0;
}

.category-hierarchy-list-grid li>ul {
	border-left: 1px solid var(--text-body);
	margin-left: .45rem;
	padding-left: 1rem;
}

.category-hierarchy-list-grid section {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: baseline;
}

.category-hierarchy-list-grid section>button {
	padding-left: 0;
	padding-top: 0;
	padding-bottom: 0;

}

.refine-option .btn.btn-secondary {
	white-space: nowrap;
}

/*Active refine option displayed in header block.*/
.list-page-refined-by a.btn-link {
	text-align: left;
	background-color: var(--gray-light);
	border: var(--border-width) var(--border-style) transparent !important;
}

.list-page-refined-by a:hover.btn-link {
	text-decoration: line-through;
	color: var(--danger);
}

/*Outer most container for items to be displayed in a grid.*/
.list-page-grid {}

@media screen and (max-width:991px) {

	.list-page-refine,
	.list-page-grid {
		grid-column: 1 / -1;
	}
}

/*Defines the container to hold the list of items. */
#vue-container .site-content .video-library-wrapper,
#vue-container .site-content .video-library-wrapper .content-container {
	padding: 0;
}

.video-library-wrapper .nav .nav-item {
	flex-basis: initial;
	flex-grow: initial;
}

.video-library-wrapper .list-page-header {
	margin-top: 15px;
}

.video-library-wrapper .list-page-sort {
	width: auto;
}

.video-library-wrapper .list-page-header .vod-sort-btn {
	display: inline-flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	color: var(--text-body);
	background: transparent;
	border: 1px solid var(--text-body);
	border-radius: 6px;
	font-size: 14px;
	box-shadow: none;
	text-transform: initial;
	font-weight: 400;
	min-height: 34px;
}

.site-content .video-library-wrapper .list-page-header .vod-sort-btn:active,
.site-content .video-library-wrapper .list-page-header .vod-sort-btn:focus,
.site-content .video-library-wrapper .list-page-header .vod-sort-btn:focus-visible {
	color: var(--text-body);
	background: transparent;
	border: 1px solid var(--text-body);
}

.video-library-wrapper .list-page-header .vod-sort-btn::after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-bottom: 2px solid var(--text-body);
	border-right: 2px solid var(--text-body);
	transform: rotate(45deg) translateY(-2px);
}

.video-library-wrapper .list-page-header .vod-sort-btn[aria-expanded="true"]::after {
	transform: rotate(225deg) translateY(-2px) translateX(-2px);
}

.video-library-wrapper .list-group {
	border: none;
}

.video-library-wrapper .list-group-item,
.video-library-wrapper .list-group-item:hover {
	text-align: left;
	background-color: #f1f1f1;
	color: #000;
	padding: 8px 16px;
	min-width: max-content;
}

.item-grid {
	display: grid;
	grid-gap: 20px;
	grid-row-gap: 20px;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.vod-library-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 30px;
	margin-bottom: 30px;
}

.vod-library-grid .cover-wrapper .dropdown-action-menu li a {
	position: relative;
}

.vod-library-grid .grid-item .boxcover-img img {
	width: 100%;
}

@media (max-width: 500px) {
	.vod-library-grid {
		gap: 10px;
	}
}

.empty-vod-list {
	font-size: 25px;
	font-weight: 700;
	margin-top: 60px;
	text-align: center;
}

@media screen and (max-width:768px) {
	.item-grid {
		grid-template-columns: repeat(auto-fill, minmax(46%, 1fr));
	}
}

#cartUpsell .item-grid.upsell-grid {
	grid-template-columns: repeat(auto-fit, minmax(30%, 1fr));
}

@media (max-width: 991px) and (min-width: 768px) {
	.confirmation-page .item-grid.upsell-grid {
		grid-template-columns: repeat(auto-fit, minmax(30%, 1fr));
	}
}

/*List View: Change grid layout to list view - 1 item per line.*/
.item-grid.item-grid-list-view {
	display: grid;
	grid-gap: 20px;
	grid-row-gap: 40px;
	grid-template-columns: 1fr;
}

.scene-list-view {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
}

@media screen and (max-width:1199px) {
	.scene-list-view {
		grid-template-columns: repeat(auto-fill, minmax(135px, 1fr));
	}
}

@media screen and (max-width:991px) {
	.scene-list-view {
		grid-template-columns: repeat(auto-fill, minmax(115px, 1fr));
	}
}

.grid-item.large-grid-item {
	grid-column: span 2;
	grid-row: span 2;
}

@media (max-width:768px) {
	.grid-item.large-grid-item {
		grid-column: span 4;
	}
}

/*Set unique column sizes per media.*/
/*Sex Toy Category Banners: Default 4-up display.*/
.item-grid.sex-toy-category-banners {
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
}

/*Scenes: Default 3-up display.*/
.item-grid.item-grid-scene {
	grid-template-columns: repeat(auto-fill, minmax(265px, 1fr));
}

/*Performers: Default 6-up display.*/
.item-grid.item-grid-performer {
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

/*Scenes: Default 8-up display.*/
.item-grid.item-grid-gallery {
	grid-template-columns: repeat(auto-fill, minmax(125px, 1fr));
}

/*Individual item container in a grid.*/
.item-grid .grid-item {
	display: flex;
	position: relative;
	flex-direction: column;
}

.item-grid .grid-item a {
	display: inline-block;
	position: relative;
}

.item-grid .grid-item a:last-child {
	margin-bottom: 0;
}

.grid-item img {
	display: block;
	margin: auto;
}

/*Sex Toy List: Title and pricing styling.*/
.sex-toy-title,
.sex-toy-price {
	display: block;
	text-align: center;
}

.sex-toy-title {
	font-size: .75em;
	line-height: 1.3;
}

.sex-toy-price {
	font-weight: bold;
}

/*Display individual item content in a list view.*/
.grid-item .grid-item-list-view {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: baseline;
	align-items: flex-start;
	width: 100%;
}

@media (max-width:768px) {
	.grid-item .grid-item-list-view {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
}

/*Display pagination as full with grid item.*/
.item-grid .pagination,
.item-grid .pagination-lg {
	grid-column: 1 / -1;
}

/*Scene Page: Display perfomer images in a grid.*/
.item-grid.scene-page-performer-grid {
	grid-row-gap: 20px;
	grid-template-columns: repeat(auto-fill, minmax(125px, 1fr));
}

/*Scene Page: Display purchase options in a grid.*/
.item-grid.scene-page-purchase-options-grid {
	grid-row-gap: 20px;
	grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
}

/*Video Page: Recommendations */
#dynamicRecommendationsGrid .item-grid.item-grid-scene {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(48%, 1fr));
}

/*Modal: Display modal content in a grid.*/
.modal-grid {
	display: grid;
	grid-gap: 10px;
	grid-template-columns: repeat(4, 1fr);
}

.category-tag-list-grid,
.category-hierarchy-list-grid {
	display: grid;
	grid-gap: 10px;
	grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width:576px) {

	.category-tag-list-grid,
	.category-hierarchy-list-grid {
		display: grid;
		grid-template-columns: 1fr;
	}
}

.boxcover {
	position: relative;
}

.featured-title {
	flex: 2 0 auto;
	max-width: 400px;
}

a.sex-toy img {
	padding: .5em;
	background-color: var(--white);
	-webkit-box-shadow: 0px 0px 5px 0px var(--light);
	-moz-box-shadow: 0px 0px 5px 0px var(--light);
	box-shadow: 0px 0px 5px 0px var(--light);
}

/* ==========================================================================
   Age Verification Styling
   ========================================================================== */
/* Performer Carousel Styling: https://www.adameveplus.com/home-store - layout changes for non age verified users. */
/* hybrid\Views\Widgets\css-grid-performerCarousel.django */
.carousel__item-grid-performer__age-safe {
	grid-template-columns: repeat(auto-fill, minmax(28%, 1fr));
}

@media (min-width: 768px) {
	.carousel__item-grid-performer__age-safe {
		grid-template-columns: repeat(auto-fill, minmax(17%, 1fr));
	}
}

@media (min-width: 992px) {
	.carousel__item-grid-performer__age-safe {
		grid-template-columns: repeat(auto-fill, minmax(8%, 1fr));
	}
}

/* ==========================================================================
   Age Verification Modals
   ========================================================================== */
.verify-modal-body .alert {
	background-color: transparent;
	color: #010101;
	padding: 0;
	font-weight: 700;
}

.verify-modal-body h4 {
	font-size: 16px;
	font-weight: 700;
	background-color: transparent;
	color: var(--accent-color);
	margin-bottom: 5px;
}

.light-bg-block {
	background-color: var(--light-grey);
	padding: 10px;
	border-radius: 7px;

}

.light-text {
	color: var(--text-grey);
}

.status-message {
	color: #505050;
}

.status-message strong {
	display: block;
	color: var(--accent-color);
}

.arrow-link {
	color: var(--black);
	font-weight: 700;
	display: flex;
	align-items: center;
	gap: 5px;
}

.arrow-link:hover {
	color: var(--black);
}

.arrow-link::before {
	content: '';
	display: inline-block;
	width: 10px;
	height: 10px;
	border-bottom: 2px solid var(--black);
	border-right: 2px solid var(--black);
	transform: rotate(135deg);

}

.form-group {
	margin-bottom: 30px;
}

.form-group .button-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.form-group .button-wrapper .btn-primary {
	flex-grow: 1;
}

.ageverify-modal-footer {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

/* ==========================================================================
   Grid Utilities
   ========================================================================== */
/*Display grid item full width.*/
.grid-span-all {
	grid-column: 1 / -1;
}



/* ==========================================================================
   Grid - Fallback
   Code that will only run if CSS Grid is NOT supported by the browser.
   ========================================================================== */
@supports not (display: grid) {
	.item-grid {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: flex-start;
	}

	.item-grid .grid-item {
		display: flex;
		position: relative;
		flex-direction: column;
		text-align: center;
		max-width: 200px;
		margin: 0 0.625em 0.625em;
	}

	.item-grid.item-grid-scene .grid-item {
		max-width: 350px;
		margin-bottom: 0.625em;
	}

	.item-grid.item-grid-performer .grid-item {
		max-width: 210px;
		margin-bottom: 0.625em;
	}

	.item-grid.sex-toy-category-banners .grid-item {
		max-width: 250px;
		margin-bottom: 0.625em;
	}

	.item-grid .pagination,
	.item-grid .pagination-lg {
		width: 100%;
	}

	.category-tag-list-grid {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: flex-start;
	}
}


/* ==========================================================================
   Scene Page
   ========================================================================== */
.scene-page,
.video-page {
	position: relative;
}

/* ==========================================================================
   Sex Toy & Performer Page
   ========================================================================== */
/*Sex Toy & Performer Page Header*/
.custom-sex-toy-page,
.performer-page {
	background-position: top var(--site-content-padding-top) center;
	background-attachment: fixed;
	background-size: contain;
	background-repeat: no-repeat;
}

/*Set padding to display background image as page header.*/
.custom-sex-toy-page .img-placeholder,
.performer-page .performer-img-placeholder {
	height: 0;
	padding-bottom: 39%;
	opacity: 0;
}

@media screen and (max-width: 576px) {

	.custom-sex-toy-page .img-placeholder,
	.performer-page .performer-img-placeholder {
		height: auto;
		padding-bottom: 5.5%;
	}
}



/* ==========================================================================
   Sex Toy Page
   ========================================================================== */
/*Item container styling for scroll effect.*/
#custom-sex-toy-page-content {
	background-color: var(--body);
	background-position: top 5em left 10%;
	background-attachment: unset;
	background-repeat: no-repeat;
}

@media screen and (max-width: 1070px) {
	#custom-sex-toy-page-content {
		background-position: top 5em left 0;
	}
}

/*Background image styling for scroll effect.*/
#custom-sex-toy-page-content.sticky {
	background-position: top 6em left 10%;
	background-attachment: fixed;
}

@media screen and (max-width: 991px) {
	#custom-sex-toy-page-content {
		background-image: none;
	}
}

/*Additional images grid sizing.*/
.custom-sex-toy-page .item-grid {
	grid-gap: 10px;
	grid-template-columns: repeat(auto-fill, minmax(125px, 1fr));
}

.custom-sex-toy-page .item-grid.customers-who-also-bought {
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

.item-grid.customers-who-also-bought.more-pornstar-toys {
	grid-template-columns: repeat(auto-fill, minmax(275px, 1fr));
}

@media (max-width: 1226px) {
	.item-grid.customers-who-also-bought.more-pornstar-toys {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	}
}

/*Add To Cart button always in view.*/
#main-purchase-info {
	position: fixed;
	bottom: 0;
	height: auto;
	z-index: 500;
}



/* ==========================================================================
   Performer Page
   ========================================================================== */
/*Performer hero image header.*/
.performer-page {
	background-position: top var(--site-content-padding-top) center;
	background-attachment: fixed;
	background-size: contain;
	background-repeat: no-repeat;
}

/*Page content container styling for scroll effect.*/
.performer-page-content {
	background-color: var(--body);
}

/*Performer Stats*/
.performer-page-header {
	display: flex;
	position: relative;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.performer-page-header {
		flex-direction: column;
	}
}

/*Structure for performer body shot.*/
.performer-page-header.performer-body-shot {
	display: flex;
	position: relative;
	flex-direction: row;
	justify-content: center;
}

/* ==========================================================================
   Animated Screenshots
   ========================================================================== */
.animated-screenshot {
	position: relative;
}

.animated-screenshot a.grid-item-title {
	display: block;
	position: relative;
	text-decoration: none;
	color: var(--primary);
}

.animated-screenshot a.grid-item-title:hover {
	text-decoration: underline;
	color: var(--primary-hover);
}

.scene-list-view-container {
	position: relative;
	line-height: 0;
	overflow: hidden;
}

.animated-screenshot-container {
	display: block;
	position: relative;
	width: 100%;
	height: 0;
	padding: 56.25% 0 0 0;
	overflow: hidden;
	vertical-align: middle;
	background-color: #dadada;
}

.grid-item a.animated-screen,
.grid-item a.still-screen {
	position: absolute;
	left: 50%;
	top: 50%;
	box-shadow: none !important;
	z-index: 1;
	width: 100%;
	margin: auto;
	-webkit-transition: all 2s ease-out;
	transition: all 2s ease-out;
	transform: translate(-50%, -50%);
}

/* ==========================================================================
   User Interactions (Widget)
   ========================================================================== */
.performer-page .grid-item .user-action a {
	display: inline-block;
}

.user-action {
	display: inline-block;
	font-size: 13px;
	text-align: center;
	vertical-align: top;
}

.user-action a {
	position: relative;
	display: inline-block;
	color: var(--dark);
	background-color: var(--gray-light);
	text-decoration: none;
	width: auto;
	height: auto;
	padding: 8px 13px;
	border-radius: 100px;
	transition: all .3s ease-in-out;
	text-align: center;
	vertical-align: middle;
	margin-right: .25em;
	overflow: hidden;
}

.user-action a:not([href]):not([tabindex]) {
	color: var(--dark);
}

.user-action.no-likes a {
	width: 35px;
	height: 35px;
	padding: 0;
}

.user-action a:before {
	display: inline-block;
	width: 0;
	height: 100%;
	vertical-align: middle;
	content: '';
}

.user-action:hover a:hover,
.user-action a.active,
.user-action a:not([href]):not([tabindex]):focus,
.user-action a:not([href]):not([tabindex]):hover {
	color: var(--white);
	background-color: var(--primary);
	text-decoration: none;
}

.user-action:hover a.active {
	color: var(--white);
	background-color: var(--dark);
}

.user-text {
	display: inline-block;
	position: relative;
	width: 0;
	top: 50%;
	left: 0;
	opacity: 0;
	transform: translateX(-100%);
	white-space: nowrap;
	transition: opacity .2s linear, width .3s ease-in-out .5s;
}

.user-action:hover .user-text {
	width: auto;
	opacity: 1;
	transform: translateX(0);
}

@media only screen and (max-width: 600px) {
	.watchlater-action .user-text {
		display: none;
	}
}

/* ==========================================================================
   Stickers
   ========================================================================== */
.sticker {
	display: block;
	position: absolute;
	top: 5px;
	left: 5px;
	padding: .05em .25em;
	background-color: var(--white);
	font-size: .75em;
	line-height: 1;
	overflow: hidden;
	text-align: center;
	z-index: 5;
	border: .15em solid var(--white);
	border-radius: 5px;
	transition: ease-in-out .25s all;
	/* box-shadow: 2px 2px 3px rgb(0 0 0 / 70%); */
}

.sticker.scene-sticker,
.custom-sex-toy-page .sticker {
	opacity: 1;
	transition: all .15s ease-in-out;
}

.grid-item:hover .sticker.scene-sticker {
	opacity: 0;
}

.sticker:before {
	display: inline-block;
	content: "";
	height: 100%;
	width: 0;
	vertical-align: middle;
}

.sticker .sticker-inner {
	display: inline-block;
	vertical-align: middle;
}

.sticker.sticker-promo {
	top: auto;
	bottom: -45px;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	transform: rotate(-15deg);
	z-index: 5;
}

.sticker.sticker-promo img {
	max-width: 125px;
}

.sticker.sticker-square,
.sticker.sticker-circle {
	width: 60px;
	height: 60px;
}

.sticker.sticker-circle {
	border-radius: 100em;
}

.sticker-bottom {
	top: auto;
	bottom: 5px;
}

.sticker-right {
	left: auto;
	right: 5px;
}

.sticker-center {
	left: auto;
	right: auto;
}

.sticker-tilt {
	transform: rotate(-45deg);
}

.sticker-right.sticker-tilt {
	transform: rotate(45deg);
}

.sticker.multi-disc {
	top: auto;
	bottom: 30px;
	left: auto;
	right: 5px;
}

.sticker.sale {
	width: 100%;
	top: -12px;
	left: 0;
	border-radius: 0px;
	border: none;
}

.scene-widget:hover .sticker.stream-indicator,
.scene-widget-no-play:hover .sticker.stream-indicator,
.scene-widget:hover .sticker.logo {
	opacity: 0;
}

.sticker.stock {
	top: auto;
	bottom: 30px;
}

.sticker.inline {
	display: inline-block;
	position: relative;
	top: auto;
	left: 0;
	vertical-align: middle;
}

.sticker.sticker-danger,
.movie-title .sticker-danger,
.view-boxcover-modal .sticker-danger {
	color: var(--white);
	background-color: var(--danger);
	word-break: break-all;
}

.movie-title .sticker-danger,
.movie-title .sticker-success,
.movie-title .sticker-dark,
.view-boxcover-modal .sticker-danger,
.view-boxcover-modal .sticker-success,
.view-boxcover-modal .sticker-dark {
	display: inline-block;
	position: relative;
	text-align: center;
	border-radius: 4px;
	padding: 1px 3px 0px 3px;
}

.sticker.sticker-warning {
	color: var(--white);
	background-color: var(--warning);
}

.sticker.sticker-success,
.movie-title .sticker-success,
.view-boxcover-modal .sticker-success {
	color: var(--white);
	background-color: var(--success);
}

.sticker.sticker-info {
	color: var(--white);
	background-color: var(--info);
}

.sticker.sticker-dark,
.movie-title .sticker-dark,
.view-boxcover-modal .sticker-dark {
	color: var(--white);
	background-color: var(--dark);
}

.view-boxcover-modal span:first-child {
	margin-top: 0.2em;
}

.view-boxcover-modal .fa-search-plus {
	margin-left: .3em;
}

.sale-indicator {
	color: var(--white);
	background-color: var(--info);
	border-radius: 4px;
	padding: 1px 4px 0px 4px;
	margin-right: .25em;
	font-size: .85em;
	text-transform: uppercase;
}

/* ==========================================================================
   Toggle on/off Active Icon Swap
   ========================================================================== */
.toggle-active-on {
	display: inline-block !important;
}

.active>.toggle-active-on {
	display: none !important;
}

.toggle-active-off {
	display: none !important;
}

.active>.toggle-active-off {
	display: inline-block !important;
}



/* ==========================================================================
   Background Utitlites
   ========================================================================== */
.bg-dark-transparent {
	background-color: rgba(0, 0, 0, .5);
}

.bg-contain {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}

.bg-contain-top {
	background-position: center top;
}

.bg-cover {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	/* background-size:cover; smc 8.25 */
}

.bg-cover-top {
	background-position: center top;
}



/* ==========================================================================
   Force word break at a max of 768px
   ========================================================================== */
@media (max-width:768px) {
	.word-break {
		word-break: break-all;
	}
}



/* ==========================================================================
   Overlays
   ========================================================================== */
.overlay {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	background-color: rgba(0, 0, 0, .5);
	color: #fff !important;
	z-index: 2;
	text-align: center;
	opacity: 0;
}

.overlay:hover {
	opacity: 1;
}

.overlay:before {
	display: inline-block;
	content: "";
	height: 100%;
	width: 0;
	vertical-align: middle;
}

.overlay .overlay-inner {
	display: inline-block;
	vertical-align: middle;
}

.overlay.overlay-show {
	opacity: 1;
}

.overlay .fa-play {
	font-size: 3vw;
}


/* ==========================================================================
   Search
   ========================================================================== */
/* --- Search & AutoComplete --- */
.search-recommendations-container {
	display: block;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: auto;
	padding: .5rem;
	background-color: var(--body);
	border: 1px solid var(--primary);
	z-index: 10;
}

li.autocomplete-item {
	padding: .5rem;
	text-align: left;
	border-top: 1px solid var(--gray);
}

li.autocomplete-item:last-child {
	padding-bottom: 0;
}

.autocomplete-item a {
	display: flex;
	flex-direction: row;
	align-items: center;
}

.autocomplete-item a:focus,
.autocomplete-item a.active {
	text-decoration: underline;
}

.autocomplete-item small {
	display: block;
}

.autocomplete-item img {
	display: block;
	width: auto;
	min-width: 38px;
	max-width: 100%;
	align-self: flex-start;
	margin-right: .5rem;
}

.search-media.input-group-prepend select {
	border-radius: var(--border-radius) 0 0 var(--border-radius);
}

.search-media.input-group-prepend {
	width: 100%;
	margin-bottom: .25rem;
}

@media (min-width: 500px) {
	.search-media.input-group-prepend {
		width: auto;
		margin-bottom: 0;
	}
}

/* Exact Match */
.exact-match {
	display: block;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	padding: 141.43% 0 0 0;
}

.exact-match-details {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.exact-match-details::before {
	display: inline-block;
	content: '';
	vertical-align: middle;
	width: 0;
	height: 100%;
}

.exact-match-inner {
	display: inline-block;
	vertical-align: middle;
	width: 100%;
}


/* ==========================================================================
   Device Logos
   ========================================================================== */
.devices img {
	display: inline-block;
	max-height: 40px;
	width: auto;
	margin: 0 1em 1em;
}



/* ==========================================================================
   Full Width Image - will pixelate to fill available width
   ========================================================================== */

.img-full-fluid {
	display: block;
	width: 100%;
	height: auto;
}

.boxcover-image {
	aspect-ratio: 500 / 709;
}

.screenshot {
	aspect-ratio: 1920 / 1080;
}

.featured-title .img-full-fluid {
	width: 350px;
}



/* ==========================================================================
   Boxcover Widget - styles controlling the boxcover display
   ========================================================================== */
.movie-title {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-align: left;
	display: block;
	padding-top: .2em;
}

.featured-title .movie-title {
	display: none;
}

.featured-title .sticker.stock,
.featured-title .sticker.stream-indicator,
.featured-title .sticker.multi-disc {
	bottom: 5px;
}

.boxcover-image:hover {
	filter: brightness(50%);
}

#viewLargeBoxcoverCarousel .view-boxcover-modal,
#carttoastboxcover .view-boxcover-modal {
	display: none;
}

#carttoastboxcover img {
	max-width: 150px;
}

/* In place of not loading the stickers at all */
#carttoastboxcover .sticker {
	display: none;
}

#carttoastboxcover .boxcover-image:hover {
	filter: none;
}




/* ==========================================================================
   List
   ========================================================================== */
ul {
	list-style-type: none;
	padding: 0;
	margin-bottom: 0;
}



/* ==========================================================================
   Alphabetical Sort - typically found on the performer list page.
   ========================================================================== */
.alpha-sort-container {
	position: relative;
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	padding: 1em 0;
	width: 100%;
}

/*Off canvus grid display.*/
@media screen and (max-width:1199px) {
	.alpha-sort-container {
		display: grid;
		grid-gap: 20px;
		grid-row-gap: 20px;
		grid-template-columns: repeat(auto-fit, minmax(95px, 1fr));
		padding: 0;
	}

	.alpha-sort-container .btn {
		padding: 2em;
	}

	.alpha-sort-all {
		grid-column: 1 / -1;
	}
}



/* ==========================================================================
   Synopsis Collapse
   ========================================================================== */
.synopsis {
	margin-bottom: 1em;
}

.synopsis-content {
	display: inline-block;
	overflow: hidden;
	max-height: 75px;
	transition: all .3s;
}

.active .synopsis-content {
	overflow: visible;
}

.synopsis-show {
	text-decoration: none !important;
}

.synopsis-less {
	display: none;
}

.active .synopsis-more {
	display: none;
}

.active .synopsis-less {
	display: block;
}



/* ==========================================================================
   Join Page
   ==========================================================================*/
.join-page-membership-plans a.card {
	margin-bottom: 1em;
}

.join-page-membership-plans a.card .bg-promotion {
	padding: .25em;
}

.join-page-membership-plans a.card .card-text {
	display: block;
}

.join-page-membership-plans a.card>.card-footer {
	display: none;
}

.join-page-membership-plans a:hover.card {
	text-decoration: none;
	border-color: var(--success);
}

.join-page-membership-plans a.card.active {
	border-color: var(--success);
}

.join-page-membership-plans a.card.active>.card-footer {
	display: block;
}




/* ==========================================================================
   Checkout Steps
   ========================================================================== */
ol.checkout-steps {
	list-style-position: inside;
	background: var(--light);
}

ol.checkout-steps li {
	flex-grow: 1;
}

ol.checkout-steps li.active {
	background: var(--primary);
	color: var(--white);
}

@media (max-width:767px) {
	ol.justified-list {
		flex-direction: column;
	}
}



/* ==========================================================================
   Order Status
   ========================================================================== */
.order-status.OPEN,
.order-status.SHIPPED {
	color: var(--success);
}

.order-status.CANCELED {
	color: var(--danger);
}

.order-status.ON.HOLD {
	color: var(--warning);
}

.media.border {
	border-width: var(--border-width) !important;
	padding: 1em;
}



/* ==========================================================================
   Tables
   ========================================================================== */
.table td,
.table th {
	vertical-align: middle;
}

@media (max-width: 576px) {

	.table td,
	.table th {
		padding: .75em .25em;
	}
}

.table thead th {
	border-bottom: var(--border-width) var(--border-style) var(--secondary);
}

.table td,
.table th {
	border-top: var(--border-width) var(--border-style) var(--secondary);
}

table .price {
	margin-bottom: 0;
}

.breadcrumb {
	border: var(--border-width) var(--border-style) var(--secondary);
	border-radius: var(--border-radius);
}



/* ==========================================================================
   FontAwesome Credit Card Colors
   ========================================================================== */
.cc-container {
	font-size: 30px;
	vertical-align: middle;
}

.fa-cc-visa {
	color: #1a1f71;
}

.fa-cc-mastercard {
	color: #ff9900;
}

.fa-cc-amex {
	color: #002663;
}

.fa-cc-discover {
	color: #ff6000;
}

.fa-cc-jcb {
	color: #004099;
}

.fa-cc-diners-club {
	color: #0079be;
}



/* ==========================================================================
   Credit Card CVV2 - Display image on hover to show CVV2 # example.
   ========================================================================== */
a.cvv2 {
	display: inline-block;
	position: relative;
}

.cvv2 {
	position: relative;
	display: inline-block;
	cursor: pointer;
}

a.cvv2 img {
	display: none;
	position: absolute;
	bottom: 0;
	left: 15px;
	border-radius: 3px;
	border: solid 1px #DADADA;
	background-color: #FFFFFF;
	z-index: 2;
}

a.cvv2:hover img {
	display: block;
}

div.tax-info {
	display: inline-block;
	position: relative;
}

.tax-info {
	position: relative;
	display: inline-block;
	cursor: pointer;
}

div.tax-info .card {
	display: none;
	position: absolute;
	bottom: 20px;
	right: 0;
	width: 300px;
	height: auto;
	z-index: 2;
}

div.tax-info:hover .card {
	display: block;
}

label.btn {
	white-space: normal;
}

.account-default {
	font-size: .5em;
}

#captcha2_element,
#captcha_element {
	margin-bottom: 1em;
}

#captcha2_element>div,
#captcha_element>div {
	margin-left: auto;
	margin-right: auto;
}

/* ==========================================================================
Cartview 
========================================================================== */
/*Estimated Shipping Methods*/
#dv_CalcRates .list-group-item h5:last-child,
#ShippingMethods .list-group-item h5:last-child {
	flex: 1 0 auto;
	text-align: right;
}

#toastprediscountprice {
	line-height: 1;
}

#toastdiscounttype {
	margin-bottom: 0;
}

/* ==========================================================================
   Checkout 
   ========================================================================== */
/*Shipping Methods*/
#ShippingMethods .custom-radio>.custom-control-indicator {
	top: .45rem;
}

/*Order Total Summery*/
.total-labels {
	flex: 0 1 auto;
	text-align: right;
}

.total-price {
	flex: 0 1 auto;
	text-align: left;
	padding-left: 1em;
}

@media (min-width: 768px) {
	.total-labels {
		flex: 1 1 auto;
	}

	.total-price {
		flex: 0 1 auto;
	}
}

/* ==========================================================================
   Address Display
   ========================================================================== */
input:disabled {
	display: block;
	background-color: transparent;
	color: inherit;
}



/* ==========================================================================
   Empire Player
   ========================================================================== */
#posterImageContainer {
	position: relative;
}

#posterImageContainer:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.empire-player-video-container {
	position: relative !important;
	height: 0;
	padding-bottom: 56.25% !important;
	text-align: center;
	background-color: transparent;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	transition: all .3s;
}

@media (max-width:768px) {
	.empire-player-video-container.ppm-message {
		height: auto;
		padding-bottom: 0 !important;
	}
}

.empire-player-video-container.active {
	padding-bottom: 56.25%;
	/* 16:9 */
}

.empire-player-video-container .previewplayer {
	display: none;
}

.empire-player-video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*A tag overlay structure - loads empire player on click.*/
.link-player-action {
	display: block;
	position: absolute;
	cursor: pointer;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	color: var(--white);
	font-size: 4vw;
	line-height: 1em;
	opacity: .9;
	transition: all .3s;
	z-index: 5;
}

.link-player-action:before {
	display: inline-block;
	height: 100%;
	vertical-align: middle;
	content: '';
}

.link-player-action .link-player-action-inner {
	display: inline-block;
	vertical-align: middle;
}

.link-player-action:hover {
	opacity: 1;
	color: var(--primary);
	text-decoration: none;
}

#posterImageContainer>.container.active {
	z-index: 1500;
}



/* ==========================================================================
   Video Page - Video Details
   ========================================================================== */
.video-title {
	padding: 1em 0;
	background-color: var(--primary);
	color: var(--white);
	text-align: center;
}

.video-title a {
	color: inherit;
}

.video-title .movie-title {
	text-align: center;
}

.video-details-container {
	padding-top: 3em;
	padding-bottom: 3em;
}

.video-details-container .container {
	padding-left: 0;
	padding-right: 0;
}

@media (min-width:568px) {
	.video-details-container section .boxcover {
		position: relative;
		width: 25%;
		margin-right: 1em;
		text-align: center;
	}

	.video-details {
		width: 72%;
		flex-grow: 1;
	}
}

.video-performer-container {
	width: 100%;
	margin-bottom: 1em;
}

.video-performer {
	position: relative;
	width: 25%;
	min-width: 100px;
}

.store-only-scene .video-performer,
.list-page-header .video-performer {
	position: relative;
	width: 16.6%;
	min-width: 100px;
}

@media (max-width:576px) {
	.video-details-container .boxcover {
		position: relative;
		width: 100%;
		margin-bottom: 1em;
	}

	.video-performer,
	.store-only-scene .video-performer,
	.list-page-header .video-performer {
		width: 50%;
	}
}

.video-page .membership-cards-container,
.scene-page .membership-cards-container {
	padding: 1em;
}

@media (max-width:500px) {
	.video-page .membership-cards-container {
		padding: 1em 0;
	}
}

@media (max-width:451px) {

	.list-page-header .nav-tabs .nav-link {
		padding: .5rem .7rem;
	}
}

.membership-discount-message {
	display: block;
	width: 100%;
	margin: .5em auto;
	text-align: center;
	color: var(--white);
}

.video-purchased {
	color: var(--white);
}

.video-purchased h3 {
	text-align: center;
}

.mobile-details-container>* {
	margin-bottom: .75em;
}

.mobile-details-container .video-title {
	padding: 1em .5em;
	margin-left: -1em;
	margin-right: -1em;
}

.user-actions .mobile-details-container .btn {
	margin-bottom: .75em;
}

/* Additional Purchase Options */
.digital-goods,
.hard-goods,
.owned-goods {
	width: 100%;
	padding: 1em;
}


/* ==========================================================================
   Scene List - Video Page
   ========================================================================== */
.scene-list-header {
	line-height: .9;
	margin-bottom: 1em;
}

.scene-list-header h2 {
	margin-bottom: 0;
}

.scene-buy-options {
	padding: 0.5em;
}

@media (max-width: 768px) {

	.scene-buy-options a.btn,
	.scene-buy-options a.btn.disabled {
		margin-bottom: 0.25em;
	}
}

/* ==========================================================================
   Scene Tags & User Actions
   ========================================================================== */
.video-tags {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	text-align: center;
	margin: 1rem 0 2rem;
}

.user-actions {
	display: flex;
	width: 100%;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 1rem;
}

.video-tags a {
	margin: .25rem;
	white-space: nowrap;
}

@media (min-width: 992px) {
	.video-tags a {
		width: 100%;
	}
}

.user-actions a {
	margin: .25rem;
	white-space: nowrap;
}

.video-tags a {
	font-size: 1vw;
}

.video-tags a[data-Category="Store Only Scene"]:first-child,
.user-actions a:first-child {
	margin-left: 0;
}

.video-tags a[data-Category="Store Only Scene"]:last-child,
.user-actions a:last-child {
	margin-right: 0;
}

#scene-jump {
	margin: 1rem 0;
}

#scene-jump .item-grid {
	grid-gap: 0;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

#scene-jump .fa-play {
	font-size: 2.5vw;
}

@media (max-width:991px) {

	.video-tags,
	#scene-jump {
		display: none;
	}
}

@media (max-width:576px) {
	.user-actions {
		display: flex;
		flex-flow: column;
		justify-content: center;
	}

	.user-actions a:first-child {
		margin-left: .25rem;
	}

	.user-actions a:last-child {
		margin-right: .25rem;
	}

}

.recommendations {
	background-color: var(--gray-light);
	padding-top: 1em;
	padding-bottom: 1em;
}

@media (min-width: 992px) {
	#recommendations .item-grid {
		grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	}
}

@media (min-width: 992px) {
	/* .item-grid.series-list {
		grid-template-columns: repeat(auto-fill, minmax(175px,1fr));
	} */
}


.mega-nav-link svg,
.category-hierarchy-list-grid svg {
	transition: all .5s ease;
}

.mega-nav-link[aria-expanded="true"] svg[data-icon="chevron-down"],
.category-hierarchy-list-grid button[aria-expanded="true"] svg[data-icon="chevron-down"] {
	transform: rotate(180deg);
}


/* ==========================================================================
   Anchor Navigation
   ==========================================================================*/
.anchor-nav {
	background-color: var(--primary);
	padding: .4em 0;
}

a.anchor-link {
	display: block;
	width: 100%;
	color: var(--white);
	text-align: center;
}

a.anchor-link {
	display: block;
	font-size: 14px;
	line-height: 1.25;
	margin: 0 auto;
}

a.anchor-link span:last-child {
	font-size: .75em;
}



/* ==========================================================================
   Anchors
   ========================================================================== */
.anchor,
.anchor:target {
	position: relative;
	top: -100px;
}

/* ==========================================================================
   Help Pages
   ========================================================================== */
/*Order Tracking*/
figure {
	display: inline-block;
	text-align: center;
}

/* ==========================================================================
   Carousel
   ==========================================================================*/
#carouselInnerID .carousel-item img {
	display: block;
	margin: 0 auto;
}

/* ==========================================================================
   Univeral Sale Page Styling
   ==========================================================================*/
.showcase-heading {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: .08em .2em;
	margin: 2em 0 1.5em 0;
	text-align: center;
}

@media (min-width: 768px) {
	.showcase-heading {
		flex-direction: row;
		justify-content: center;
		text-align: left;
	}

	.showcase-heading .btn {
		font-size: .8em;
		margin-left: 1em;
	}

	.showcase-heading h2 {
		width: auto;
		margin: 0;
	}

	.heading-lines {
		display: flex;
		width: 100%;
	}

	.heading-lines:before,
	.heading-lines:after {
		content: '';
		border-top: 1px solid;
		margin: 0 20px 0 0;
		flex: 1 0 20px;
	}

	.heading-lines:after {
		margin: 0 0 0 20px;
	}
}

#acceptCookiesBar {
	display: block;
	position: fixed;
	bottom: 0;
	width: 100%;
	padding: .25em .5em;
	text-align: center;
	background-color: var(--warning-hover);
	z-index: 1100;
}

/* ==========================================================================
   Content Editor Dashboard Styling
   ==========================================================================*/
.content-editor-container {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 33.3%;
	height: 85vh;
	padding: .5em;
	margin-left: auto;
	background-color: var(--body);
	border: 1px solid #DADADA;
	-webkit-box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.25);
	-moz-box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.25);
	box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.25);
	overflow-y: auto;
	z-index: 950;
}

.content-editor-container.minimize {
	width: auto;
	bottom: auto;
	height: auto;
}

.content-editor-container.minimize .content-editor-dashboard,
.content-editor-container.minimize h3 {
	display: none;
}

.content-editor-dashboard * {
	text-transform: none !important;
}

.content-editor-dashboard {
	display: block;
	position: relative;
	width: 100%;
	background-color: var(--body);
	color: var(--text-body);
	text-align: left;
	margin-top: 1em;
}

.content-editor-dashboard .btn {
	font-family: var(--font-family-copy);
}

.editor-menu-group {
	margin-bottom: 1rem;
}

.editor-menu-group .menu-items .item-grid {
	grid-template-columns: repeat(auto-fill, minmax(46%, 1fr));
}

.editor-menu-group .menu-items .item-grid p {
	margin-bottom: 0;
}

.menu-header .btn {
	text-align: left;
}

.menu-items {
	padding: 1em;
}

.item-grid.content-editor-performer-grid {
	gap: 20px;
	grid-template-columns: repeat(auto-fill, minmax(30%, 1fr)) !important;
}

.item-grid.content-editor-performer-grid .grid-item {
	text-align: left;
}

.video-cutter-tools {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fill, minmax(45%, 1fr));
	margin-bottom: 1rem;
}

.video-cutter-tools .btn {
	white-space: normal;
}

.editor-graphic-items {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(auto-fill, minmax(30%, 1fr));
	margin-bottom: 1.5rem;
}

.editor-graphic-items .custom-default a,
.editor-graphic-items .boxcover a {
	display: block;
	position: relative;
}

.editor-graphic-items .custom-default,
.editor-graphic-items h4 {
	grid-column: span 2;

}

/* ==========================================================================
   Deals Page and Home Page Deals Widget Styling
   ==========================================================================*/

.membership-deal-widget .grid-item {
	border: var(--border-width) var(--border-style) var(--secondary);
}

.membership-deal-widget .grid-item .deal-logo {
	height: 100%;
	display: flex;
	align-items: center;
}

.membership-deal-widget .grid-item .deal-logo img {
	max-height: 50px;
	max-width: 100%;
	width: auto;
}

/* ==========================================================================
   Hover Preview Widget Styling
   ==========================================================================*/
#hoverPreviewScenePlayerContainer {
	overflow: hidden;
}

#hoverPreviewScenePlayer {
	top: 0;

	z-index: 3;
}

#hoverPreviewScenePlayerContainer .video-js {
	background-color: transparent;
}

#hoverPreviewScenePlayerContainer .vjs-tech {
	object-fit: cover;
}

.scene-widget,
.scene-widget-no-play {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.scene-preview-container {
	position: relative;
	line-height: 0;
}

.scene-preview-container .scene-img {
	display: block;
	width: 100%;
	position: relative;
	height: 0;
	padding: 56.25% 0 0 0;
	overflow: hidden;
}

.scene-preview-container img.screenshot {
	display: inline-block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	box-shadow: none !important;
	z-index: 1;
}

.scene-info-container {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	padding: 0.5em;
}

.scene-primary-details,
.scene-secondary-details {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.scene-primary-details .user-interactions,
.scene-secondary-details .scene-length {
	text-align: right;
	margin-left: .5em;
}

.scene-length {
	align-self: end;
}

#scenes .scene-length {
	align-self: start;
}

.scene-primary-details {
	align-items: center;
	margin-bottom: .5em;
}

.scene-primary-details h6,
.scene-secondary-details p {
	margin-bottom: 0;
}

.scene-title {
	width: 70%;
	overflow: hidden;
}

.scene-title h6 {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.user-interactions.break-member-style {
	position: relative;
	top: auto;
	bottom: auto;
	left: auto;
	right: auto;
	z-index: 0;
}

.scene-widget.scene-unavailable {
	pointer-events: none !important;
}

/* ==========================================================================
   Blog Styling
   ========================================================================== */
.blog-post__content,
.blog-sidebar,
.blog-post__list {
	background-color: var(--light-grey);
	padding: 1em;
}

.blog-post__link,
.blog-sidebar__link,
.blog-post__list a {
	color: var(--accent);
	font-size: inherit;
}

.blog-post__list li {
	display: inline;
}

.blog__search {
	justify-content: space-between;
	display: flex;
}

.blog-home__search-results {
	max-width: 1200px;
	margin: 0 auto;
}

/* Membership Cancellation */
.membership__cancellation__alert {
	max-width: 70%;
	margin: 20px auto;
	padding: 15px;
	text-align: center;
}

/* ==========================================================================
   Carousel Horizontal Scroll
   ========================================================================== */
.scroll-container-wrapper {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.scroll-container {
	display: flex;
	gap: 15px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
	transform: translate3d(0, 0, 0);
}

.scroll-container::-webkit-scrollbar {
	display: none;
	/* Chrome/Safari */
}

.scroll-item {
	flex: 0 0 auto;
	width: 100%;
	max-width: 275px;
	/* limits column width */
}

@media (min-width: 768px) {
	.scroll-item {
		max-width: 500px;
		/* limits column width */
	}
}

.arrow {
	display: none;
}

@media (min-width: 768px) {
	.arrow {
		display: block;
		position: absolute;
		top: 40%;
		transform: translateY(-40%);
		background: var(--primary-50);
		color: var(--dark);
		border: none;
		padding: 15px 22px;
		cursor: pointer;
		z-index: 10;
		border-radius: 50%;
	}

	.arrow.left {
		left: 10px;
	}

	.arrow.right {
		right: 10px;
	}
}

/*Imperial Notifications*/
.notification {
	position: fixed;
	bottom: 15px;
	right: 15px;
	z-index: 9005;
	/* get it above five9 chat */
	opacity: 0;
	/* start invisible */
	transform: translateY(150px);
	/* start out of viewport */
	transition: opacity 0.8s ease, transform 0.8s ease;

	.notification__close {
		position: absolute;
		top: -6px;
		right: -6px;
		background: transparent;
		padding: 0;
		font-size: 24px;
		line-height: 24px;
		border: none;
		color: var(--primary);
	}

	.notification__body {
		display: flex;
		gap: 15px;
		background: var(--body);
		border: solid 1px var(--primary);
		box-shadow: 0 4px 4px 0 rgba(1, 1, 1, 0.25);
		box-shadow: var(--box-shadow);
		border-radius: 14px;
		padding: 15px;
		text-decoration: none;

		&.dark {
			background: var(--body);
		}

		.notification__indicator {
			font-size: 28px;
		}

		.notification__detail {
			flex: 1 1 auto;
			font-size: 16px;
			max-width: 300px;
			display: flex;
			flex-direction: column;
			gap: 14px;

			p {
				margin: 0;
			}
		}
	}
}

.notification.visible {
	opacity: 1;
	/* fade in */
	transform: translateY(0);
	/* slide up */
}

/* ==========================================================================
   Adult Clips Page Styling
   ========================================================================== */
.adult__clips {
	.list-page-grid-container {
		display: grid;
		grid-gap: 20px;
		grid-template-columns: repeat(5, 1fr);
	}

	.list__page-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;

		.list__page-header__breadcrumb {
			flex-basis: 100%;
		}
	}

	.list-page-refine,
	.list-page-grid {
		@media (min-width: 768px) {
			grid-column: span 4 / span 4;
		}

		grid-column: span 5 / span 5;
		grid-row-start: 2;
	}

	.list-refines {
		grid-row-start: 2;
	}

	.pagination {
		grid-row-start: 3;
		grid-column: span 5 / span 5;

		.pagination {
			/*This is not good have to figure out if changing this class will break the pagination in other places. MTK 1.12.2026 */
			display: flex;
			align-items: center;

			.page-item.disabled a {
				padding: 6px 12px;
				opacity: .5;

			}
		}
	}

	#refine-menu {
		.btn {
			width: 100%;
			display: flex;
			justify-content: space-between;
			align-items: center;
		}
	}
}

/* ==========================================================================
   Scene Attributes modal styling
   ========================================================================== */

.attributes-grid {
	display: block;
}

.attribute-area {
	break-inside: avoid;
	margin-bottom: 10px;
}

.attribute-area .list-group {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.25rem;
	border: none;
}

.attribute-area .list-group .list-group-item {
	border: 1px solid var(--gray);
	border-radius: 0;
	/* margin-top: -1px;
	margin-left: -1px; */
}

.attribute-area .list-group .list-group-item:last-child {
	margin-bottom: -1px;
}

/* refine facet */

.refine-facet {
	border-bottom: solid 1px var(--gray);
	padding: .45em;
}

.refine-facet__toggle {
	display: block;
	border: none;
	background-color: transparent;
	color: var(--black);
	font-size: 16px;
	width: 100%;
	font-weight: 700;
	text-align: left;
	margin: 0;
	padding: 0;
	cursor: pointer;
}

.refine-facet__toggle .fa {
	float: right;
	font-size: 20px;
}

.refine-facet__toggle {
	border-bottom: 1px solid transparent;
	padding-bottom: 0;
	transition: border-color 0.35s ease, padding 0.35s ease;
}

.refine-facet__toggle:not(.collapsed) {
	border-bottom-color: var(--primary);
	padding-bottom: 5px;
}

.refine-facet__toggle.collapsed .fa {
	transform: rotateX(180deg);
}

.refine-facet__toggle__more {
	font-weight: 400;
	padding-top: 0;
	overflow: hidden;
	height: 0;
}

.refine-facet__toggle__more.collapsed {
	height: auto;
	padding-top: 0;
}

.refine-facet__toggle__more .fa {
	float: none;
	margin-right: 7px;
}

.refine-facet__list {
	list-style: none;
	font-size: 13px;
	padding: 0;
	margin: 0;
	padding-top: 5px;
	text-align: left;
}

.refine-facet__thumb-list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	gap: 5px;
	columns: 3;
	padding-top: 15px;
	margin-bottom: 7px;
}

.refine-facet__thumb-list li {
	/*width: calc(20% - 5px); Adjusted to look better on mobile devices.  Picture was not filling hit box.*/
	width: 70px;
}

@media (min-width: 768px) {
	.refine-facet__thumb-list li {
		width: calc(33% - 5px);
	}
}

.refine-facet__thumb-list li a,
.refine-facet__thumb-list li label {
	display: block;
	overflow: hidden;
	border-radius: 5px;
	aspect-ratio: 1 / 1;
}

.refine-facet__list__group-title {
	font-weight: 700;
	font-size: 16px;
	padding-bottom: 5px;
}

.refine-facet__list__group {
	margin: 0;
	padding-left: 7px;
}

.refine-facet__list__group li {
	font-size: 16px;
}

@media (max-width: 1199px) {
	.attribute-refine-container {
		display: none;
	}
}

.hidden-xs {
	display: block !important;
}

.visible-xs {
	display: none !important;
}

@media (max-width: 767px) {
	.visible-xs {
		display: block !important;
	}

	.hidden-xs {
		display: none !important;
	}
}

.collapse.in {
	display: block;
}

/* Channel Widget */
.channel-widget {
	padding: 20px 0;
	background-color: transparent;
}

.channel-widget__title {
	margin: 0 16px 12px;
	color: #ffffff;
	text-align: center;
}

.channel-widget__slider {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

@media (max-width: 991px) {
	.channel-widget__slider {
		scrollbar-width: none;
		/* Firefox */
	}

	.channel-widget__slider::-webkit-scrollbar {
		display: none;
		/* Chrome, Safari, Opera */
	}
}

.channel-widget__track {
	display: flex;
	gap: 12px;
	width: 100%;
	padding: 0 16px;
}

.channel-widget__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 0;
	min-width: 180px;
	aspect-ratio: 16 / 9;
	height: auto;
	position: relative;
	isolation: isolate;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	overflow: hidden;
	transition: transform 0.2s ease;
	padding: 15px;
	text-decoration: none;
}

.channel-widget__item::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: var(--channel-item-grad);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	transform: translateZ(0);
	z-index: 0;
}

.channel-widget__item>* {
	position: relative;
	z-index: 1;
}

.channel-widget__item:hover {
	/* transform: translateY(-2px); */
}

.channel-widget__item img {
	display: block;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* Per-item gradients: adjust these values as needed */
.channel-widget__item--grad-1 {
	--channel-item-grad: linear-gradient(180deg, #020d09 0px, #020d09 2px, var(--green-hover) 100%);
}

.channel-widget__item--grad-2 {
	--channel-item-grad: linear-gradient(180deg, #07030f 0px, #07030f 2px, var(--teal-hover) 100%);
}

.channel-widget__item--grad-3 {
	--channel-item-grad: linear-gradient(180deg, #030810 0px, #030810 2px, var(--pink-hover) 100%);
}

.channel-widget__item--grad-4 {
	--channel-item-grad: linear-gradient(180deg, #0d0303 0px, #0d0303 2px, var(--red) 100%);
}

.channel-widget__item--grad-5 {
	--channel-item-grad: linear-gradient(180deg, #0a0700 0px, #0a0700 2px, var(--blue) 100%);
}

@media (max-width: 768px) {
	.channel-widget {
		padding: 30px 0;
	}

	.channel-widget__item {
		flex: 0 0 200px;
		min-width: 200px;
		aspect-ratio: 16 / 9;
		height: auto;
	}
}