
/* CSS clear based on http://meyerweb.com/eric/tools/css/reset/ */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address,
big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl,
dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside,
canvas, details, embed,  figure, figcaption, footer, header, hgroup,  menu, nav, output, ruby, section, summary, time,
mark, audio, video {
	padding: 0; margin: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;
}


/* HTML5 display-role reset for older browsers and specific declarations */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: ''; content: none;
}

table {
	border-spacing: 0; border-collapse: collapse;
}


/* Main definitions */

html {
	box-sizing: border-box;
}

*, *:before, *:after {
	box-sizing: inherit;
}

body {
	padding: 0; margin: 0;
	position: relative;
	background: #fafafa url("../images/bgd.jpg");
}

body, td, p  {
	color: #202020;
	font-family: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 13px; line-height: 1.6em; font-weight: 400;
}

b, strong {
	font-weight: bold;
}

i, em {
	font-style: italic;
}

a, a:visited {
	color: #a82649;
	text-decoration: none;
}

a:hover, a:active {
	color: #ff5582;
	text-decoration: none;
}

p {
	margin-bottom: 1em;
	text-align: justify;
}

hr {
	height: 1px; display: block; clear: both;
	padding: 0; margin: 15px 0;
	background: #333; border: none;
}

h1 {
	font-family: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 42px; line-height: 0.95em; font-weight: 400; letter-spacing: -1px; text-align: center;
}

h2 {
	font-family: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 42px; line-height: 0.95em; font-weight: 400; letter-spacing: -1px; text-align: center;
}

h3 {
	font-family: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 19px; line-height: 1.4em; text-align: center;
}

h4 {
	font-family: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 21px; line-height: 1.3em; font-weight: 700; text-align: left;
}

.clear {
	clear: both;
}

.cf:before,
.cf:after {
	content: " ";
	display: table;
}

.cf:after {
	clear: both;
}

.wrapper {
	width: 1650px; max-width: 100%; position: relative;
	padding: 0 20px; margin: 0 auto;
}

.wrapper-wide {
	width: 1900px; max-width: 100%; position: relative;
	margin: 0 auto;
}

.wrapper-narrow {
	width: 1200px; max-width: 100%; position: relative;
	padding: 0 30px; margin: 0 auto;
}

.wrapper-xnarrow {
	width: 900px; max-width: 100%; position: relative;
	padding: 0 30px; margin: 0 auto;
}


/* Headings */

h1.heading,
h2.heading {
	position: relative;
	padding: 30px 15px;
	color: #e63976;
}

h1.heading.accented::before,
h2.heading.accented::before {
	width: 100%; height: 37px; display: block; content: '';
	position: absolute; left: 0; top: -17px; z-index: 30;
	background: url('../images/header-video-frame.png') center center repeat-x;
}

h1.heading span.accent,
h2.heading span.accent {
	color: #1f7960;
}

h2.heading.smaller {
	font-size: 19px; line-height: 26px; font-weight: 500;
}

h2.heading span {
	display: inline-block;
}


/* Buttons */

.button-holder {
	margin-top: 40px; margin-bottom: 40px;
	font-size: 0; line-height: 0; text-align: center;
}


/* Buttons - Sizes */

.button-regular,
.button-regular:link,
.button-regular:visited {
	display: inline-block;
	position: relative;
	padding: 18px 35px 18px 105px; margin: 8px;
	border-radius: 5px;
	font-family: "Montserrat", sans-serif; font-size: 30px; line-height: 34px; font-weight: 600; text-transform: uppercase; letter-spacing: -1px;
	transition: all 0.35s;	
}

.button-regular:hover,
.button-regular:active {
	box-shadow: 0 4px 20px 3px rgba(235, 2, 97, 0.125);
	transform: translateY(-2px);
}

.button-regular::after {
	width: 75px; height: 100%; display: block; content: '';
	position: absolute; top: 0; left: 0;
	padding-left: 5px;
	border-top-left-radius: 5px; border-bottom-left-radius: 5px;
	font-family: "lineicons"; font-size: 32px; line-height: 70px; font-weight: 400; text-transform: none; text-align: center;
	transition: width 0.15s linear;
}

.button-regular:hover::after {
	width: 78px;
	transition: width 0.15s linear;
}

.button-large,
.button-large:link,
.button-large:visited {
	display: inline-block;
	position: relative;
	padding: 20px 30px 20px 115px; margin: 5px;
	border-radius: 7px; box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.075);
	font-family: "Montserrat", sans-serif; font-size: 40px; line-height: 46px; font-weight: 600; text-transform: uppercase;
	transition: all 0.35s;	
}

.button-large:hover,
.button-large:active {
	box-shadow: 0 4px 20px 3px rgba(235, 2, 97, 0.125);
	transform: translateY(-2px);
}

.button-large::after {
	width: 85px; height: 100%; display: block; content: '';
	position: absolute; left: 0; top: 0;
	padding-left: 10px;
	border-top-left-radius: 7px; border-bottom-left-radius: 7px;
	font-family: "lineicons"; font-size: 42px; line-height: 86px; font-weight: 400; text-transform: none; text-align: center;
	transition: width 0.15s linear;
}

.button-large:hover::after {
	width: 88px;
	transition: width 0.15s linear;
}


/* Buttons - Colors */

.button-red,
.button-red:link,
.button-red:visited {
	background-color: #a82649; color: #fff;
	box-shadow: 0 0 15px 8px rgba(56, 152, 213, 0.15);
}

.button-red:hover,
.button-red:active {
	background-color: #8f2541;
}

.button-red::after {
	background-color: #fff; color: #a82649;
}

.button-pink,
.button-pink:link,
.button-pink:visited {
	background-color: #ff5582; color: #fff;
	box-shadow: 0 0 15px 5px rgba(230, 57, 118, 0.15);
}

.button-pink:hover,
.button-pink:active {
	background-color: #e04f75;
}

.button-pink::after {
	background-color: #fff; color: #ff5582;
}


/* Buttons - Icons */

.button-videos::after {
	content: "\63";
}

.button-photos::after {
	content: "\65";
}

.button-models::after {
	content: "\66";
}

.button-join::after {
	content: "\67";
}


/* Warning overlay */

.warning-overlay {
	width: 100%; height: 100%;
	position: fixed; top: 0; left: 0; z-index: 500;
	background: #f2e8d7 url("../images/overlay-bgd.jpg") center center no-repeat; background-size: cover;
	transition: transform 0.4s ease-in, opacity 0.4s ease-in;
}

.warning-overlay.hidden {
	transform: translate(-100%, 0);
	-ms-transform: translate(-100%, 0);
	-webkit-transform: translate(-100%, 0);
	opacity: 0;
	transition: transform 0.5s ease-in, opacity 0.5s ease-in;
}

.warning-overlay-inside {
	width: 700px; height: 50%;
	position: absolute; left: calc(50% - 350px); top: 25%;
}

.warning-logo {
	width: 100%; height: 75px;
	position: absolute; top: 0; left: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	font-size: 0; line-height: 0; text-align: center;
}

.warning-logo img {
	max-width: 100%; display: inline-block;
}

.warning-content {
	width: 100%; height: calc(100% - 200px); overflow: hidden;
	box-sizing: content-box;
	position: absolute; top: 100px; left: 0;
}

.warning-content h2 {
	color: #303030;
}

.warning-content p {
	padding-right: 35px; margin: 1em 0;
	color: #303030;
	text-align: justify;
}

.warning-content ol {
	color: #303030;
	padding-left: 1.25em; padding-right: 35px;
	list-style-type: decimal;
	text-align: justify;
}

.warning-content ol li {
	padding-left: 0.25em;
	margin: 0.5em 0;
}

.warning-buttons{
	width: 100%; height: 75px;
	padding-top: 25px;
	position: absolute; bottom: 0; left: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	font-size: 0; line-height: 0; text-align: center;
}

.warning-buttons > a {
 	display: inline-block;
	width: 140px; height: 50px; margin: 0 5px;
    border: 0 solid rgba(255, 255, 255, 0.4); border-bottom-width: 2px; border-radius: 3px; color: #fff;
	font-size: 24px; line-height: 48px; font-weight: 700;
}

.warning-buttons .warning-enter {
	background-color: #f33e43; 
}

.warning-buttons .warning-enter:hover {
	background-color: #e32e33; 
}

.warning-buttons .warning-exit {
	background-color: #b0b0a0; 
}

.simplebar-track {
	background: #e0e0d0; border-radius: 4px;
}

.simplebar-scrollbar::before {
	background: #a0a090;
}


/* Top section */

header.site-header {
	border-top: 3px solid #ff5582;
	background: url('../images/bgd-top-section.png');
	font-size: 0; line-height: 0; text-align: center;
}

.top-section {
	padding: 15px 0 25px 0;
}

.top-section .logo-holder {
	display: block; float: left;
}

.top-section .logo-holder .logo {
	max-width: 100%; height: auto; display: inline-block; vertical-align: top;
}

.top-section .mmenu-button {
    width: 40px; height: 33px; display: none; vertical-align: top;
    margin-top: 3px; margin-left: 20px;
}

.top-section .mmenu-button span {
    width: 40px; height: 7px; display: block;
    margin-bottom: 6px;
    background: #ff5582; border-radius: 2px;
}

.top-section .search-wrapper {
	display: block; float: right; position: relative;
}

.top-section .search-wrapper input[type="text"] {
	height: 40px; display: inline-block; position: relative; vertical-align: top;
	padding: 0 65px 0 15px;
	background-color: #fff; border: 0 none; border-radius: 4px; color: #3898d5; outline: none;
	box-shadow: 0 0 8px 4px rgba(56, 152, 213, 0.12);
	font-family: "Montserrat", sans-serif; font-size: 14px; line-height: 44px; font-weight: 500; text-align: left;
}

.top-section .search-wrapper button {
	width: 45px; height: 40px; display: block;
	position: absolute; top: 0; right: 0;
	background: #a82649; border: 0 none; border-top-right-radius: 4px; border-bottom-right-radius: 4px; color: #fff; cursor: pointer;
	font-family: "lineicons"; font-size: 18px; line-height: 38px; font-weight: 400; text-transform: none; text-align: center;
	transition: width 0.25s linear;
}


/* Menu section */

.menu-section {
	position: relative;
	padding-bottom: 12px;
	font-size: 0; line-height: 0; text-align: left;
}

.menu-section ul.main-menu {
	height: 50px; display: block; float: left;
	padding-top: 4px;
}

.menu-section ul.main-menu > li {
	display: inline-block; position: relative; vertical-align: middle;
	margin-right: 15px;
}

.menu-section ul.main-menu > li:last-child {
	margin-right: 0;
}

.menu-section ul.main-menu > li > a,
.menu-section ul.main-menu > li > a:link,
.menu-section ul.main-menu > li > a:visited {
	height: 42px; display: inline-block; vertical-align: middle;
	position: relative;
	padding: 0 34px 0 72px;
	background-color: #a82649; color: #fff; border-radius: 4px; outline: none;
	box-shadow: 0 0 8px 4px rgba(56, 152, 213, 0.12);
	font-size: 20px; line-height: 42px; font-weight: 600; letter-spacing: -0.5px; text-transform: uppercase;
	transition: all 0.35s;
}

.menu-section ul.main-menu > li > a::after {
	width: 44px; height: 100%; display: block; content: '';
	position: absolute; left: 0; top: 0;
	padding-left: 4px;
	background: #fff; border-top-left-radius: 4px; border-bottom-left-radius: 4px; color: #a82649;
	font-family: "lineicons"; font-size: 20px; line-height: 40px; font-weight: 400; text-transform: none; text-align: center;
	transition: width 0.25s linear;
}

.menu-section ul.main-menu > li.item-home a::after {
	content: "\68";
}

.menu-section ul.main-menu > li.item-sites a::after {
	content: "\62";
}

.menu-section ul.main-menu > li.item-videos a::after {
	content: "\63";
}

.menu-section ul.main-menu > li.item-photos a::after {
	content: "\65";
}

.menu-section ul.main-menu > li.item-models a::after {
	content: "\66";
}

.menu-section ul.main-menu > li > a:hover,
.menu-section ul.main-menu > li > a:active {
	background-color: #8f2541;
	transition: all 0.25s linear;
}

.menu-section ul.main-menu > li > a:hover::after {
	width: 48px;
	transition: width 0.25s linear;
}

.menu-section ul.main-menu > li > ul.submenu {
    width: 260px; visibility: hidden; opacity: 0;
    position: absolute; left: 0; top: calc(100%); z-index: 300;
	padding-top: 8px;
    transition: all 0.3s;
    transform: rotateX(-20deg) rotateZ(3deg) translateY(-20px);
    -moz-transform: rotateX(-20deg) rotateZ(3deg) translateY(-20px);
    -webkit-transform: rotateX(-20deg) rotateZ(3deg) translateY(-20px);
    -o-transform: rotateX(-20deg) rotateZ(3deg) translateY(-20px);
    -ms-transform: rotateX(-20deg) rotateZ(3deg) translateY(-20px);
}

.menu-section ul.main-menu > li:hover > ul.submenu {
    visibility: visible; opacity: 1;
    transition: all 0.35s;
    transform: rotateX(0deg) translateY(0px);
    -moz-transform: rotateX(0deg) translateY(0px);
    -webkit-transform: rotateX(0deg) translateY(0px);
    -o-transform: rotateX(0deg) translateY(0px);
    -ms-transform: rotateX(0deg) translateY(0px);
}

.menu-section ul.main-menu > li > ul.submenu > li {
	display: block; position: relative;
	padding: 0; margin: 0;
}

.menu-section ul.main-menu > li > ul.submenu > li > a:link,
.menu-section ul.main-menu > li > ul.submenu > li > a:visited {
	display: block; position: relative;
	padding: 10px 10px 10px 15px;
	background-color: #a82649; border-bottom: 1px solid rgba(255, 255, 255, 0.25); color: #fff;
	font-size: 19px; line-height: 22px; font-weight: 400;
	transition: all 0.25s;
}

.menu-section ul.main-menu > li > ul.submenu > li > a:hover,
.menu-section ul.main-menu > li > ul.submenu > li > a:active {
	background-color: #8f213e; border-color: transparent;
	transform: scale(1.075); z-index: 30;
	transition: all 0.25s;
}

.menu-section ul.main-menu > li > ul.submenu > li.category-item > a:link,
.menu-section ul.main-menu > li > ul.submenu > li.category-item > a:visited {
	background-color: #821e39;
}

.menu-section ul.main-menu > li > ul.submenu > li.category-item > a:hover,
.menu-section ul.main-menu > li > ul.submenu > li.category-item > a:active {
	background-color: #751b33;
}

.menu-section ul.main-menu > li > ul.submenu > li:first-child > a {
	border-top-left-radius: 15px; border-top-right-radius: 15px;
}

.menu-section ul.main-menu > li > ul.submenu > li:last-child > a {
	border-bottom-left-radius: 15px; border-bottom-right-radius: 15px;
}

.menu-section ul.main-menu > li > ul.submenu > li > a::after {
	display: none;
}

.menu-section ul.secondary-menu {
	display: block; float: right;
}

.menu-section ul.secondary-menu > li {
	display: inline-block; position: relative;
	margin-right: 15px;
}

.menu-section ul.secondary-menu > li:last-child {
	margin-right: 0;
}

.menu-section ul.secondary-menu li a,
.menu-section ul.secondary-menu li a:link,
.menu-section ul.secondary-menu li a:visited {
	height: 42px; display: inline-block; vertical-align: middle;
	position: relative;
	padding: 0 34px 0 72px;
	background-color: #a82649; color: #fff; border-radius: 4px; outline: none;
	box-shadow: 0 0 8px 4px rgba(56, 152, 213, 0.12);
	font-size: 20px; line-height: 42px; font-weight: 600; letter-spacing: -0.5px; text-transform: uppercase;
	transition: all 0.35s;
}

.menu-section ul.secondary-menu li a::after {
	width: 44px; height: 100%; display: block; content: '';
	position: absolute; left: 0; top: 0;
	padding-left: 4px;
	background: #fff; border-top-left-radius: 4px; border-bottom-left-radius: 4px; color: #a82649;
	font-family: "lineicons"; font-size: 20px; line-height: 40px; font-weight: 400; text-transform: none; text-align: center;
	transition: width 0.25s linear;
}

.menu-section ul.secondary-menu li a:hover,
.menu-section ul.secondary-menu li a:active {
	background-color: #8f2541;
	transition: all 0.25s linear;
}

.menu-section ul.secondary-menu li a:hover::after {
	width: 50px;
	transition: width 0.25s linear;
}

.menu-section ul.secondary-menu li.item-members a::after {
	content: "\61";
}

.menu-section ul.secondary-menu li.item-join a:link,
.menu-section ul.secondary-menu li.item-join a:visited {
	height: 50px;
	padding: 0 40px;
	background-color: #ff5582; border-radius: 4px;
	font-size: 23px; line-height: 50px;
}

.menu-section ul.secondary-menu li.item-join a:hover,
.menu-section ul.secondary-menu li.item-join a:active {
	background-color: #e54c75;
}

.menu-section ul.secondary-menu li.item-join a::after {
	display: none;
}


/* Mobile menu */

.mm-menu {
    font-family: "Montserrat", sans-serif; font-size: 17px; font-weight: 500;
}

.mm-menu .mm-panels > div,
.mm-menu .mm-panels > div .mm-navbar {
    background: rgba(255, 255, 255, 0.75);
}

.mm-menu .mm-listitem i {
    display: inline-block; vertical-align: middle;
	margin-top: -1px; margin-right: 10px;
}

.mm-menu .mm-listitem.item-login {
	background-color: rgba(0, 0, 0, 0.03);
}

.mm-menu .mm-listitem.item-join {
	background-color: rgba(0, 0, 0, 0.06);
}

.mm-menu .mm-listitem.item-join a {
    color: #1f7960;
}


/* Home Page - Video header section */

.video-header-section {
	display: block;
	position: relative;
}

.video-header-section::before,
.video-header-section::after {
	width: 100%; height: 35px; display: block; content: '';
	position: absolute; left: 0; top: -17px; z-index: 30;
	background: url('../images/header-video-frame-partial.png') center center repeat-x;
}

.video-header-section::after {
	top: auto; bottom: -17px;
	background-image: url('../images/header-video-frame.png');
}

.video-header-section .video-poster {
	width: 100%; height: 100%;
	position: absolute; left: 0; top: 0;
	background: url('../images/video-poster.jpg');
}

.video-header-section .video-overlay {
	width: 100%; height: 100%;
	position: absolute; left: 0; top: 0;
	background: url('../images/video-overlay.png');
}

.video-header-section .special-overlay {
	width: 100%; min-height: 80px; display: none;
	position: absolute; left: 0; top: calc(50% - 30px);
	text-align: center;
}

.video-header-section .special-overlay a:link,
.video-header-section .special-overlay a:visited {
	min-height: 80px; display: inline-block;
	padding: 15px 30px;
	background: rgba(0, 0, 0, 0.2); border: 4px dashed rgba(255, 255, 255, 0.75); color: rgba(255, 255, 255, 0.75);
	font-size: 36px; line-height: 42px; font-weight: 500;
}

.video-header-section .special-overlay a:hover,
.video-header-section .special-overlay a:active {
	background: rgba(0, 0, 0, 0.35); border-color: #fff; color: #fff;
	box-shadow: 0 0 35px 0 rgba(0, 0, 0, 0.35);
}

.video-header-section .special-overlay a span {
	display: inline-block;
}

.video-header-section .special-overlay a span:nth-child(2) {
	font-weight: 600;
}

.special-overlay-mobile {
	width: 100%; display: none;
	padding: 15px 15px 0 15px;
	text-align: center;
}

.special-overlay-mobile a:link,
.special-overlay-mobile a:visited {
	min-height: 80px; display: inline-block;
	padding: 15px 30px;
	background: #fff; border: 4px dashed #e63976; color: #e63976;
	font-size: 30px; line-height: 42px; font-weight: 500;
}

.special-overlay-mobile a span {
	display: inline-block;
}

.special-overlay-mobile a span:nth-child(2) {
	font-weight: 600;
}

/* Home Page - Special */

.special-offer {
	margin-top: 30px;
	font-size: 0; line-height: 0;
	text-align: center;
}

.special-offer img {
	width: calc(100% - 10px); max-width: 1885px; display: inline-block;
}

.special-offer-mobile {
	display: none;
}

/* Home Page - Featured section */

.home-featured-section {
	font-size: 0; line-height: 0; text-align: center;
}

.home-featured-section .fancy-layout {
	display: block;
}

.home-featured-section .regular-layout {
	display: none;
}

.home-featured-section .fancy-layout .featured-primary {
	width: 50%; display: inline-block;
	vertical-align: top;
}

.home-featured-section .fancy-layout .featured-secondary {
	width: 50%; display: inline-block;
	vertical-align: top;
}

.home-featured-section .fancy-layout .featured-tertiary {
	width: 100%; display: inline-block;
	vertical-align: top;
}


/* Listings - Featured videos */

.listing-featured {
	font-size: 0; line-height: 0; text-align: center;
}

.listing-featured .item {
    width: 33.333%; display: inline-block; position: relative;
	padding: 2px;
	overflow: hidden;
}

.listing-featured .item-inside {
	width: 100%; position: relative;
	border: 1px solid rgba(0, 0, 0, 0.35);
}

.listing-featured .item .thumb {
	width: 100%; height: 0; display: block; overflow: hidden;
	position: relative;
	padding-bottom: 56.2%;
	background: #000;
	text-align: left;
}

.listing-featured .item .thumb img,
.listing-featured .item .thumb video {
	width: 100%; height: 100%; display: block;
	position: absolute; left: 0; top: 0;
	transition: all 0.35s;
}

.listing-featured .item .meta {
	width: 100%;
	padding: 24px 8px 8px 8px;
	position: absolute; left: 0; bottom: 0;
	background: url("../images/thumb-overlay-featured.png") center top repeat-x; color: #fff; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.45);
	transition: all 0.2s linear;
}

.listing-featured .item .meta .title {
	width: 100%; display: block;
	position: relative;
    font-size: 24px; line-height: 1em; font-weight: 400; letter-spacing: -0.5px;
}

.listing-featured .item .meta .models {
	height: 22px; display: block; float: left;
	position: relative;
	padding-left: 30px; padding-right: 7px; margin-top: 6px;
	background: #a82649; border-radius: 4px; color: #fff;  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15);
	font-family: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 14px; line-height: 22px; font-weight: 400; letter-spacing: 0.3px;
}

.listing-featured .item .meta .models::after {
	width: 22px; height: 22px; display: block; content: "\66";
	position: absolute; left: 0; top: 0;
	padding-left: 3px;
	background: #fff; border-top-left-radius: 4px; border-bottom-left-radius: 4px; color: #a82649;
	font-family: "lineicons"; font-size: 11px; line-height: 22px; font-weight: 400; font-style: normal; text-transform: none; text-align: center; text-shadow: none;
}

.listing-featured .item .meta .date {
	height: 22px; display: block; float: right;
	position: relative;
	padding: 0 8px; margin-top: 6px;
	background: #fff; border-radius: 4px; color: #a82649;
	font-family: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 13px; line-height: 22px; font-weight: 600; letter-spacing: -0.3px; text-shadow: none;
}

.listing-featured .item:hover .thumb img {
	transform: scale(1.08);
	opacity: 0.8;
	transition: all 0.35s;
}

.listing-featured .item:hover .thumb .meta {
	padding-bottom: 12px;
	transition: all 0.2s linear;
}


/* Listings - Featured videos - Fancy layout */

.listing-featured.featured-primary .item {
	width: 100%;
}

.listing-featured.featured-primary .item .thumb {
	padding-bottom: 56.5%;
}

.listing-featured.featured-primary .item .meta {
	padding: 24px 12px 12px 12px;
	background: url("../images/thumb-overlay-featured-lg.png") center top repeat-x;
}

.listing-featured.featured-primary .item .meta .title {
    font-size: 40px; letter-spacing: -1px;
}

.listing-featured.featured-secondary .item {
	width: 50%;
}

.listing-featured.featured-tertiary .item {
	width: 20%;
}

.listing-featured.featured-tertiary .item .meta .title {
    font-size: 19px; letter-spacing: 0;
}


/* Listings - Featured vides - Loader */

.loader-wrapper{
    display: block;
    position: absolute; left: 50%; top: 50%; z-index: 1;
    transform: translate(-50%,-50%);
}

.loader-wrapper.hidden{
    display: none;
}

.loader,
.loader:after {
    width: 10em; height: 10em;
    border-radius: 50%;
}

.loader {
    position: relative;
    border-top: 1.1em solid rgba(255, 255, 255, 0.2);
    border-right: 1.1em solid rgba(255, 255, 255, 0.2);
    border-bottom: 1.1em solid rgba(255, 255, 255, 0.2);
    border-left: 1.1em solid #ffffff;
    font-size: 10px; text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}


/* Listing sections - videos */

.listing-videos {
	font-size: 0; line-height: 0; text-align: center;
}

.listing-videos .item {
    width: 16.666%; display: inline-block;
	position: relative;
	padding: 2px;
	overflow: hidden;
}

.listing-videos .item-inside {
	width: 100%; position: relative;
	border: 1px solid #b0b0d0;
}

.listing-videos .item .thumb {
	width: 100%; height: 0; display: block; overflow: hidden;
	position: relative;
	padding-bottom: 78.448%;
	background: #000;
	text-align: left;
}

.listing-videos .item .thumb img {
	width: 100%; height: 100%; display: block;
	position: absolute; left: 0; top: 0;
	transition: all 0.35s;
}

.listing-videos .item:hover .thumb img {
    opacity: 0.8;
}

.listing-videos .item .meta {
	width: 100%;
	padding: 4px 8px 8px 8px;
	position: absolute; left: 0; bottom: 0;
	background: url("../images/thumb-overlay-content.png") center top repeat-x;
	color: #fff; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.35);
	text-align: center;
	transition: all 0.2s linear;
}

.listing-videos .item .meta .title {
	width: 100%; display: block;
	position: relative;
    font-size: 16px; line-height: 1em; font-weight: 400;
}

.listing-videos .item .meta .date {
	height: 20px; display: inline-block; vertical-align: top;
	position: relative;
	padding: 0 10px; margin-top: 6px;
	background: #fff; border-radius: 11px; color: #a82649;
	font-family: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 13px; line-height: 20px; font-weight: 600; letter-spacing: -0.3px; text-shadow: none;
}

.listing-videos .item:hover .thumb img {
	transform: scale(1.12);
	opacity: 0.8;
	transition: all 0.35s;
}

.listing-videos .item:hover .thumb .meta {
	bottom: 5px;
	transition: all 0.2s linear;
}


/* Listing sections - photos */

.listing-photos {
	font-size: 0; line-height: 0; text-align: center;
}

.listing-photos .item {
    width: 12.5%; display: inline-block;
	position: relative;
	padding: 2px;
	overflow: hidden;
}

.listing-photos .item-inside {
	width: 100%; position: relative;
	border: 1px solid #ff83b0;
}

.listing-photos .item .thumb {
	width: 100%; height: 0; display: block; overflow: hidden;
	position: relative;
	padding-bottom: 150.777%;
	background: #000;
	text-align: left;
}

.listing-photos .item .thumb img {
	width: 100%; height: 100%; display: block;
	position: absolute; left: 0; top: 0;
	transition: all 0.35s;
}

.listing-photos .item:hover .thumb img {
    opacity: 0.8;
}

.listing-photos .item .meta {
	width: 100%;
	padding: 4px 8px 8px 8px;
	position: absolute; left: 0; bottom: 0;
	background: url("../images/thumb-overlay-content.png") center top repeat-x;
	color: #fff; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.45);
	text-align: center;
	transition: all 0.2s linear;
}

.listing-photos .item .meta .title {
	width: 100%; display: block;
	position: relative;
    font-size: 16px; line-height: 1em; font-weight: 400;
}

.listing-photos .item .meta .date {
	height: 20px; display: inline-block; vertical-align: top;
	position: relative;
	padding: 0 10px; margin-top: 6px;
	background: #fff; border-radius: 11px; color: #a82649;
	font-family: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 13px; line-height: 20px; font-weight: 600; letter-spacing: -0.3px; text-shadow: none;
}

.listing-photos .item:hover .thumb img {
	transform: scale(1.12);
	opacity: 0.8;
	transition: all 0.35s;
}

.listing-photos .item:hover .thumb .meta {
	bottom: 5px;
	transition: all 0.2s linear;
}


/* Listing sections - models */

.listing-models {
	font-size: 0; line-height: 0; text-align: center;
}

.listing-models .item {
    width: 12.5%; display: inline-block;
	position: relative;
	padding: 2px;
	overflow: hidden;
}

.listing-models .item-inside {
	width: 100%; position: relative;
	border: 1px solid #ff83b0;
}

.listing-models .item .thumb {
	width: 100%; height: 0; display: block; overflow: hidden;
	position: relative;
	padding-bottom: 150.777%;
	background: #000;
	text-align: left;
}

.listing-models .item .thumb img {
	width: 100%; height: 100%; display: block;
	position: absolute; left: 0; top: 0;
	transition: all 0.35s;
}

.listing-models .item:hover .thumb img {
    opacity: 0.8;
}

.listing-models .item .thumb .overlay {
	width: 100%; height: 100%; display: block;
	position: absolute; left: 0; top: 0;
	padding: 10px;
	background: url("../images/thumb-overlay-models.png") center bottom repeat-x;
}

.listing-models .item .meta {
	width: 100%;
	padding: 8px;
	position: absolute; left: 0; bottom: 0;
	background: url("../images/thumb-overlay-models.png") center top repeat-x;
	color: #fff; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.45);
	text-align: center;
	transition: all 0.2s linear;
}

.listing-models .item .meta .title {
	width: 100%; display: block;
	position: relative;
    font-size: 19px; line-height: 1em; font-weight: 400;
}

.listing-models .item:hover .thumb img {
	transform: scale(1.12);
	opacity: 0.8;
	transition: all 0.35s;
}

.listing-models .item:hover .thumb .meta {
	bottom: 5px;
	transition: all 0.2s linear;
}


/* Page header */

.header-section-listing {
	width: 100%; height: 200px;
	position: relative;
	background-color: #61051e; background-position: center center; background-repeat: no-repeat;
}

.header-section-listing.videos {
	background-image: url('../images/page-header-videos.jpg');
}

.header-section-listing.featured {
	background-image: url('../images/page-header-videos.jpg');
}

.header-section-listing.photos {
	background-image: url('../images/page-header-photos.jpg');
}

.header-section-listing.models {
	background-image: url('../images/page-header-models.jpg');
}

.header-section-listing::before,
.header-section-listing::after {
	width: 100%; height: 35px; display: block; content: '';
	position: absolute; left: 0; top: -17px; z-index: 30;
	background: url('../images/header-video-frame-partial.png') center center repeat-x;
}

.header-section-listing::after {
	top: auto; bottom: -17px;
	background-image: url('../images/header-video-frame.png');
}

.header-section-listing .page-title {
	margin-top: 52px;
	text-align: left;
	text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.15);
}

.header-section-listing .page-title .sup-title {
	display: block;
	color: #ffa6bd;
	font-size: 25px; line-height: 1em; font-weight: 400; text-align: left;
}

.header-section-listing .page-title .sup-title .accent {
	color: #fff;
	font-weight: 600;
}

.header-section-listing .page-title .title {
	display: block;
	margin-top: 5px;
	color: #fff;
	font-size: 56px; line-height: 1em; font-weight: 700; letter-spacing: -2px; text-transform: uppercase;
}


/* Sorting section */

.sorting-section {
	position: relative;
	margin-top: 40px; margin-bottom: 20px;
}

.sorting-section .wrapper {
	position: relative;
}

.sorting-section-border {
	width: calc(100% - 40px); height: 1px; display: block; content: '';
	position: absolute; left: 20px; bottom: -1px;
	border-bottom: 1px solid #a82649;
}

.sorting-section .sorting-tabs {
	display: block; float: left;
	font-family: "Montserrat", sans-serif; font-size: 0; line-height: 0;
}

.sorting-section .sorting-tabs li {
	width: 230px; display: inline-block;
	position: relative;
	border-right: 1px solid rgba(0, 0, 0, 0.3);
}

.sorting-section .sorting-tabs li:last-child {
	border: none;
}

.sorting-section .sorting-tabs li a {
	display: block;
	padding: 10px 0;
	background: #ffb3c7; color: #a82649;
	font-size: 17px; line-height: 1em; font-weight: 500; text-align: center;
}

.sorting-section .sorting-tabs li a:hover {
	opacity: 0.8;
}

.sorting-section .sorting-tabs li a span {
	display: block;
	padding-top: 20px;
	text-align: center;
}

.sorting-section .sorting-tabs li.tab-newest a span {
	background: url('../images/icon-sorting-newest.png') center top no-repeat;
}

.sorting-section .sorting-tabs li.tab-newest.active a span {
	background: url('../images/icon-sorting-newest-active.png') center top no-repeat;
}

.sorting-section .sorting-tabs li.tab-viewed a span {
	background: url('../images/icon-sorting-viewed.png') center top no-repeat;
}

.sorting-section .sorting-tabs li.tab-viewed.active a span {
	background: url('../images/icon-sorting-viewed-active.png') center top no-repeat;
}

.sorting-section .sorting-tabs li.tab-rated a span {
	background: url('../images/icon-sorting-rated.png') center top no-repeat;
}

.sorting-section .sorting-tabs li.tab-rated.active a span {
	background: url('../images/icon-sorting-rated-active.png') center top no-repeat;
}

.sorting-section .sorting-tabs li.tab-name a span {
	background: url('../images/icon-sorting-name.png') center top no-repeat;
}

.sorting-section .sorting-tabs li.tab-name.active a span {
	background: url('../images/icon-sorting-name-active.png') center top no-repeat;
}

.sorting-section .sorting-tabs li.active::after {
	width: 0; height: 0; display: block; content: '';
	position: absolute; left: calc(50% - 5px); top: calc(100% + 1px);
	border-left: 10px solid transparent; border-right: 10px solid transparent;
	border-top: 10px solid #a82649;
}

.sorting-section .sorting-tabs li.active a {
	background: #a82649; color: #fff;
}

.sorting-content-numbers {
	display: block; float: right;
	margin-top: 10px;
	color: #a82649;
	font-family: "Montserrat", sans-serif; font-size: 0; line-height: 0; font-weight: 400;
}

.sorting-content-numbers .text {
	display: inline-block; vertical-align: middle;
	padding: 0 8px;
	font-size: 24px; line-height: 29px;
}

.sorting-content-numbers .number {
	display: inline-block; vertical-align: middle;
	padding: 8px 12px 8px 12px;
	font-size: 30px; line-height: 30px; font-weight: 600;
	background: #a82649; color: #fff;
}


/* Content section */

.section-wrapper.darker {
	background-color: rgba(0, 0, 0, 0.025);
}

.section-wrapper.lighter {
	background-color: rgba(255, 255, 255, 0.75);
}

.content-section {
	padding-bottom: 30px;
}

.content-section.top-padding {
	padding-top: 30px;
}


/* Pagination */

.pagination {
	margin: 30px 0;
	font-size: 0px; line-height: 0px; text-align: center;
}

.pagination-bottom {
	margin-top: 0;
}

.pagination-alphabetical {
	margin-top: 10px;
}

.pagination a {
    width: 40px; height: 40px; display: inline-block;
    margin: 2px;
    background: #a82649; border: 1px solid #a82649; border-radius: 3px; color: #fff;
    font-size: 15px; line-height: 40px; font-weight: 400; text-transform: uppercase; text-align: center; vertical-align: middle;
}

.pagination a:hover,
.pagination a:active,
.thumb-pagination a.jp-current {
    background: #ff5582; border-color: #ff5582; color: #fff;
}

.pagination span {
    width: 40px; height: 40px; display: inline-block;
    margin: 2px;
    background: #ff5582; border: 1px solid #ff5582; border-radius: 3px; color: #fff;
    font-size: 15px; line-height: 40px; font-weight: 400; text-transform: uppercase; text-align: center; vertical-align: middle;
}


/* Content subpage - Header */

.header-section-content {
	width: 100%;
	position: relative;
	padding: 40px 0;
	background: #61051e;
	text-align: center;
}

.header-section-content::before,
.header-section-content::after {
	width: 100%; height: 35px; display: block; content: '';
	position: absolute; left: 0; top: -17px; z-index: 30;
	background: url('../images/header-video-frame.png') center center repeat-x;
}

.header-section-content::after {
	top: auto; bottom: -17px;
}

.header-section-content .page-heading .sup-title {
	display: block;
	color: #ffa6bd;
	font-size: 18px; line-height: 1em; font-weight: 500; letter-spacing: -0.5px;
}

.header-section-content .page-heading .title {
	display: block;
	margin-top: 5px;
	color: #fff;
	font-size: 50px; line-height: 1em; font-weight: 700; letter-spacing: -1px; text-transform: uppercase;
}


/* Video subpage */

.video-holder {
	width: 49%; display: block; float: left;
}

.video-intro-holder {
	width: 49%; display: block; float: left;
}

.video-player {
	position: relative;
	text-align: center;
}

.video-player .player {
    width: 100%; height: 0; position: relative;
    padding: 0;
}

.video-player .player.player-wide {
    padding-top: 56.38888%;
}

.video-player .player embed,
.video-player .player iframe,
.video-player .player video,
.video-player .player .video-js {
    width: 100% !important; height: 100% !important; display: block !important; position: absolute !important;
    top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
    border: 0 !important;
}

.video-player .video-poster {
	padding: 30px;
	background: #fff; border: 1px solid rgba(0, 0, 0, 0.125); box-shadow: 0 0 12px 4px rgba(0, 0, 0, 0.06);
}

.video-player .video-poster img  {
	max-width: 100%; height: auto; display: block;
	margin: 0 auto;
	border-radius: 4px;
}

.video-thumbs {
	padding-top: 25px; margin-top: 25px;
	border-top: 1px solid rgba(0, 0, 0, 0.15);
}

.video-thumbs .thumb-grid {
    font-size: 0; line-height: 0;
    text-align: center;
}

.video-thumbs .thumb-grid-item-wrapper {
    width: 19%; display: inline-block;
    margin-right: 1%; margin-bottom: 1%;
}

.video-thumbs .thumb-grid-item-wrapper:nth-child(5n) {
    margin-right: 0;
}

.video-thumbs .thumb-grid-item img {
	width: 100%; height: auto; display: block;
}

.content-information {
	width: 49%; display: block; float: right;
	padding: 30px;
	background: #fff; border: 1px solid rgba(0, 0, 0, 0.125); box-shadow: 0 0 12px 4px rgba(0, 0, 0, 0.06);
}

.content-information-intro {
	padding: 25px 60px;
}

.content-information-intro p {
	font-size: 18px;
}

.content-information-meta {
	padding: 18px 0; margin-top: 20px;
	border-top: 1px solid rgba(0, 0, 0, 0.15); border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.content-information-meta:first-child {
	margin-top: 0;
}

.content-information-meta .models {
	display: block; float: left;
}

.content-information-meta .date,
.content-information-meta .rating {
	display: block; float: right;
}

.content-information-meta > span {
	padding-left: 52px; padding-right: 15px;
	background-position: left 12px center; background-repeat: no-repeat;
	border-left: 1px solid rgba(0, 0, 0, 0.15);
}

.content-information-meta a {
	text-decoration: underline;
}

.content-information-meta .models {
	background-image: url('../images/icon-content-star.png');
	border: none;
}

.content-information-meta .rating {
	background-image: url('../images/icon-content-rating.png');
}

.content-information-meta .date {
	background-image: url('../images/icon-content-calendar.png');
}

.content-information-meta > span > .heading {
	display: block;
	color: #ff5582;
	font-size: 14px; font-weight: 600; text-align: left;
}

.content-information-meta > span > .content {
	display: block;
	margin-top: 2px;
	color: #a82649;
	font-size: 16px; text-align: left;
}

.content-information-teaser {
	margin-top: 25px; margin-bottom: -15px;
}

.content-information-teaser p {
	font-size: 16px;
}

.content-information .button-holder {
	margin-bottom: 0
}

.content-information-description {
	padding-top: 25px; margin-top: 25px;
	border-top: 1px solid rgba(0, 0, 0, 0.15);
}

.content-information-description .heading {
	color: #a82649;
	margin-bottom: 5px;
}


/* Content Subpage - photos */

.gallery-intro-holder {
	width: 49%; display: block; float: left;
}

.gallery-intro-holder .gallery-poster {
	padding: 30px;
	background: #fff; border: 1px solid rgba(0, 0, 0, 0.125); box-shadow: 0 0 12px 4px rgba(0, 0, 0, 0.06);
	text-align: center;
}

.gallery-thumbs {
	padding-top: 25px; margin-top: 25px;
	border-top: 1px solid rgba(0, 0, 0, 0.15);
}

.gallery-thumbs .thumb-grid {
    font-size: 0; line-height: 0;
    text-align: center;
}

.gallery-thumbs .thumb-grid-item-wrapper {
    width: 15.833%; display: inline-block;
    margin-right: 1%; margin-bottom: 1%;
}

.gallery-thumbs .thumb-grid-item-wrapper:nth-child(6n) {
    margin-right: 0;
}

.gallery-thumbs .thumb-grid-item {
    padding: 8px;
    background: rgba(60, 60, 0, 0.015); border: 1px solid rgba(0, 0, 0, 0.12);
    vertical-align: middle;
}

.gallery-thumbs .thumb-grid-item img {
    width: 100%; height: auto;
    vertical-align: middle;
}


/* Model Section - data */

.model-section {
	padding: 40px 0;
	font-size: 0; line-height: 0; text-align: center;
}

.model-section .model-thumb {
	width: 200px; display: inline-block; vertical-align: top;
}

.model-section .model-table {
	width: calc(25% - 60px); min-height: 293px; display: inline-block; vertical-align: top;
	padding: 10px 14px; margin-left: 10px; 
	background: #fff; border: 1px solid rgba(0, 0, 0, 0.125); box-shadow: 0 0 12px 4px rgba(0, 0, 0, 0.06);
	font-family: "Montserrat", sans-serif; font-size: 16px; line-height: 1.5em; text-align: left;
}

.model-section .model-table .item {
	padding: 5px 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.model-section .model-table .item:last-child {
	border: none;
}

.model-section .model-table .item .label {
	font-weight: 700; color: #ff5582;
}

.model-section .model-intro {
	width: calc(50% - 100px); display: inline-block; vertical-align: top;
	padding: 50px 30px 0 30px;
}

.model-section .model-intro p {
	font-size: 18px;
}


/* Subpage content */

.subpage-content {
	margin: 30px 0;
}

.subpage-content-model-listings {
	padding-top: 10px; margin-top: 10px;
	background-color: rgba(255, 255, 255, 0.5); border-top: 1px solid rgba(235, 2, 97, 0.125);
}

.sub-content {
	margin-top: 30px;
}

.sub-content h4 {
	margin-top: 16px; margin-bottom: 8px;
}

.sub-content,
.sub-content p,
.sub-content li {
	font-size: 15px; line-height: 1.6em; text-align: justify;
}

.sub-content ul {
	padding: 0 2em;
	margin: 0.5em 0 1em 0;
	list-style-type: square;
}

.sub-content ul.bordered {
	padding-top: 0.35em; padding-bottom: 0.35em;
	border-top: 1px solid rgba(0, 0, 0, 0.15);
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}

.sub-content ul li {
	margin: 0.35em 0;
}

.sub-content ol.numbered {
	list-style-type: decimal;
}

.sub-content ol li {
	margin: 1em 0;
}

.sub-content .button-wrapper {
	margin: 25px 0;
	text-align: center;
}

.sub-content .button-wrapper .button {
	font-weight: 700;
}


/* Welcome section */

.welcome-section {
	padding: 60px 0; margin-bottom: -30px;
	background: url("../images/welcome-section-bgd.jpg") center center no-repeat; background-size: cover;
}

.welcome-holder {
	width: 650px; max-width: 95%;
	padding: 30px; margin: 0 auto;
	background: #fbfbfb url("../images/bgd-gray.png");
}

.welcome-holder h3 {
	margin-top: 8px; margin-bottom: 16px;
}

.welcome-holder h4 {
	margin-top: 16px; margin-bottom: 8px;
}

.welcome-holder,
.welcome-holder p,
.welcome-holder li {
	font-size: 16px; line-height: 1.6em; text-align: justify;
}


/* Form - section */

.form-section {
	margin: 30px 0;
}

.form-wrapper {
	width: 1000px; max-width: 100%;
	margin-left: auto; margin-right: auto;
}

.form-wrapper.form-wrapper-narrow {
	width: 800px;
}

.form-wrapper.form-wrapper-xnarrow {
	width: 600px;
}

.form-text,
.form-text p {
	font-size: 18px; line-height: 1.45em; text-align: justify;
}

.form-text.centered,
.form-text.centered p {
	text-align: center;
}

.form-text p {
	margin: 0.25em 0;
}

.form-error {
	margin: 20px 0;
	color: #e63976;
	font-size: 19px; line-height: 1.5em; font-weight: 700; text-align: center;
}

.form-holder {
	width: 100%; display: block;
	padding: 30px;
	background: rgba(255, 255, 255, 0.5);
}


/* Forms - inputs */

.form-row {
	margin-top: 20px;
}

.form-row .half-column {
	width: 48%; display: block; float: left;
}

.form-row .half-column:last-child {
	margin-left: 4%;
}

.form-row .form-description {
	margin-top: 20px;
	font-size: 14px; line-height: 1.4em; text-align: left;
}

.form-row .input-label {
	width: 100%; display: block;
	padding-left: 5px; margin-bottom: 5px;
	color: #1f7960;
	font-size: 21px; line-height: 1.2em; font-weight: 400; text-align: left;
}

.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="password"] {
	width: 100%; height: 40px; display: block;
	padding: 0 7px;
	background: #fff; border: 1px solid rgba(0, 0, 0, 0.15); border-radius: 3px; color: #303030;
	font-family: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 21px; line-height: 38px; text-align: left;
}

.form-row .checkbox-holder {
	width: 50px; display: inline-block;
	text-align: center; vertical-align: middle;
}

.form-row input[type="checkbox"] {
	display: inline-block;
	vertical-align: middle;
}

.form-row .checkbox-label {
	width: calc(100% - 55px); display: inline-block;
	font-size: 14px; line-height: 1.4em; text-align: left; vertical-align: middle;
}

.form-row .checkbox-label.large {
	font-size: 21px;
}

.form-row input[type="submit"] {
	width: 100%; display: block;
	padding: 12px 10px 10px 10px; margin-top: 20px;
	background: #1f7960; border: 0 none; border-radius: 4px; color: #fff; cursor: pointer;
	font-family: "Montserrat", Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 30px; line-height: 1.25em; font-weight: 600; text-transform: uppercase; text-align: center;
	transition: background-color 0.25s;
}

.form-row input[type="submit"]:disabled {
	background-color: #909090;
	opacity: 0.25;
}

.form-row input[type="submit"]:hover {
	background-color: #1f7960;
	transition: background-color 0.25s;
}

.form-row .captcha {
	display: block;
	padding-top: 3px; margin-bottom: 10px;
	background: rgba(255, 255, 255, 0.35);
	text-align: left;
}

.form-row .captcha img {
	max-width: 100%; display: inline-block;
}


/* Promo 01 section */

.promo-01-section {
	padding: 30px 0;
	background: url("../images/promo-01-bgd.jpg") center top no-repeat;
	border-top: 1px solid #303030; border-bottom: 1px solid #303030;
	text-align: center; text-shadow: 1px 2px 0 rgba(0, 0, 0, 0.8);
}

.promo-01-section.pg {
	background-image: url("../images/promo-01-bgd-pg.jpg");
}

.promo-01-section .promo-holder {
	display: block; float: left;
	padding: 28px 20px;
	background: rgba(0, 0, 0, 0.55); border: 1px solid rgba(255, 255, 255, 0.175); border-radius: 20px;
	text-align: center;
}

.promo-01-section .heading-intro {
	color: #fff;
	font-family: "Montserrat", sans-serif; font-size: 40px; line-height: 1em; font-weight: 600; text-transform: uppercase;
}

.promo-01-section .heading-main {
	margin-top: 10px;
	color: #ff9c00;
	font-family: "Montserrat", sans-serif; font-size: 82px; line-height: 0.85em; font-weight: 700; text-transform: uppercase;
}

.promo-01-section .heading-main span {
	display: block;
	position: relative;
}

.promo-01-section .heading-main .second {
	color: #16a557;
}

.promo-01-section .heading-main .second::before,
.promo-01-section .heading-main .second::after {
	width: 38px; height: 36px; display: block; content: '';
	position: absolute; left: 32px; top: 50%;
	margin-top: -20px;
	background: url('../images/promo-icon-star.png') center center no-repeat;
}

.promo-01-section .heading-main .second::after {
	left: auto; right: 32px;
}

.promo-01-section .heading-main .third {
	font-size: 65px; line-height: 0.85em;
	animation: blinker 1.2s step-start infinite;
}

.promo-01-section .promo-text {
	max-width: 500px; display: inline-block;
	padding-top: 15px; margin-top: 15px;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	font-family: "Noto Serif JP", serif; font-size: 22px; line-height: 1.25em; text-align: justify; text-align-last: center;
}

.promo-01-section .promo-text a {
	font-weight: 400;
}

.promo-01-section .button-holder {
	margin-top: 25px; margin-bottom: 0;
	text-align: center; text-shadow: none;
}

@keyframes blinker {
  50% {
    color: #0e71af;
  }
}


/* Promo 02 section */

.promo-02-section {
	padding: 20px 0;
	background: url("../images/promo-02-bgd.jpg") center top no-repeat;
	border-top: 1px solid rgba(0, 0, 0, 0.3); border-bottom: 1px solid rgba(0, 0, 0, 0.3);
	text-align: center; text-shadow: 1px 2px 0 rgba(0, 0, 0, 0.45);
}

.promo-02-section.pg {
	background-image: url("../images/promo-02-bgd-pg.jpg");
}

.promo-02-section .promo-holder {
	display: block; float: left;
	padding: 28px 20px;
	background: rgba(10, 67, 73, 0.5); border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 20px;
	text-align: center;
}

.promo-02-section .heading-intro {
	position: relative;
	color: #fff;
	font-family: "Montserrat", sans-serif; font-size: 34px; line-height: 1em; font-weight: 600; text-transform: uppercase;
}

.promo-02-section .heading-intro::before,
.promo-02-section .heading-intro::after {
	width: 18px; height: 18px; display: block; content: '';
	position: absolute; left: 12px; top: calc(50% - 10px);
	background: url('../images/promo-icon-star.png') center center no-repeat;
}

.promo-02-section .heading-intro::after {
	left: auto; right: 12px;
}

.promo-02-section .heading-main {
	padding: 14px 16px; margin-top: 10px;
	background: #fff; border-radius: 12px; color: #e63976;
	font-family: "Montserrat", sans-serif; font-size: 68px; line-height: 0.85em; font-weight: 700; letter-spacing: -1.5px; text-transform: uppercase; text-shadow: none;
}

.promo-02-section .heading-main span {
	display: block;
	position: relative;
}

.promo-02-section .heading-main .second {
	color: #0e71af;
	font-size: 69px; line-height: 0.9em;
}

.promo-02-section .heading-main .third {
	font-size: 48px; line-height: 1em;
	animation: blinker 1.2s step-start infinite;
}

.promo-02-section .promo-text {
	max-width: 500px; display: inline-block;
	padding: 15px 8px 0 8px;
	color: #fff;
	font-family: "Montserrat", sans-serif; font-size: 20px; line-height: 1.25em; text-align: justify; text-align-last: center;
}

.promo-02-section .promo-text a {
	color: #fff;
	font-weight: 500; text-decoration: underline;
}

.promo-02-section .button-holder {
	margin-top: 25px; margin-bottom: 0;
	text-align: center; text-shadow: none;
}


/* Promo 03 section */

.promo-03-section {
	padding: 20px 0;
	background: url("../images/promo-03-bgd.jpg") center top no-repeat;
	border-top: 1px solid rgba(0, 0, 0, 0.3); border-bottom: 1px solid rgba(0, 0, 0, 0.3);
	text-align: center; text-shadow: 1px 2px 0 rgba(0, 0, 0, 0.45);
}

.promo-03-section.pg {
	background-image: url("../images/promo-03-bgd-pg.jpg");
}

.promo-03-section .promo-holder {
	display: block; float: left;
	padding: 28px 20px;
	background: rgba(10, 67, 73, 0.5); border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 20px;
	text-align: center;
}

.promo-03-section .heading-intro {
	position: relative;
	color: #fff;
	font-family: "Montserrat", sans-serif; font-size: 34px; line-height: 1em; font-weight: 600; text-transform: uppercase;
}

.promo-03-section .heading-intro::before,
.promo-03-section .heading-intro::after {
	width: 18px; height: 18px; display: block; content: '';
	position: absolute; left: 12px; top: calc(50% - 10px);
	background: url('../images/promo-icon-star.png') center center no-repeat;
}

.promo-03-section .heading-intro::after {
	left: auto; right: 12px;
}

.promo-03-section .heading-main {
	padding: 14px 16px; margin-top: 10px;
	background: #fff; border-radius: 12px; color: #e63976;
	font-family: "Montserrat", sans-serif; font-size: 68px; line-height: 0.85em; font-weight: 700; letter-spacing: -1.5px;  text-transform: uppercase; text-shadow: none;
}

.promo-03-section .heading-main span {
	display: block;
	position: relative;
}

.promo-03-section .heading-main .second {
	color: #0e71af;
	font-size: 62px; line-height: 0.9em;
}

.promo-03-section .heading-main .third {
	font-size: 54px; line-height: 0.92em;
	animation: blinker 1.2s step-start infinite;
}

.promo-03-section .promo-text {
	max-width: 500px; display: inline-block;
	padding: 15px 8px 0 8px;
	color: #fff;
	font-family: "Montserrat", sans-serif; font-size: 20px; line-height: 1.25em; text-align: justify; text-align-last: center;
}

.promo-03-section .promo-text a {
	color: #fff;
	font-weight: 500; text-decoration: underline;
}

.promo-03-section .button-holder {
	margin-top: 25px; margin-bottom: 0;
	text-align: center; text-shadow: none;
}


/* Promo 04 section */

.promo-04-section {
	padding: 20px 0;
	background: url("../images/promo-04-bgd.jpg") center bottom no-repeat;
	border-top: 1px solid rgba(0, 0, 0, 0.3); border-bottom: 1px solid rgba(0, 0, 0, 0.3);
	text-align: center; text-shadow: 1px 2px 0 rgba(0, 0, 0, 0.45);
}

.promo-04-section.pg {
	background-image: url("../images/promo-04-bgd-pg.jpg");
}

.promo-04-section .promo-holder {
	display: block; float: right;
	padding: 28px 20px;
	background: rgba(10, 67, 73, 0.5); border: 1px solid rgba(255, 255, 255, 0.25); border-radius: 20px;
	text-align: center;
}

.promo-04-section .heading-intro {
	padding: 15px 10px 10px 10px;
	background: #fff; border-radius: 14px;
}

.promo-04-section .heading-question {
	color: #a82649;
	font-family: "Montserrat", sans-serif; font-size: 24px; line-height: 1em; font-weight: 600; letter-spacing: -1px;
	text-shadow: none;
}

.promo-04-section .heading-cta {
	color: #ff5582;
	font-family: "Montserrat", sans-serif; font-size: 68px; line-height: 1em; font-weight: 700; letter-spacing: -2.5px; text-transform: uppercase;
	text-shadow: none;
}

.promo-04-section .features-listing {
	width: 640px;
	margin-top: 20px;
	font-size: 0; line-height: 0;
}

.promo-04-section .features-listing .item {
	width: 50%; display: inline-block; vertical-align: top;
	position: relative;
	padding: 20px 0 20px 65px;
	background: url("../images/promo-icon-checkmark.png") left 15px center no-repeat;
	text-align: left;
}

.promo-04-section .features-listing .item:nth-child(1)::after,
.promo-04-section .features-listing .item:nth-child(2)::after {
	width: 90%; height: 1px; display: block; content: "";
	position: absolute; left: 5%; bottom: 0;
	background: #fff;
}

.promo-04-section .features-listing .item .large {
	display: block;
	color: #fff;
	font-size: 28px; line-height: 1.1em; font-weight: 700; text-transform: uppercase;
}

.promo-04-section .features-listing .item .small {
	display: block;
	color: #ffbacc;
	font-family: "Montserrat", sans-serif; font-size: 17px; line-height: 1.1em; font-weight: 500; letter-spacing: -0.5px;
}

.promo-04-section .button-holder {
	margin-top: 25px; margin-bottom: 0;
	text-align: center; text-shadow: none;
}


/* Footer section */

.footer-section {
    padding: 20px 0;
    background: #fff; border-top: 5px solid #e0e0e0;
    font-family: "Montserrat", sans-serif; font-size: 15px; line-height: 1.6em;
    color: #202020;
}

.footer-section {
    padding: 20px 0;
    background: #fff; border-top: 5px solid #e0e0e0;
    font-size: 13px; line-height: 20px;
    color: #202020;
}

.footer-section .disclaimer-container {
    width: 100%;
	display: flex; flex-direction: row;
}

.footer-section .disclaimer {
    display: flex; flex-grow: 1;
    align-items: center; justify-content: center;
    text-align: justify; text-align-last: center;
}

.footer-section .rta {
    width: 300px;
    display: flex;
    align-items: center; justify-content: center;
	text-align: right;
}

@media (max-width: 768px) {
    .footer-section .disclaimer-container {
      flex-direction: column;
    }
    .footer-section .disclaimer,
	.footer-section .rta {
      width: 100%;
	  padding-bottom: 25px;
    }
}

.footer-section .links {
	display: block;
	margin-top: 8px; padding-top: 10px;
	border-top: 1px solid rgba(0, 0, 0, 0.15);
	text-align: center;
}

.footer-section a {
	margin-left: 5px; padding-left: 8px;
	border-left: 1px solid rgba(0, 0, 0, 0.25);
}

.footer-section .links a:first-child {
	margin: 0; padding: 0;
	border: 0 none;
}


/* Autocomplete */

.autocomplete-suggestions {
	max-height: 254px; display: none;
	position: absolute; overflow: hidden; overflow-y: auto; z-index: 9999;
    background: #fff; box-shadow: 0 0 30px rgba(0, 0, 0, 0.75);
	border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.125);
	text-align: left; cursor: default;
}

.autocomplete-suggestion {
	position: relative; overflow: hidden;
	padding: 7px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.125); color: #404040; 
	font-size: 15px; line-height: 23px; white-space: nowrap; text-overflow: ellipsis;
}

.autocomplete-suggestion b {
	color: #1f7960;
	font-weight: bold;
}

.autocomplete-suggestion:hover,
.autocomplete-suggestion.selected {
	background: rgba(0, 0, 0, 0.075); cursor: pointer;
}
