html, body{
	padding: 0;
	margin: 0 ;
	font-family: 'Epilogue', sans-serif;
}

:root{
	--black: #282128;
	--pink:  #DD1FD5;
	--white:  #FFF;
}

.black{
	color: var(--black);
}

.pink{
	color: var(--pink);
}

.white{
	color: var(--white);
}

.bg-black{
	background-color: var(--black);
}

.bg-pink{
	background-color: var(--pink);
}

.bg-white{
	background-color: var(--white);
}

.opaque{
	opacity: 0.7;
}

h1{
	font-size: 48px;
	font-weight: 600;
	line-height: 130%;
}

h2{
	font-size: 24px;
	font-weight: 600;
}

h3{
	font-size: 18px;
	font-weight: 600;
}

h4{
	font-size: 17px;
	font-weight: 600;
}

p, a, ul, li, span{
	font-size: 16px;
	font-weight: 400;
	line-height: 150%;
}

input[type="text"], input[type="email"], input[type="tel"], textarea{
	font-family: 'Epilogue', sans-serif;	
}

select{
	font-family: 'Epilogue', sans-serif;	
	padding: 15px 10px;
	font-size: 16px;
	border-radius: 8px;
}

.small-text{
	font-size: 14px;
}

.text-center{
	text-align: center;
}

.no-padding{
	padding: 0;
}

.no-margin{
	margin: 0;
}

.max-width{
	max-width: 950px;
}

.max-width-small{
	max-width: 650px;
}

.flex{
	display: flex;
}

.semi-bold{
	font-weight: 500;
}

.bold{
	font-weight: 700;
}

.container{
	widows: calc(100% - 30px);
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 15px;
}

.section-padding{
	padding: 80px 0;
} 

@-webkit-keyframes spin {
    from {
        transform:rotate(0deg);
    }
    to {
        transform:rotate(2520deg);
    }
}
.step:hover .spin{
    -webkit-animation-name: spin;
    -webkit-animation-duration: 2800ms;
    -webkit-animation-iteration-count: 1;
    -webkit-animation-timing-function: ease;
}

.no-text-decoration{
	text-decoration: none;
}

header{
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 25px 0;
}

header a{
	text-decoration: none;
}

header .branding{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

header .branding .a-logo{
	text-decoration: none;
	font-size: 18px;
}

header .branding .a-logo img, .footer-logo{
	height: 75px;
}

header .menu-icon{
	padding: 10px 0 10px 10px;
	width: 18px;
	height: 18px;
	display: none;
	flex-direction: column;
	justify-content: space-between;
	cursor: pointer;
}

header .menu-icon .strip{
	width: 100%;
	height: 2px;
	background-color: var(--black);
}

header .main-menu{
	min-width: 50%;
	display: flex;
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
}

header .main-menu a{
	margin: 10px 20px;
	font-weight: 700;
}

header .account-menu{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
}

header .account-menu a:last-child{
	margin-left: 25px;
}

.hero{
	padding: 80px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	align-items: center;
}

.hero-img{
	width: 100%;
	border-radius: 20px;
}

.btn{
	font-size: 16px;
	font-weight: 500;
	border-radius: 14px;
	padding: 24px 32px;
	cursor: pointer;
}

.shadow-dark{
	box-shadow: 7px 5px 0px #691566;
	transition: 0.3s;
}

.shadow-dark:hover{
	box-shadow: -7px -5px 0px #691566;
}

.shadow-light{
	box-shadow: 5px 5px 0px #D1D1D1;
	transition: 0.3s;
}

.shadow-light:hover{
	box-shadow: -5px -5px 0px #D1D1D1;
}

.hero-cta{
	width: 100%;
	padding: 50px 0;
}

.intro, .why{
	display: flex;
	flex-direction: row;
	width: 100%;
	justify-content: center;
	align-items: center;
}

.intro-img, .why-img{
	width: 33.33%;
}

.intro-img img, .why-img img{
	border-radius: 20px;
	width: 100%;
}

.intro-content, .why-content{
	width: calc(66.66% - 100px);
	padding-left: 100px;
}



.about{
	display: flex;
	flex-direction: row;
	width: 100%;
	justify-content: center;
	align-items: center;
}

.about-img{
	width: 33.33%;
}

.about-img img{
	border-radius: 20px;
	width: 100%;
}

.about-content{
	width: calc(66.66% - 100px);
	padding-right: 100px;
}

.quote{
	display: flex;
	flex-direction: row;
	justify-content: center;
	padding: 25px 0;
}

.quote img{
	padding-right: 20px;
}

.before-after-section{
	width: 100%;
	display: flex;
	flex-direction: column;
}

.before-after-intro{
	width: 100%;
	display: flex;
	flex-direction: column;
}

.before-after-block{
	width: 100%;
	display: flex;
	flex-direction: row;
}

.before-after-focus{
	width: calc(100% - 320px);
	height: 700px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 20px;
}

.before-after-focus button{
	width: 150px;
	font-weight: 700;
	text-transform: uppercase;
}

.before-after-series{
	width: calc(300px);
	padding-left: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.before-after-series .entry{
	width: 100%;
	height: 160px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 20px;
	filter: brightness(60%);
	cursor: pointer;
}

.before-after-series .entry:hover{
	filter: brightness(80%);
}

.before-after-series .entry.activated{
	filter: brightness(100%);	
}

.video-section{
	width: 100%;
	display: flex;
}

.video-container{
	position: relative;
	width: 100%;
	cursor: pointer;
}

.video-container img{
	width: 100%;
	border-radius: 20px;
	filter: brightness(80%);
}

.video-container .info{
	position: absolute;
	top: 0;
	left: 0;
	width: calc(100% - 50px);
	padding: 10px 25px;
}

.video-container .player{
	position: absolute;
	top: calc(50% - 50px);
	left: calc(50% - 50px);
}

.video-container .player img{
	-moz-border-radius: 100px;
	-webkit-border-radius: 100px;	
	filter: brightness(100%);
}


.steps{
	display: flex;
	width: 100%;
	flex-direction: row;
	justify-content: space-between;
}

.steps .step{
	width: 30%;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}

.steps .step .step-image{
	padding-right: 15px;
}

.steps .step .step-info{
	display: flex;
	flex-direction: column;
}

.steps .step .step-info p{
	margin: 0;
	padding-bottom: 15px;
}

.steps .step .step-info p:last-child{
	padding-bottom: 0;
}


.faq{
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}

.faq .general-info{
	width: calc(50% - 20px);
	padding-right: 20px;
	display: flex;
	flex-direction: column;
}

.row-cta{
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}

.row-cta .cta-image{
	padding-right: 15px;
}

.row-cta a{
	text-decoration: none;
}

.row-cta a:hover{
	text-decoration: underline;
}

.faq .questions{
	display: flex;
	flex-direction: column;
	width: 50%;
}

.faq .questions .question{
	width: 100%;
	display: flex;
	flex-direction: column;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid rgba(40, 33, 40, 0.1);
}

.faq .questions .question .question-title{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	cursor: pointer;
}

.faq .questions .question .question-title h3{
	line-height: 140%;
}

.faq .questions .question .question-title .expand-collapse{
	width: 24px;
	height: 24px;
	padding: 15px 0;
}

.question .question-title .expand-collapse{
	background-image: url(img/icon-plus.png);
	background-repeat: no-repeat;
	background-position: center;
}

.question.expanded .question-title .expand-collapse{
	background-image: url(img/icon-minus.png);
	background-repeat: no-repeat;
	background-position: center;
}

.question .answer{
	transition: 0.3s;
	overflow: hidden;
  	opacity: 0;   
  	transition: all .5s ease-in-out;
  	height: 0;
}

.question.expanded .answer{
	height: auto;
	opacity: 0.7;
}

footer{
	width: 100%;
	display: flex;
	flex-direction: column;
}

.footer-links{
	width: 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding: 50px 0;
	border-bottom: 1px solid rgba(40, 33, 40, 0.1);
}

.footer-links div{
	display: flex;
}

.footer-links ul{
	padding: 0;
	margin: 0;
	list-style: none;
}

.footer-links ul li{
	display: inline-flex;
	padding: 7px 15px;
}

.footer-links ul li a{
	text-decoration: none;
}

.footer-links ul li a:hover{
	text-decoration: underline;
}

.footer-trademarks{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding: 30px 0;
}


.privacy-links a{
	padding: 0 7px;
}

.contact{
	width: 100%;
	display: flex;
	flex-direction: row;
}

.contact .contact-info{
	width: 40%;
	display: flex;
	flex-direction: column;
}

.contact .contact-form{
	width: calc(60% - 100px);
	padding-left: 100px;
}

.contact .contact-info .contact-cta-wrapper{
	width: 100%;
	display: flex;
	flex-direction: column;
	padding-top: 20px;
}

.contact .contact-info .contact-cta-wrapper .row-cta{
	padding: 10px 0;
}

.contact .contact-form form{
	width: 100%;
	padding-top: 30px;
}

.form-row{
	width: 100%;
	display: flex;
	flex-direction: column;
	padding-bottom: 25px;
}

.form-row label{
	width: 100%;
	padding-bottom: 8px;
}

.form-row input, .form-row textarea{
	font-size: 16px;
	width: calc(100% - 40px);
	padding: 20px;
	border-radius: 10px;
	border: 1px solid rgba(0,0,0,0.15);
}

.form-row textarea{
	min-height: 150px;
}

.blog{
	width: 100%;
	display: flex;
	flex-direction: column;
}

.blog .events{
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

.blog .events .event{
	width: calc(33.33% - 10px);
	display: flex;
	flex-direction: column;
	padding-bottom: 30px;
}

.blog .events .event .event-image{
	width: 100%;
}

.blog .events .event .event-image img{
	border-radius: 16px;
	width: 100%;
}

.login-box{
	width: calc(100% - 42px);
	border: 1px solid rgba(0,0,0,0.1);
	max-width: 650px;
	display: flex;
	justify-content: center;
	padding: 15px 20px;
	border-radius: 20px;
	margin: 0 auto;
}

.login-box .contact-form{
	width: 100%;
}

.my-account-wrapper{
	width: 100%;
	display: flex;
	flex-direction: row;
	padding: 50px 0;
	align-items: flex-start;
}

.my-account-menu{
	width: 300px;
	padding: 10px 20px;
	margin-right: 50px;
	border-radius: 16px;
	border: 1px solid rgba(0,0,0,0.1);
	display: flex;
	flex-direction: column;
}

.my-account-menu a{
	width: 100%;
	padding: 10px 0;
	text-decoration: none;
}

.my-account-menu a:hover{
	text-decoration: underline;
}

.my-account-content{
	width: calc(100% - 392px);
}

.table-wrapper{
	width: 100%;
	display: flex;
	flex-direction: column;
	padding-top: 50px;
}

.table-wrapper table{
	width: 100%;
	font-size: 16px;
}

.table-wrapper table thead{
	background-color: rgba(0,0,0,0.1);
	font-weight: 700;
}

.table-wrapper table td{
	padding: 15px 20px;
}

.testimonial{
	width: calc(100% - 42px);
	padding: 15px 20px;
	display: flex;
	flex-direction: column;
	background-color: rgba(0,0,0,0.05);
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 10px;
	margin-top: 30px;
}

.contract-preview{
	width: calc(100% - 42px);
	padding: 15px 20px;
	border: 1px solid rgba(0,0,0,0.1);
	margin-top: 30px;
}

.gallery{
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
}

.gallery .gallery-entry{
	width: 30%;
	padding-bottom: 30px;
}

.gallery .gallery-entry img{
	width: 100%;
	border-radius: 16px;
}

.terms-wrapper{
	width: 100%;
	display: flex;
	flex-direction: row;
	padding-top: 25px;
}

.terms-wrapper .terms-video{
	width: calc(60% - 25px);
	padding-right: 25px;
}

.terms-wrapper .terms-approval{
	width: 40%;
}

.model-wrapper{
	width: 100%;
	display: flex;
	flex-direction: row;
	padding-top: 25px;
}

.model-wrapper-left{
	width: calc(60% - 30px);
	padding-right: 30px;
	display: flex;
	flex-direction: column;
}

.model-wrapper-right{
	width: 40%;
	display: flex;
	flex-direction: column;
}

.model-info, .model-terms, .model-contract, .related-events-info, .files-documents-info{
	width: calc(100% - 30px);
	padding: 15px;
	display: flex;
	flex-direction: column;
	/* background-color: rgba(0,0,0,0.05); */
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 20px;
	margin-bottom: 30px;
}