/* =================================================================
   Hybrid System Core CSS
   ================================================================= */

   :root {
	/*Body*/
	--body: #FFFFFF;
	
	/*Grays*/
	--gray: #A5A5A5;
	--gray-light: #DADADA;

	/*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);
}

/*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%;
	}
}


/*Boxcover Modal*/
@media (min-width: 576px){
	#viewLargeBoxcover .modal-dialog,
	#editorBoxcoverModel .modal-dialog {
		max-width: 500px;
	}
}


/* ==========================================================================
   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%;
}	
	
/* ==========================================================================
   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;
}


/* ==========================================================================
   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: 10;
	}
		.refine-option .collapsing,
		.refine-option .collapse.show {
			position: absolute;
			width: 100%;
			left: 50%;
			transform: translateX(-50%);
			z-index: 10;
		}
		.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 */
	}
}

@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{
		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-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. */
		.item-grid{
			display: grid;
			grid-gap: 20px;
			grid-row-gap: 20px;
			grid-template-columns: repeat(auto-fill, minmax(200px,1fr));
		}
			@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);
	}	



/* ==========================================================================
   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 {
     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:cover;
}
	.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;
}

/* ==========================================================================
   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;
		}
	}
.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;
}
.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;
     aspect-ratio: 16/9;
}
 #hoverPreviewScenePlayer {
     top: 0;
     left: 50%;
     transform: translate(-50%, 0);
     z-index: 3; 
}
.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;
}