/********************************
	Developed by AXA Studios
	The Creative Engine
	http://www.axastudios.com
*********************************/

:root {
	--main-color: #301452;
	--dark-main-color: #181818;
	--light-main-color: #464646;
    
	--sub-color: #4C002C;
	--light-sub-color: #C17BF9;

	/* --bg-color: #F8F3FF; */
	--bg-color: #FAFBF6;
	--bg-rgb-color: 250, 251, 246,;
	--light-bg-color: #F2F2F2;
	--dark-bg-color: #C2C2C2;
	--grey-bg-color: #E9E9E9;

	--text-color: #000000;
	--sub-text-color: #4C002C;
	--light-text-color: #5a5b59;		
	
	--input-bg-color: #F2F2F2;
	--dark-input-bg-color: #313131;
	--input-highlight-color: #FAFAFA;
    --dark-input-highlight-color: #212121;
    
	--border-color: rgba(48, 20, 82, 0.16);
	--grey-border-color: #e8e8e8;	
	--dark-border-color: #E3EAEF;	
	--alpha-border-color: rgba(0, 38, 61, 0.32);

	--black-color: #000000;
	--white-color: #FFFFFF;
	--white-alpha-color: rgba(255, 255, 255, 0.64);
	--hover-white-alpha-color: rgba(255, 255, 255, 0.48);
	--main-white-alpha-color: rgba(255, 255, 255, 0.24);
	--light-white-alpha-color: rgba(255, 255, 255, 0.08);

	--red-color: #e93a3a;
	--green-color: #29AE66;
	--blue-color: #3F7FA8;
	--yellow-color: #F3BB00;

	--main-shadow: 0px 8px 24px rgba(0, 0, 0, 0.16);
	--button-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.08);

	--line-gradient: linear-gradient(90deg, rgba(231, 231, 231, 0.08) 0%, #E7E7E7 50%, rgba(231, 231, 231, 0.08) 100%);
    --white-line-gradient: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.24) 50%, rgba(255, 255, 255, 0) 100%);
    --white-alpha-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%);
    --bg-alpha-gradient: linear-gradient(180deg, rgba(var(--bg-rgb-color) 1) 0%, rgba(var(--bg-rgb-color) 0) 100%);
    
    --double-border-bg: linear-gradient(90deg, rgba(48, 20, 82, 0.00) 0%, rgba(48, 20, 82, 0.12) 50%, rgba(48, 20, 82, 0.00) 100%), linear-gradient(90deg, rgba(255, 255, 255, 0.00) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0.00) 100%);
	--double-border: linear-gradient(90deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.08) 100%), linear-gradient(90deg, rgba(255, 255, 255, 0.72) 100%, rgba(255, 255, 255, 0.72) 100%);

    --block-sub-color-gradient: linear-gradient(135deg, var(--light-sub-color) 0%, var(--sub-color) 100%);
    
    --button-gradient: linear-gradient(180deg, var(--light-sub-color) 0%, var(--sub-color) 100%);
    
	--doc-height: 100%;
    
    --offset-width: calc(100% - ((100% - 1440px) / 2 ));  
    --offset-width-pad: calc(100% - ((100% - 1536px) / 2 ));  

	--xxs-pad: 4px;
	--xs-pad: 8px;
	--sm-pad: 12px;
	--mid-pad: 16px;
	--main-pad: 24px;
	--med-pad: 32px;
	--40-pad: 40px;
	--lg-pad: 48px;
	--xl-pad: 72px;
	--xxl-pad: 96px;
	--max-pad: 192px;

	--xs-neg: -8px;
	--sm-neg: -12px;
	--mid-neg: -16px;
	--main-neg: -24px;
	--lg-neg: -48px;

	--sm-radius: 15px;	
	--main-radius: 30px;
	--input-radius: 15px;
	--med-radius: 48px;
	--lg-radius: 60px;

	--xxl-font: 24px;
	--sm-font: 12px;
	--main-font: 14px;
	--lg-font: 16px;
	--input-font: 14px;
	--button-font: 14px;

	--sm-icon-font: 12px;
	--icon-font: 16px;
	--mid-icon-font: 24px;
	--main-icon-font: 32px;
	--40-icon-font: 40px;
	--lg-icon-font: 48px;
	--xl-icon-font: 64px;
}

/* MAIN STYLES *****************************/

html {
	margin: 0;
	padding: 0;
}
body {
	margin: 0;
	padding: 0;
	background: var(--white-color);
	font-family: 'Lexend', Arial, Helvetica, sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.6;
	color: var(--text-color);
	font-smoothing: subpixel-antialiased;
	-webkit-font-smoothing: subpixel-antialiased;
}

/* TEXT & LINK STYLES *****************************/

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 600;
	margin: 0px;
	font-family: 'Lexend', Arial, Helvetica, sans-serif;
    color: var(--sub-text-color);
}
h1 {
	font-size: 44px;
	font-weight: 600;
	line-height: 1.1;
	margin-bottom: var(--xxs-pad);
}
h2 {
	font-size: 28px;
	font-weight: 600;
	line-height: 1.1;
	margin-bottom: var(--xxs-pad);
}
h3 {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: var(--xxs-pad);
}
h4 {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: var(--xs-pad);
}
h5 {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: var(--xs-pad);
}

p {
	margin: 0px 0px var(--main-pad) 0px;
}
a {
	color: var(--text-color);
	text-decoration: underline;
	text-decoration: none;
	outline: 0 !important;
	transition: color 0.2s ease;
}
a:hover,
a:focus {
	color: var(--sub-color);
	text-decoration: none;
	transition: color 0.3s ease-out;
}
a img {
	border: none;
	outline: 0;
}

:focus {
	-moz-outline-style: none;
	outline: 0;
}
:focus {
	-moz-outline-style: none;
}
::selection {
	background-color: #333333;
	color: #fff;
}
::-moz-selection {
	background-color: #333333;
	color: #fff;
}
img {
	max-width: 100%;
	/*
	height: auto;
*/
}
input:focus,
button:focus {
	outline: none;
}
.no-mob {
}

b, strong {
    font-weight: 700;
}

/* BUTTON STYLES *****************************/

.button,
a.button,
.button:visited,
a.button:visited {
	position: relative;
	display: inline-flex;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	color: var(--white-color);
	line-height: var(--main-pad);
	font-size: var(--button-font);
	font-weight: 600;
    padding: var(--sm-pad) var(--med-pad);
	box-shadow: none;
	outline: none;
	border-radius: var(--input-radius);
	border: none;
	background: var(--main-color);
	transition: all 0.2s ease;
	z-index: 1;
}
.button span{

}
.button:hover,
.button:active,
.button:focus,
a.button:hover,
a.button:active,
a.button:focus {
	color: var(--white-color);
	background: var(--light-main-color);
	box-shadow: none;
	transition: all 0.4s ease;
}
.button.l-btn,
.l-btn:visited,
a.button.l-btn,
a.button.l-btn:visited {
	color: var(--text-color);
	padding: 11px var(--med-pad);
	border: 1px solid var(--border-color);
	min-width: 120px;
	background: none;
	transition: all 0.2s ease;
}
.l-btn:hover,
.l-btn:active,
.l-btn:focus,
a.l-btn:hover,
a.l-btn:active,
a.l-btn:focus {
	background: none;
	color: var(--sub-color);
	border: 1px solid var(--sub-color);
	transition: all 0.4s ease;
}
.white-btn,
.white-btn:visited,
a.white-btn,
a.white-btn:visited {
	background: var(--white-color);
	color: var(--text-color);
    border: none;    
	transition: background-color 0.4s ease;
}
.white-btn:hover,
.white-btn:active,
.white-btn:focus,
a.white-btn:hover,
a.white-btn:active,
a.white-btn:focus {
	background: var(--dark-bg-color);
	color: var(--text-color);
}

.button > *,
a.button > *{
    position: relative;
    z-index: 1;
}

.clear-btn,
.clear-btn:visited,
a.clear-btn,
a.clear-btn:visited {
	background: none;
	color: var(--white-color);
	border: none;
}
.clear-btn:hover,
.clear-btn:active,
.clear-btn:focus,
a.clear-btn:hover,
a.clear-btn:active,
a.clear-btn:focus {
	background: none;
	color: var(--sub-color);
	border: none;
	transition: all 0.4s ease;
}

.button.btn-icon,
a.button.btn-icon{
	padding: var(--xs-pad) var(--main-pad) var(--xs-pad) var(--mid-pad);	
}
.btn-icon i,
.btn-icon div{
	position: relative;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	width: var(--main-pad);
	height: var(--main-pad);
	line-height: var(--main-pad);
	font-size: var(--icon-font);
}
.btn-icon span {
	display: inline-flex;
	padding: 0 0 0 var(--xs-pad);
    font-weight: 600;
}
.btn-icon div img{
	height: var(--mid-pad); 
	width: auto;
}
.btn-icon-sm div img{
	height: 20px; 
	width: auto;
}

.i-btn{
	position: relative;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: var(--40-pad);
	height: var(--40-pad);
	line-height: var(--40-pad);
	font-size: var(--icon-font);
	color: var(--sub-text-color);
    background: var(--dark-main-color);
	box-shadow: none;
	outline: none;
	border: none;
	border-radius: var(--main-radius);
	transition: all 0.2s ease;
}

.i-btn:hover,
.i-btn:active,
.i-btn:focus{
	color: var(--white-color);
	background: var(--sub-color);
    transition: all 0.4s ease-out;
}

.i-btn-clear{
	background: none;
}
.i-btn-clear:hover,
.i-btn-clear:active,
.i-btn-clear:focus{
	color: var(--sub-color);
	background: transparent;
    transition: all 0.4s ease-out;
}
.i-btn-mid{
	width: 40px;
	height: 40px;
	line-height: 40px; 
}

.i-btn-sm{
	width: var(--main-pad);
	height: var(--main-pad);
	line-height: var(--main-pad);
    font-size: var(--sm-icon-font); 
}
.i-btn-lg{
	font-size: 32px;
	color: var(--med-text-color);
}

.txt-btn {
	position: relative;
	display: inline-flex;
	color: var(--sub-text-color);
	background: none;
	border: none;
	box-shadow: none;
	padding: 0px 0px;
	text-decoration: none;
	transition: all 0.2s ease;
}
.txt-btn span {
	position: relative;
	display: flex;
	padding: 0px 12px 0px 0px;
	font-size: var(--button-font);
	line-height: var(--main-pad);
	font-weight: 700;
}
.txt-btn i {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: var(--main-pad);
	height: var(--main-pad);
	line-height: var(--main-pad);
    border: 1px solid rgba(76, 0, 44, 0.08);
    background:var(--white-color);
    border-radius: 50%;
	font-size: 12px; 
    transform: translateX(0);
    transition: all 0.2s ease;
}
.txt-btn:hover i{
    transform: translateX(8px);
	transition: all 0.4s ease-out;
}

.w-txt-btn{
	color: var(--white-color);
}
.txt-btn:hover,
.txt-btn:active,
.txt-btn:focus {
	color: var(--sub-color);
	transition: all 0.4s ease-out;
}

/* FORM STYLES *****************************/

.form-wrap {
	position: relative;
}

.form-row-main {
	margin-left: -24px;
	margin-right: -24px;
}
.form-col-main {
	position: relative;
	display: block;
	width: 50%;
	float: left;
	padding: 0px 24px;
}
.form-wrapper .form-wrap {
	margin-bottom: 0px;
}

.form-subtitle{
	position: relative;
	display: block;
	font-weight: 600;
	line-height: var(--main-pad);
	margin-top: var(--mid-pad);
	margin-bottom: var(--sm-pad);
}
.form-col .form-subtitle{
	width: 100%;
}

.form-cols {
	display: flex;
	margin-left: -12px;
	margin-right: -12px;
}
.form-col {
	position: relative;
	display: block;
	width: 50%;
	width: calc(50% - 24px);
	float: left;
	margin: 0px 12px;
}
.form-col-sm {
	width: 25%;
	width: calc(25% - 24px);
}
.form-col-lg {
	width: 75%;
	width: calc(75% - 24px);
}
.form-cols .form-col {
	display: flex;
	flex-wrap: wrap;
	float: none;
}
.col-margin.form-cols{
	margin-top: 24px;	
}
.form-group {
	position: relative;
	display: block;
	margin-bottom: 24px;
/*	margin-bottom: 32px;*/
}
.form-cols:last-child .form-group{
	margin-bottom: 0;
}
/*
.form-group:not(.form-floating) .control-label {
	position: relative;
	display: block;
	font-weight: 300;
	margin-bottom: 8px;
}
*/
.form-col h3 {
	padding: 0px 20px;
}
.form-control {
	height: 48px;
	padding: 14px 16px 14px 16px;
	font-weight: 600;
	line-height: 18px;
	border: 1px solid var(--input-bg-color);
	font-size: var(--input-font);
	border-radius: var(--input-radius);
	color: var(--text-color);
	background: var(--input-bg-color);
	box-shadow: none;
	transition: border 0.2s ease, background 0.2s ease;
}
.email-input.form-control {
	text-transform: lowercase;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext{
	font-size: var(--input-font);
	height: 48px;
	padding: 14px 16px 14px 16px;
}
.form-control:focus {
	color: var(--text-color);
	border: 1px solid var(--input-highlight-color);
	background: var(--input-highlight-color);
	box-shadow: none;
	transition: border 0.4s ease, background 0.4s ease;
}
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown),
.form-floating > .form-control:focus,
.form-floating > .form-control:not(:placeholder-shown) {
	padding-top: 23px;
	padding-bottom: 7px;
	padding-top: 19px;
	padding-bottom: 3px;
}
.form-floating > label {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-weight: 300;
	color: var(--light-text-color);
	font-size: var(--input-font);
	line-height: 24px;
	padding: 12px 16px;
	overflow: hidden;
	text-align: start;
	text-overflow: ellipsis;
	white-space: nowrap;
	pointer-events: none;
	border: 1px solid transparent;
	transform-origin: 0 0;
	transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label {
	color: var(--sub-color);
	opacity: 1;
	transform: scale(0.8) translateY(-6px) translateX(4px);
}
textarea.form-control {
	min-height: 144px;
	max-height: 200px;
}
.form-control.transparent-input {
	color: var(--white-color);
	background: rgba(255,255,255,0.24);
	border: 1px solid transparent;
	transition: all 0.2s ease;
}
.form-control.transparent-input:focus {
	color: var(--white-color);
	background: rgba(255,255,255,0.32);
	border: 1px solid transparent;
}
input.form-control::-webkit-outer-spin-button,
input.form-control::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number].form-control {
  -moz-appearance: textfield;
}

.form-btns {
	display: flex;
	align-items: center;
	text-align: left;
}
.form-col-sm.form-btns{
	align-items: flex-start;
	justify-content: flex-end;
	text-align: right;
}
.form-select-box {
    position: relative;
    display: block;
}
.form-select-box .selectric-wrapper {
	position: relative;
	border: none;
	width: 100%;
	height: 40px;
}
.form-select-box .selectric {
	border: none;
	background: var(--dark-input-bg-color);
	border-radius: var(--input-radius);
	border: none;
	height: 40px;
}
.form-select-box .selectric-open {
    z-index: 8;
	border-radius: var(--input-radius);
}
.form-select-box .selectric-open.selectric-below .selectric {
	border-radius: var(--input-radius) var(--input-radius) 0 0;
	background: var(--dark-input-bg-color);
}

.form-select-box .selectric-open.selectric-above .selectric {
	border-radius: var(--input-radius);
	border-radius: 0 0 var(--input-radius) var(--input-radius);
	background: var(--dark-input-bg-color);
	z-index: 3;
}
.form-select-box .selectric-open.selectric-below .selectric-items {
	border-radius: 0 0 var(--input-radius) var(--input-radius);
}
.form-select-box .selectric-open.selectric-above .selectric-items {
	border-radius: var(--input-radius) var(--input-radius) 0 0;
}
.form-select-box .selectric-open {
	box-shadow: 0 6px 8px rgba(0, 0, 0, 0.08);
}
.form-select-box .selectric-items {
	display: block;
	opacity: 0;
	padding: 4px;
	background: var(--dark-input-bg-color);
	border: none;
	overflow: hidden;
	-webkit-transform-origin: 50% 0%;
	transform-origin: 50% 0%;
	-webkit-transform: scaleY(0);
	transform: scaleY(0);
	-webkit-transition: transform 0.15s ease-out, opacity 0.1s;
	transition: transform 0.15s ease-out, opacity 0.1s;
}

.form-select-box .selectric-open.selectric-above .selectric-items {
	-webkit-transform-origin: 50% 100%;
	transform-origin: 50% 100%;
	-webkit-transform: scaleY(1);
	transform: scaleY(1);
	opacity: 1;
	-webkit-transition: transform 0.3s ease, opacity 0.2s;
	transition: transform 0.3s ease, opacity 0.2s;
	box-shadow: 0px -6px 12px rgba(0, 0, 0, 0.08);
}

.form-select-box .selectric-open.selectric-below .selectric-items {
	-webkit-transform-origin: 50% 0%;
	transform-origin: 50% 0%;
	-webkit-transform: scaleY(1);
	transform: scaleY(1);
	opacity: 1;
	-webkit-transition: transform 0.3s ease, opacity 0.2s;
	transition: transform 0.3s ease, opacity 0.2s;
	box-shadow: 0 6px 8px rgba(0, 0, 0, 0.08);
}
.selectric-items .selectric-scroll{
	scrollbar-color: rgba(0, 0, 0, 0.24) rgba(0, 0, 0, 0.08);
	scrollbar-width: thin;
}
.selectric-scroll::-webkit-scrollbar {
	width: 8px;
	border-radius: 4px;
	cursor: pointer;
}
.selectric-scroll::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.08);
	cursor: pointer;
	border-radius: 4px;
}
.selectric-scroll::-webkit-scrollbar-thumb {
	background: rgba(0, 0, 0, 0.24);
	border-radius: 4px;
	cursor: pointer;
	transition: background 300ms ease;
}
.selectric-scroll::-webkit-scrollbar-thumb:hover {
	background: rgba(0, 0, 0, 0.32);
	cursor: pointer;
}
.form-select-box .selectric .label {
	height: 40px;
	line-height: 24px;
	margin-right: 48px;
	padding: 8px 0px 8px 16px;
	font-size: 14px;
	color: var(--text-color);
	font-weight: 400;
}
.form-select-box .selectric .button {
	height: 40px;
	width: 40px;
	right: 0px;
	top: 0;
	text-align: center;
	color: var(--text-color);
	background: transparent;
	text-shadow: none;
	z-index: 3;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	-webkit-transition: all 0.1s ease;
	transition: all 0.1s ease;
}
.selectric-open .selectric .button {
	-webkit-transform: rotate(-180deg);
	transform: rotate(-180deg);
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.form-select-box .selectric .button:after {
	line-height: 40px;
	height: 40px;
	width: 40px;
	text-align: center;
	top: 24px;
	top: 0px;
	font-weight: 300;
	color: var(--text-color);
	background: transparent;
	opacity: 1;
}
.form-select-box .selectric-items li {
    position: relative;
    display: block;
	font-size: 14px;
    padding: var(--xs-pad) var(--sm-pad);
	line-height: var(--main-pad);
    color: var(--text-color);
	font-weight: 400;
	border-radius: var(--input-radius);
    cursor: pointer;
}
.form-select-box .selectric-items li:hover {
    background: transparent;
    background: var(--dark-input-highlight-color);
    color: var(--text-color);
    font-weight: 600;
}
.form-select-box .selectric-items li.highlighted{
	font-weight: 600;
	background: var(--dark-input-highlight-color);
}

.white-select.form-select-box .selectric,
.white-select.form-select-box .selectric-items,
.white-select.form-select-box .selectric-open.selectric-below .selectric,
.white-select.form-select-box .selectric-open.selectric-above .selectric{
	background: var(--white-color);
}

.form-control::-webkit-input-placeholder {
	color: var(--text-color);
	color: rgba(112, 119, 125, 0.5);
    font-weight: 400;
}
.form-control::-moz-placeholder {
	color: rgba(112, 119, 125, 0.5);
    font-weight: 400;
}
.form-control:-ms-input-placeholder {
	color: rgba(112, 119, 125, 0.5);
    font-weight: 400;
}
.form-control::placeholder {
	color: rgba(112, 119, 125, 0.5);
    font-weight: 400;
}

.transparent-input.form-control::-webkit-input-placeholder {
	color: var(--text-color);
	color: rgba(255,255,255, 1);
	font-weight: 400!important;
}
.transparent-input.form-control::-moz-placeholder {
	color: rgba(255,255,255, 1);
	font-weight: 400!important;
}
.transparent-input.form-control:-ms-input-placeholder {
	color: rgba(255,255,255, 1);
	font-weight: 400!important;
}
.transparent-input.form-control::placeholder {
	color: rgba(255,255,255, 1);
	font-weight: 400!important;
}

/*
.form-control:focus::-webkit-input-placeholder {
	font-weight: 300;
}
.form-control:focus::-moz-placeholder {
	font-weight: 300;
}
.form-control:focus:-ms-input-placeholder {
	font-weight: 300;
}
.form-control:focus::placeholder {
	font-weight: 300;
}
*/

input:-webkit-autofill,
input:-webkit-autofill:focus,
input:-webkit-autofill:hover,
input:-internal-autofill-selected, 
input:is(:-webkit-autofill, :autofill) {
	-webkit-appearance: none !important;
	-webkit-box-shadow: 0 0 0px 1000px var(--input-bg-color) inset !important;
	background-color: var(--input-bg-color) !important;
	background-image: none !important;
	color: var(--text-color) !important;
}

.form-control.input-error{
    border: 1px solid rgba(220, 53, 69, 0.08);
    border: transparent;
    background: rgba(220, 53, 69, 0.08);
}

.form-group .error-text,
.select-box .error-text,
.checkbox .error-text,
.form-captcha .error-text,
.form-option-group .error-text,
.form-options .error-text {
	position: absolute;
	top: auto !important;
	left: 16px;
	bottom: -20px;
	font-weight: 300;
	color: var(--red-color) !important;
	font-size: 12px !important;
}
.checkbox .error-text {
	bottom: -16px;
	left: 40px;
}
input[type="file"] {

}
.form-fileinput .error-text {
	font-weight: 300;
	color: var(--red-color) !important;
	font-size: 12px !important;
}
.box .inputfile {
	/*    width: 0.1px;*/
	height: 0.1px;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	z-index: -1;
}

.inputfile + label {
	display: flex;
	width: 100%;
	font-size: var(--input-font);
	font-weight: 300;
	text-overflow: ellipsis;
	white-space: nowrap;
	cursor: pointer;
	overflow: hidden;
	padding: 11px 16px;
	margin-bottom: 0px;
}
.inputfile + label span {
	display: inline-block;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	line-height: 24px;
	padding-right: 32px;
/*    font-weight: 600;*/
}
.no-js .inputfile + label {
	display: none;
}

.inputfile:focus + label,
.inputfile.has-focus + label {
}
.inputfile + label i {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	align-items: center;
	width: 48px;
	height: 48px;
	right: 0;
	top: 0;
	font-size: var(--icon-font);
	color: var(--text-color);
}
.inputfile-1 + label {
	border-radius: var(--input-radius);
	color: var(--text-color);
	border: 1px solid var(--input-highlight-color);
	background: var(--input-bg-color);
/*    background: var(--input-highlight-color);*/
	/*	border: 1px solid currentColor;*/
}
.inputfile-1:focus + label,
.inputfile-1.has-focus + label,
.inputfile-1 + label:hover {
	color: var(--text-color);
}
.inputfile + label:hover i {
	color: var(--sub-color);
}
/*
.inputfile-1 + label:hover {
	border: 1px solid var(--dark-border-color);
}
*/

.modal-content .form-control {
    background: var(--bg-color);
}

.ch-btn {
	position: relative;
	display: inline-block;
	display: block;
	vertical-align: middle;

	height: 40px;
	padding-top: 8px;
	margin-bottom: 8px;
}

.ch-inline.ch-btn{
	padding-top: 0px;
	margin-right: 24px;
	margin-bottom: 0px;
}
.ch-inline.ch-btn:last-child{
	margin-right: 0px;
}

.ch-btn input[type="checkbox"] {
	position: absolute;
	left: -49%;
	visibility: hidden;
	height: 1px;
	z-index: 0;
}
.ch-btn label {
	position: relative;
	display: block;
	font-size: var(--input-font);
	font-weight: 300;
	padding-left: 40px;
	line-height: 24px;
	cursor: pointer;
	z-index: 1;
}
.ch-btn label span {
	position: absolute;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	height: 24px;
	width: 24px;
	top: 0px;
	left: 0px;	
	border: 1px solid var(--input-bg-color);
	background: var(--input-bg-color);
	border-radius: 5px;
	z-index: 1;
	text-align: center;
	font-size: 14px;
	color: var(--border-color);
}

.ch-btn label:hover span {
	cursor: pointer;
}
.ch-btn input[type="checkbox"]:checked + label span {
	color: var(--white-color);
	background: var(--sub-color);
	border: 1px solid var(--sub-color);
}
.ch-btn label i {
	display: none;
	height: 24px;
	line-height: 24px;
}
.ch-btn label:hover i,
.ch-btn input[type="checkbox"]:checked + label i {
	display: inline-block;
	opacity: 1;
}
.ch-btn a {
	color: var(--sub-color);
	text-decoration: underline;
/*	text-transform: lowercase;*/
}
.ch-btn a:hover {
	text-decoration: none;
}

.radio-btn{
	position: relative;
	display: flex;
	overflow: hidden;
	height: 40px;
	margin-bottom: 8px;
	padding-left: 0px;
}
.radio-normal{
	display: flex;
	padding-top: 8px;
}
.radio-inline{
	position: relative;
	display: inline-flex;
	overflow: hidden;
	padding-top: 0px;
	margin-bottom: 0;
	margin-right: var(--main-pad);
}
.radio-inline:last-child{
	margin-right: 0;	
}
.radio:hover,
.radio-btn label:hover{
	cursor: pointer;
}
.radio-label{
	display: block;
	margin: 0;
	font-size: var(--input-font);
	font-weight: 300;
	padding-left: 40px;
	line-height: 24px;
} 
.radio-btn input{
	position: absolute;
	visibility: hidden;
}
.radio-btn .radio-cir{
	position: absolute;
	display: block;
	height: 24px;
	width: 24px;
	left:0px;
	top:0px;
	border: none;
	border: 1px solid var(--input-bg-color);
	background: var(--input-bg-color);
	border-radius: 50%;
	z-index: 2;
	transition: all .2s ease;
}
.radio-btn .radio-cir:after{
	position: absolute;
	content: '';
	display: block;
	left:6px;
	top:6px;
	height: 10px;
	width: 10px;
	border-radius: 50%;
	background: transparent;
	transition: all .2s ease;
}
.radio-btn input[type="radio"]:checked + .radio-cir{
	border: none;
	border: 1px solid var(--sub-color);
}
.radio-btn input[type="radio"]:checked + .radio-cir:after{
	background: var(--sub-color);	
}

.grecaptcha-badge {
	visibility: hidden;
}

.input-button{
    position: relative;
	display: flex;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	color: var(--white-color);
	line-height: var(--main-pad);
	font-size: var(--button-font);
	padding: var(--sm-pad) var(--mid-pad);
	box-shadow: none;
	outline: none;
	border-radius: var(--main-radius);
	border: none;
	background: var(--main-white-alpha-color);
	transition: all 0.2s ease;
	z-index: 1;
}
.input-button:hover{
    cursor: pointer;
	background: var(--hover-white-alpha-color);    
}
.input-button span{
    font-weight: 300;
}

.input-button:after {
    content: "\f105";
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
    align-items: center;
	text-align: left;
	width: var(--lg-pad);
	height: var(--lg-pad);
	line-height: var(--lg-pad);
	color: var(--white-color);
	background: none;
	font-size: 16px;
	font-family: "Font Awesome 7 Pro";
	font-weight: 300;
}


/* WRAPPER STYLES *****************************/

#outer-wrapper {
	position: relative;
	display: block;
    animation: opac-in-animate 0.5s ease-out forwards;
}
#outer-wrapper.no-anim {
	animation: none!important;
}

#scroll-wrapper {
	overflow: initial !important;
}

html.no-scroll, 
html.open-menu{
	overflow: hidden;
    scrollbar-gutter: stable;
}
body.menu-open #outer-wrapper{
	overflow: hidden;
    scrollbar-gutter: stable;
}

#main-wrapper {
	position: relative;
	padding-top: var(--main-pad);
	padding-top: 0;

	z-index: 1;
}
#sub-wrapper {
	position: relative;	
/*	z-index: 1;*/
}
#content-wrapper {
	position: relative;
}
.sub-page #content-wrapper {
	padding-top: var(--max-pad);
	padding-top: 160px;
}
.banner-top-page #content-wrapper {
	padding-top: 0;
}
.banner-top-page{
    background: var(--white-color);
}
.home-wrap{
/*    background: var(--dark-main-color);*/
}
.home-wrap #main-wrapper{   
    overflow: hidden;
}
    
#content-wrapper-full{
    padding-top: 80px;
}

.wrapper-no-pad,
.sub-page #content-wrapper.wrapper-no-pad {
	padding: 0;
}

#content-main {
	position: relative;
    display: flex;
    flex-direction: column;
	min-height: 60vh;
	padding: var(--xl-pad) 0px var(--xxl-pad) 0px;
	padding: 0px;
}

#bg-wrapper {
	position: fixed;
	content: "";
	display: none;
	opacity: 0;
	width: 100%;
	height: 110%;
	top: 0;
	z-index: 98;
	background: rgba(0, 0, 0, 0.72);
	background: rgba(34, 37, 42, 0.72);
}

.show-bg #bg-wrapper {
	display: block;
	opacity: 1;
	animation: opac-in-animate 0.2s ease forwards;
}

/*
.menu-ani #bg-wrapper {
	display: block;
	opacity: 1;
	animation: opac-out-animate 0.2s ease-in forwards;
}
*/

#bg-nav {
	position: fixed;
	content: "";
	display: none;
	opacity: 0;
	width: 100%;
	height: 100dvh;
	top: 0;
    left: 0;
	z-index: 2;
    background: rgba(14, 31, 59, 0.48);
    backdrop-filter: blur(8px);
}
.menu-open #bg-nav {
	display: block;
	opacity: 1;
	animation: opac-in-animate 0.2s ease forwards;
}
.menu-ani #bg-nav {
	display: block;
	opacity: 1;
	animation: opac-out-animate 0.2s ease-in forwards;
}


/* HEADER STYLES *****************************/

#header {
	position: fixed;
	display: block;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 9;
	transition: all 0.2s ease;
}
#header .container{
    padding: 0 24px;
}
#header.sticky {
    background: var(--white-color);
	transition: all 0.2s ease-out;
    padding-top: 0;
    box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.12);
}

/*
#header.sticky:after {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 1px;
	left: 0;
	bottom: 0;
	z-index: -1;
	background: var(--white-line-gradient);
}

.show-bg #outer-wrapper:not(.banner-top, .home-wrap) #header:after,
.show-bg #header:after,
.show-bg #header.sticky:after {
	opacity: 0;
}
*/

#header .container{
    position: relative;
    display: flex;
    max-width: 100%;
}


.header-main {
	position: relative;
	display: flex;
/*    flex-grow: 1;*/
}

.home-wrap .header-main {
    transform: translateY(-100%);
	animation: top-in-animate 0.6s ease-out forwards;
}

.header-left{
	position: relative;
	display: flex;
    width: 20%; 
}
/* .header-center{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
    align-items: center;
    width: 20%;
} */
.logo-main {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
    z-index: 4;
}
.logo-main a {
	position: relative;
	display: block;
	opacity: 1;
	transition: all 0.2s ease;
}
.logo-main a:hover {
	opacity: 0.64;
	transition: all 0.4s ease-out;
}
.logo-main a span {
	position: relative;
	z-index: 1;
}
.logo-main-light,
.white-header .logo-main-dark {
	display: flex;
}
/* .logo-main-dark,
.white-header .logo-main-light {
	display: none;
}
#header.sticky .logo-main-light {
	display: none;
}
#header.sticky .logo-main-dark {
	display: flex;
} */

.logo-main-dark {
	display: flex;
}

.logo-icon{
	display: none;    
}

.logo-main img {
	height: 40px;
	width: auto;
	vertical-align: top;
}
.nav-wrap {
	position: relative;
	display: flex;
    justify-content: center;
    width: 60%;
}
.nav-logo-main{
    margin-left: 40px;
}
.nav-logo-main img{
    height: 36px; 
    width: auto;
}
.nav-main {
	position: relative;
	display: flex;
    flex-direction: row;
	margin: 0 auto;
    padding: var(--mid-pad) 0px;
}
.nav-main ul {
	position: relative;
	display: flex;
    flex-direction: row;
	list-style: none;
	padding: 0;
	margin: 0;
}
.nav-main > ul > li {
	position: relative;
	display: flex;
	padding: 0;
    margin: 0 0 ;
}
.nav-main > ul > li > a{
	position: relative;
	display: flex;
	margin: 0;
	padding: var(--sm-pad) var(--sm-pad);
	line-height:var(--main-pad);
	color: var(--text-color);
	font-size: var(--main-font);
	font-weight: 500;
	text-decoration: none;
	transition: all 0.2s ease;
}

.menu-icon-link{
    position: relative;
	display: flex;
}


.nav-header-mobile{
    display: none;
}
.header-right{
	position: relative;
	display: flex;
    justify-content: flex-end;
    width: 20%;
}
.header-buttons{
	position: relative;
	display: flex;    
}
.header-button {
	position: relative;
	display: flex;
	padding: var(--mid-pad) 0;
}
.header-button .button {
	margin-left:var(--main-pad); 
}
.header-contact-btn-mob{
    display: none;
}

.nav-toggle {
	display: flex;
    display: none;
	position: relative;
	cursor: pointer;
	width: 24px;
	height: 24px;
	padding: 0px;
	margin: 28px 24px 28px 0px;
	background: none;
	border: none;
	overflow: hidden;
    z-index: 4;
}
.header-nav-top .nav-toggle {
	margin: 8px 0px;
}
.nav-icon {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
}

.nav-icon span,
.menu-ani .nav-icon span {
	display: block;
	position: absolute;
	top: 11px;
	left: 4px;
	right: 4px;
	height: 1px;
/*	background: var(--white-color);*/
	background: var(--text-color);
}
.nav-icon span:before,
.nav-icon span:after,
.menu-ani .nav-icon span:before,
.menu-ani .nav-icon span:after {
	content: "";
	position: absolute;
	display: block;
	left: 0px;
	width: 100%;
	height: 1px;
	background: var(--text-color);
	transition-duration: 0.2s, 0.2s;
	transition-delay: 0.2s, 0s;
}

.header-nav-top .nav-icon span:before,
.header-nav-top .nav-icon span:after,
.header-nav-top .menu-ani .nav-icon span:before,
.header-nav-top .menu-ani .nav-icon span:after {
	background: var(--text-color);
}

.nav-icon span:before,
.menu-ani .nav-icon span:before {
	top: -5px;
	transition-property: top, transform;
}
.nav-icon span:after,
.menu-ani .nav-icon span:after {
	bottom: -5px;
	transition-property: bottom, transform;
}
.menu-ani .nav-icon span,
.menu-open .nav-icon span {
	background: none;
}
.menu-open .nav-icon span:before {
	top: 0;
	width: 100%;
	transform: rotate(45deg);
}
.menu-open .nav-icon span:after {
	bottom: 0;
	width: 100%;
	transform: rotate(-45deg);
}
.menu-open .nav-icon span:before,
.menu-open .nav-icon span:after {
	transition-delay: 0s, 0.2s;
}

.header-app-buttons,
.show-mob,
.nav-main > ul > li.show-mob{
	display: none;
}

/* STICKY HEADER *****************************/

#header.sticky .menu-ani .nav-icon span,
.white-header .menu-ani .nav-icon span,
.open-menu .menu-ani .nav-icon span,
#header.sticky .nav-icon span:before, 
.white-header .nav-icon span:before, 
.open-menu .nav-icon span:before, 
#header.sticky .nav-icon span:after, 
.white-header .nav-icon span:after, 
.open-menu .nav-icon span:after, 
#header.sticky .menu-ani .nav-icon span:before, 
.white-header .menu-ani .nav-icon span:before, 
.open-menu .menu-ani .nav-icon span:before, 
#header.sticky .menu-ani .nav-icon span:after,
.white-header .menu-ani .nav-icon span:after,
.open-menu .menu-ani .nav-icon span:after{
    background: var(--text-color); 
}

/*
#outer-wrapper.transparent-header:not(.menu-open) #header:not(.sticky) .nav-icon span, 
#outer-wrapper.transparent-header:not(.menu-open) #header:not(.sticky) .menu-ani .nav-icon span,
*/
#outer-wrapper.transparent-header:not(.menu-open) #header:not(.sticky) .nav-icon span,
#outer-wrapper.transparent-header:not(.menu-open) #header:not(.sticky) .nav-icon span:before, 
#outer-wrapper.transparent-header:not(.menu-open) #header:not(.sticky) .nav-icon span:after, 
#outer-wrapper.transparent-header:not(.menu-open) #header:not(.sticky) .menu-ani .nav-icon span:before,  
#outer-wrapper.transparent-header:not(.menu-open) #header:not(.sticky) .menu-ani .nav-icon span:after{
    background: var(--white-color);  
}

#header.sticky .nav-main > ul > li > a, 
.white-header .nav-main > ul > li > a{
    color: var(--text-color); 
}

#header.sticky .nav-main > ul > li > a:hover, 
.white-header .nav-main > ul > li > a:hover{
    color: var(--sub-color)
}

#header.sticky .white-btn, 
#header.sticky a.white-btn{
    background: var(--bg-color);  
}
#header.sticky .white-btn:hover, 
#header.sticky a.white-btn:hover{
    background: var(--dark-bg-color);   
}

/* GENERAL CONTENT STYLES *****************************/

.content-top-wrap{
	margin-bottom:var(--main-pad); 
}

.content-mid-wrap{
	padding-top: 144px;
	margin-bottom:var(--main-pad); 
}

.content-top-text{
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0 var(--main-pad); 
}
.content-top-tabs{
	position: relative;
	display: flex;
	margin-left: auto;
	padding: 0 var(--main-pad); 
}

.content-main-wrapper {
	position: relative;
	display: flex;
	margin-left: var(--sm-neg);
	margin-right: var(--sm-neg);
}
.content-left,
.content-main {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0 var(--sm-pad);
}
.content-left{
	width: 33.3333%;	
}
.content-main {
	width: 100%;
}
.content-left + .content-main {
	width: 66.6666%;
}
.content-right {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 30%;
	width: 408px;
	padding-left: 48px;
}

.content-popover{
    display: none;
}

/* MAIN BANNER STYLES *****************************/

#banner-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
}
.banner-main-wrapper {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	z-index: 3;
}
#banner-main {
	position: relative;
	display: flex;
    height: 100svh;
    overflow: hidden;
    background: url(../images/theweekendclass-banner-bg.webp) var(--bg-color) center bottom no-repeat;
    background-size: cover;
}

.banner-main-img{
    position: relative;
    display: flex;
    justify-content: center;
	align-items: flex-end;
	padding-top: 80px;
    width: 100%;
    z-index: 2;    
}
.banner-main-img-main{
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    width: 960px;
	height: 100%;
    overflow: hidden;
}
.banner-main-img img{
    height: auto;
    max-height: 100%;
    width: auto;
}

.banner-main-lg-text {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
	bottom: 0;
	left: 0;
	z-index: 1;
}
.banner-lg-text{
    position: relative;
    display: flex;
    justify-content: center;
    font-size: 220px;
}
.lg-text-dark{
    color: var(--sub-text-color);
    font-weight: 600;
}
.lg-text-light{
    color: var(--white-color);
    text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.04);
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: var(--white-color);
    /* -webkit-text-stroke-color: rgba(255, 255, 255, 0.72); */
    font-weight: 900;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.24) 14%, rgba(255, 255, 255, 0.96) 56%, rgba(255, 255, 255, 0.24) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    backdrop-filter: blur(24px);
    opacity: 0.48;
}

.banner-text-wrap{
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;	
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	color: var(--sub-text-color);
    z-index: 2;
}
.banner-text{
	position: relative;
	display: flex;
	flex-direction: column;
    padding: 64px;
}
.banner-text-wrap .banner-text{
    width: 36%;
}
.banner-header{
	position: relative;
	margin-bottom: var(--mid-pad);  
}
#banner-main .banner-header h1{
    position: relative;
    font-size: 28px;
    margin: 0;
}
.banner-text-main{
	position: relative;
	display: flex;
	flex-direction: column;
    padding-right: 5%;
}
.banner-text-main p{
    margin-bottom: 0;    
}
.banner-text p{
   font-size: 18px;
}
.banner-text-button{
	position: relative;
	display: flex; 
    margin-top: var(--lg-pad); 
}

.main-banner-video{
    position: absolute;
	display: flex;
	flex-direction: column;
    align-items: center;
	justify-content: center;	
	width: 96px;
	height: 96px;
    bottom: 64px;
    right: 64px;
    padding: 8px;
    background: rgba(255, 255, 255, 0.48);
    border-radius: 50%;
    overflow: hidden;
    z-index: 3;
}
.main-banner-video:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    border-radius: 50%;
    pointer-events: none;
    border: 1px solid transparent;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0) 100%) border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: destination-out;
    mask-composite: exclude;
}

.banner-video-inline{
    position: relative;
    display: flex;
    align-items: center;
	justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    cursor: pointer;
}
#banner-video-inline{
    height: 100%;
    width: auto;
    z-index: 1;
}
.banner-video-inline span{
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 32px;
    width: 100%;
    height: 100%;
    color: rgba(255, 255, 255, 0.64);
    background: rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    z-index: 2;
    transition: all 0.2s ease;
}
.main-banner-video:hover .banner-video-inline span{
    /* color: var(--sub-color); */
    color: rgba(255, 255, 255, 1);
    transition: all 0.4s ease-out;
}

/* VIDEO *****************************/


#video-banner{
    position: relative;
	display: flex;
    background: var(--white-color);
    padding: 240px 0 48px 0;
}

.video-banner-wrapper{
    position: relative;
	display: flex;
	background: var(--white-color);
	border-radius: var(--lg-radius);    
}
.main-video{
    position: relative;
	display: flex;
	border-radius: var(--lg-radius); 
    overflow: hidden;       
}
.main-video:after{
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, 0.48);
}
.main-video img{
    width: 100%;
    height: auto;
}

.play-btn {
    position: absolute;
	top: calc(50% - 60px);
	left: calc(50% - 60px);
	display: flex;
    flex-direction: column;
    justify-content: center;
    background:rgba(234, 234, 234, 0.48);
    backdrop-filter: blur(2px);
    padding: 12px;
    height: 120px;
    width: 120px;
    border-radius: 50%;
    cursor: pointer;
    transform: scale(1);
    transition: all 0.2s ease;
}
.play-btn span{
    position: relative;
	display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 40px;
    height: 96px;
    width: 96px;
    background: (255, 255, 255, 0.48);
    backdrop-filter: blur(2px);
    border-radius: 50%;
}
.play-btn i{

}
.play-btn:hover{
    transform: scale(1.08);
    transition: all 0.4s ease-in-out;
}

.banner-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    overflow: hidden;
    opacity: 1;
    transition: all 0.2s ease;
    z-index: 1;
}

.banner-loading-wrapper {
	position: absolute;
	display: flex;
	flex-direction: column;
	height: 100vh;
	width: 100vw;
	padding: var(--xxl-pad) 0px;
	z-index: 3;
	align-items: center;
	justify-content: center;
	color: var(--white-color);
}

#banner-loading-animation{
	width: 20%;
	height: auto;
}
.loader {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: inline-block;
    position: relative;
    border: 3px solid;
    border-color: #FFF #FFF transparent transparent;
    box-sizing: border-box;
    animation: rotation 2s linear infinite;
}
.loader::after,
.loader::before {
    content: '';  
    box-sizing: border-box;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border: 3px solid;
    border-color: transparent transparent rgba(255,255,255,0.5) rgba(255,255,255,0.5);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    box-sizing: border-box;
    animation: rotationBack 1.0s linear infinite;
    transform-origin: center center;
}
.loader::before {
    width: 32px;
    height: 32px;
    border-color: #FFF #FFF transparent transparent;
    animation: rotation 1.5s linear infinite;
}
    
@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
} 
@keyframes rotationBack {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(-360deg);
    }
}


/* VIDEO MODAL *****************************************/

.video-modal{
    background-color: rgba(0,0,0,0.4);
    /* background-color:rgba(76, 0, 44, 0.5); */
    backdrop-filter: blur(5px);
}

.video-modal.modal.fade .modal-dialog {
    transition: transform 0.2s ease;
    transform: translate(0) scale(0.3);
}

.video-modal.modal.fade.show .modal-dialog {
    transition: transform 0.5s ease-out;
    transform: translate(0) scale(1);
}

.video-modal .modal-dialog {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	width: 84%;
	max-width: 84%;
	align-self: center;
	margin: 0px auto;
}
.video-modal .modal-content {
	position: relative;
	background: transparent;
	border: 0px;
	box-shadow: none;
	border-radius: 0px;
    height: 90%;
    max-height: 90%;
    height: auto;
    padding-bottom: 48px;
}

.video-modal.show .modal-content > * {
    animation: opac-in-animate 0.5s ease-in forwards;   
    animation-delay: 0s;
}

.video-modal .modal-header{
    padding: 0px;
    height: 48px;
}

.video-modal .btn-close{
    color: var(--white-color); 
    top: 8px;
    right: 0px;
    right: 48px;
    font-size: 20px;
}

.video-modal .modal-body{
	position: relative;
    width: 100%;
    height: auto;
}

.video-modal .banner-video{   
    position: relative;
    width: 100%;
    height: auto;
	max-height: 100%;
    object-fit: cover;
    outline: 0;
    left: initial;
    top: initial;
    transform: none;
}

/* CONTENT BANNER STYLES *****************************/

.content-banner-wrap {
	position: relative;
	display: flex;
	padding: 240px 0px;
}

.content-offset{
    overflow: hidden;
}
.no-pad-top{
    padding-top: 0px;
}
.no-pad-bottom{
    padding-bottom: 0px;
}
.content-banner-wrap-sm {
	padding: var(--xxl-pad) 0px;
}
.content-banner-wrap-top-pad {
	padding-top: var(--xxl-pad);
}
.content-banner-wrap-bottom-pad {
	padding-bottom: var(--xxl-pad);
}
.content-banner {
	position: relative;
	display: flex;
	flex-direction: row;
	margin: 0 var(--main-neg);
}
.content-banner.content-banner-col{
    flex-direction: column;
}

.content-banner-title {
	position: relative;
	display: block;
    color: var(--text-color);
	margin-bottom: var(--sm-pad);
}
.content-banner-title.extra-margin{
	margin-bottom: var(--main-pad);    
}
.content-banner-title h1,
.content-banner-title h2,
.content-banner-title h3,
.content-banner-title h4{
    margin: 0;
}
.banner-inline-block .content-banner-title,
.banner-inline-block .content-banner-title{
    margin-bottom: var(--xs-pad); 
}
.banner-inline-block .content-banner-title h2,
.banner-inline-block .content-banner-title h3{
    line-height: 1.2;
}
.banner-blk-row .content-banner-title {
    margin-bottom: 0;
}
/*
.content-banner-title h2 b{
    font-style: normal;
    font-weight: 700;
    color: var(--sub-color);
}
 .content-banner-title h1 span,
.content-banner-title h2 span,
.content-banner-title h3 span,
.content-banner-title h4 span{
    color: var(--sub-color);
    color: transparent;
    background-image: var(--sub-color-gradient);
    background-clip: text;
} 
    */

.banner-blk-txt,
.banner-blk-img {
	position: relative;
	display: flex;
	width: 50%;
	padding: 0px var(--main-pad);
	align-content: flex-start;
	flex-direction: column;
}
.banner-blk-txt p{
    /* color: var(--light-text-color);     */
}
.banner-blk-txt.p-no-margin p:last-child{
    margin: 0;
}
.banner-blk-txt ul{
    margin: 0 0 var(--main-pad) 0;
    padding-left: 18px;
}

.banner-blk-row {
    display: flex;
    flex-direction: row;
    margin-bottom: var(--mid-pad);
}
.content-banner.content-banner-col .banner-blk-row {
    margin-bottom: 0;
}
.banner-blk-row.banner-blk-row-full {
    width: 100%;
    gap: var(--lg-pad);
    margin: 0;
}
.banner-blk-row .banner-blk-left {
    width: 50%;
}
.banner-blk-row .banner-blk-right {
    width: 50%;
}
.banner-blk-row > a {
    margin-left: auto;
}
.banner-blk-sm {
	padding: 0 10%;
}
.banner-blk-lg {
   width: 75%; 
}
.banner-blk-txt-full{
	width: 100%;
}
.banner-blk-txt-margin {
	margin-bottom: var(--main-pad);
}
.banner-blk-offset{
    margin-left: calc(33.333% + var(--lg-pad));
    margin-left: calc(33.333% + 32px);
}
.banner-blk-full{
	position: relative;
	display: flex;
	width: 100%;
	padding: 0px var(--main-pad);
	margin-bottom: var(--lg-pad);
}
.banner-blk-full .button{
	margin-left: auto;
}
.banner-txt-left .banner-blk-txt {
	padding-right: 144px;
}
.banner-txt-right .banner-blk-txt {
	padding-left: 144px;
}
.banner-blk-txt .button,
.banner-blk-txt .txt-btn{
	align-self: flex-start;
}
.banner-blk-txt .button{
    margin-top: var(--main-pad); 
}
.banner-blk-txt.btn-end{
    flex-direction: row;
	align-items: flex-end;
	justify-content: flex-end;
}
.banner-blk-txt.btn-end .button{
	align-self: flex-end;
    margin: 0;
}
.banner-blk-txt-right{
    justify-content: flex-end;
    align-items: flex-end;
    text-align: right;
}
.inline-btn-end{
    display: flex;
    flex-direction: row;
	align-items: flex-end;
	justify-content: flex-end;
}

.banner-blk-txt-sm{
    padding-right: var(--xxl-pad); 
    padding-right: 10%;
}

.content-banner-text {
	position: relative;
	color: var(--text-color);
    color: var(--light-text-color);
	margin-bottom: var(--lg-pad);
}
.intro-txt{
    font-size: 20px;
    line-height: 1.4;
	margin-bottom: var(--main-pad);
}
.lg-txt{
    font-size: 18px;
    line-height: 1.4;    
}
/*.banner-blk-txt .content-banner-text:last-child {*/
.banner-blk-txt .content-banner-text:last-of-type:not(:only-of-type) {
	margin: 0;
}
.content-banner-text.no-margin {
	margin-bottom: 0px;
}

.intro-txt p,
.content-banner-text p:last-child {
	margin-bottom: 0px;
}
.content-banner-buttons {
	display: flex;
}
.content-banner-buttons .button {
	margin-right: var(--mid-pad);
}
.content-banner-title + .content-banner-buttons {
	margin-top: var(--lg-pad);
}
.blk-txt-left{
   text-align: left; 
}

.banner-title-full{
    position: relative;
	flex-direction: column;
	color: var(--text-color);
    margin-bottom: var(--lg-pad);
}
.banner-title-full h2{
    margin: 0;
}

.banner-blk-img {
	width: 50%;
}
.banner-img-full {
    display: flex;
    height: 100%;
	width: 100%;
}
.banner-blk-img span{
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: var(--lg-radius) var(--med-radius);
}
.banner-img-full span{
    position: relative;
    display: block;
    overflow: hidden;
}
.banner-blk-img img, 
.banner-img-full img {
	height: auto;
	image-rendering: -webkit-optimize-contrast;
}

.content-blocks-wrap .banner-img-full img{
    height: 100%;
    width: 100%;
    max-width: initial;
    object-fit: cover;
    object-position: left center;
}

.content-banner-center {

	justify-content: center;
}
.content-banner-center .banner-blk-txt {
	text-align: center;
	width: 50%;
	margin-bottom: var(--lg-pad);
}
.content-banner-center .banner-blk-full {
    flex-direction: column;
    text-align: center;
    margin-bottom: var(--lg-pad);
}
.content-banner-center .content-banner-title {
	text-align: center;
	margin-bottom: var(--mid-pad);
}
.content-banner-center .banner-blk-full .content-banner-title {
    display: flex; 
    align-self: center;
}
.content-banner-center .no-margin.content-banner-title {
    margin: 0;
}
.content-banner-center .banner-blk-txt .btn,
.content-banner-center .banner-blk-txt .button{
	align-self: center;
	margin-top: var(--main-pad);
}

.content-banner-center .blk-txt-left{
    text-align: left;
}
.content-banner-center .blk-txt-left .txt-btn{
	align-self: flex-start;
	margin-top: var(--main-pad);
}
.banner-blk-txt.no-pad,
.content-banner-center .banner-blk-txt.no-pad{
	margin: 0;
}
.center-blk-img {
	position: relative;
	display: flex;
	width: 50%;
	flex-direction: column;
	padding: 0px;
	margin: 0 auto;
}
.center-blk-img img{
	width: 100%;
	height: auto;
}
.single-title h1,
.single-title h2,
.single-title h3{
	margin: 0;
}
.banner-blk-txt.single-button{
	margin: var(--lg-pad) 0 0 0 ;
}

.banner-inline-block{
	position: relative;
	display: flex;
	flex-direction: column;
/*    flex-wrap: wrap;*/
}
.banner-inline-txt{
    padding: var(--lg-pad);
}
.banner-inline-txt .txt-btn{
    margin-top: var(--main-pad);
    margin-top: auto;
    align-self: flex-start;
}

.banner-inline-img{
 	position: relative;
	display: flex;
	flex-direction: column;   
    margin-top: var(--main-pad); 
}
.banner-inline-img img{
 	width: 100%;
	height: auto;   
}

.content-blocks-small .banner-inline-block{
    margin-right: 1px;
}
.content-blocks-small .inline-block-sm{
    width: 50%;
    width: calc(50% - 1px);
    flex-grow: 1;
}
.content-blocks-small .inline-block-sm p{
    margin: 0;
}

.banner-large-text{
	position: relative;
	display: flex;
    font-weight: 600;
    font-size: 56px;
    line-height: 64px;
    margin-bottom: 32px;
    width: 100%;
}

.content-banner-full-img {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0px;
}
.banner-full-img-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0px;
}
.banner-full-img {
	position: relative;
	overflow: hidden;
	border-radius: var(--main-radius);
	box-shadow: var(--main-shadow);
	padding: 0;
	width: 100%;
}
.banner-full-img img {
	width: 100%;
	height: auto;
}
.content-banner-wrap.full-image-banner{
    padding: var(--xxl-pad) 0;
}

.banner-blk-inline-title{
	position: relative;
	display: flex;	
	flex-grow: 1;
	justify-content: space-between;
	padding: 0px var(--main-pad);
	margin-bottom: var(--lg-pad);
}
.banner-blk-inline-title .content-banner-title{
	margin: 0;
}
.banner-blk-inline-title .content-banner-title h1,
.banner-blk-inline-title .content-banner-title h2,
.banner-blk-inline-title .content-banner-title h3{
	line-height: var(--lg-pad);
	margin: 0;
}
.banner-blk-inline-title .button{
	margin-left: auto;
}

.banner-blk-inline{
	position: relative;
	display: flex;	
	background: var(--bg-color);
	border-radius: var(--main-radius);
	padding: var(--xs-pad) var(--main-pad);
	margin: 0 var(--main-pad); 
}
.content-banner-center .banner-blk-inline{
	justify-content: center;
}
.banner-blk-inline div{
	font-weight: 600;
	padding: 0 var(--xs-pad);
	line-height: var(--main-pad);
}
.banner-blk-inline div span{
	font-weight: 300;
}
.content-banner-center .highlight-text{
    margin-top: 120px;
}
.highlight-text p{
    font-size: 24px;
    color: var(--med-text-color);
}
.light-banner{
	background: var(--bg-color); 
}
.dark-banner{
	background: var(--dark-main-color); 
	color: var(--white-color); 
}
.dark-banner h2,
.dark-banner h3,
.dark-banner h4 {
	color: var(--white-color); 
}
.dark-banner .content-banner-text{
	color: var(--white-color);     
}
.read-more-btn,
.show-popover-inline-btn{
    display: none;
}
.banner-txt-info-row {
    display: flex;
    flex-direction: row;
}

.banner-sub-lg-text {
	position: absolute;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	width: 100%;
	bottom: 0;
	right: 0;
	z-index: 1;
    padding: 64px;
}
.sub-banner-lg-text{
    position: relative;
    display: flex;
	flex-direction: row;
	justify-content: flex-end;
    font-size: 160px;
    line-height: 0.8;
	font-family: Arial, Helvetica, sans-serif;
}
.sub-lg-text-light{
    color: var(--white-color);
    text-shadow: 1px 1px 8px rgba(0, 0, 0, 0.04);
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: var(--white-color);
    /* -webkit-text-stroke-color: rgba(255, 255, 255, 0.72); */
    font-weight: 900;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.24) 14%, rgba(255, 255, 255, 0.96) 56%, rgba(255, 255, 255, 0.24) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;
    backdrop-filter: blur(24px);
    opacity: 0.48;
}

.banner-sub-lg-text {
    opacity: 0;
}
#home-icon-blocks.animate .banner-sub-lg-text {
    animation: left-in-animate 0.7s ease-out forwards;
    animation-delay: 0.4s;
}

/* CONTENT ELEMENT STYLES *****************************/

.icon-blocks{
	position: relative;
	display: flex; 
    margin-left: -12px;
    margin-right: -12px;
    margin-top: var(--lg-pad);
}
.icon-block {
	position: relative;
	display: flex;
    flex-direction: column;
    padding: var(--lg-pad);
    margin: 0 var(--sm-pad) var(--lg-pad) var(--sm-pad);  
    border-radius: var(--lg-radius);
    background: var(--bg-color);
    background: linear-gradient(93deg, rgba(255, 255, 255, 0.24) 8.71%, rgba(255, 255, 255, 0.24) 54.35%, rgba(255, 255, 255, 0.00) 100%);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.04);
    backdrop-filter: blur(24px);
}
.icon-blocks .icon-block {
    width: calc(33.3333% - var(--main-pad));
}
.icon-blocks .icon-block.icon-block-margin{
    margin: var(--lg-pad) var(--sm-pad) 0 var(--sm-pad);
}
.icon-block-icon{
	position: relative;
	display: flex;
	flex-direction: column;
    justify-content: center;
    align-items: center;
    width:56px; 
    height:56px; 
	color: #8F89FF; 
    font-size: 28px;
	border-radius: var(--sm-radius);
    background: rgba(255, 255, 255, 0.48);
    box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.02);
    margin-bottom: var(--med-pad); 

}
.pink-icon.icon-block-icon{
    color: #D288FF;
}
.light-icon.icon-block-icon{
    color: #FFACAC;
}
.icon-block-title{
    position: relative;
    display: flex;
    color: var(--text-color);
    margin-bottom: var(--xs-pad);
}
.icon-block-title h3{
    margin: 0;
}
.icon-block-text{
    position: relative;
    display: flex;
    flex-direction: column;
    padding-bottom: var(--lg-pad); 
    color: var(--light-text-color);
}

.icon-block-text a{
    display: block;
    color: var(--light-text-color);
}
.icon-block-text a:hover{
    color: var(--sub-color);
}
.icon-block-btn{
    position: relative;
    display: flex;
    padding-top: var(--lg-pad); 
    margin-top: auto; 
}
.icon-block-btn:after{
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    left: 0;
    top: -1px;
    z-index: 0;
    background: var(--double-border-bg);
    background-position: top, bottom;
    background-size: 100% 1px, 100% 1px;
    background-repeat: no-repeat;
}


/* IMAGE BLOCKS STYLES *****************************/


.image-blocks-slider-wrapper{
    position: relative;
    display: flex;
    width: 100%;    
}
.image-blocks-full{
    position: relative;
	display: flex;
    margin-left: -24px;
    margin-right: -24px;
    overflow: visible;
}

.image-blocks-full .image-block,
.image-blocks-full .image-block.swiper-slide {
    position: relative;
	display: flex;
    flex-direction: column;
    width: 33.333%;
    padding: 0 var(--main-pad);     
}
.image-block.swiper-slide.image-block-margin{
    padding-top: var(--lg-pad); 
}
.image-blocks-full .image-block-wrap{
    position: relative;
	display: flex;
    flex-direction: column;
    border-radius: var(--main-radius); 
    overflow: hidden;
    background: var(--white-color);
}
.image-blocks-full .image-block-wrap:after{    
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(var(--bg-rgb-color) 0) 40%, rgba(var(--bg-rgb-color) 1) 80%);
    z-index: 0;
}
.image-blocks-full .img-blk-1 .image-block-wrap{
    border-top-left-radius: 0;
}
.image-blocks-full .img-blk-3 .image-block-wrap{
    border-top-right-radius: 0;
}

#dance-styles {
    position: relative;
    flex-direction: column;
    background: var(--bg-color);
}
#dance-styles .banner-blk-full p{
    width: 50%;
    align-self: center;
    color: var(--light-text-color);
}
.image-blocks {
    position: relative;
	display: flex;
    /* flex-wrap: wrap; */
    overflow: visible; 
    width: 100%;
}
.image-blocks .image-block,
.image-blocks .image-block.swiper-slide {
    position: relative;
	display: flex;
    flex-direction: column;
    /* width: 33.333%; */
    padding: 0 var(--main-pad);
    border-radius: var(--main-radius); 
}
.image-blocks .image-block-wrap{
    position: relative;
	display: flex;
    flex-direction: column;
    border-radius: var(--main-radius); 
    overflow: hidden;
    background: var(--white-color);
    background: #fafbf6;
    box-shadow: 0 0 24px 8px rgba(0, 0, 0, 0.04);
}
.image-block-img{
    position: relative;
	display: flex;
    flex-direction: column;
    width: 100%;
    padding-bottom:var(--lg-pad);
}
/* .image-blocks-full .image-block-img{
    padding-bottom:var(--xl-pad);
} */
.image-block-img img{    
    object-fit: cover;
    object-position: center center;
    width: 100%;
    height: 100%;    
}
.image-block-content{
    position: absolute;
    left: 0;
    bottom: 0;
	display: flex;
    padding: var(--lg-pad);
    flex-direction: column; 
    z-index: 1;
}
.image-block-title{
    position: relative;
	display: flex;      
}
.image-block-text{
    position: relative;
	display: flex;    
}
.image-blocks-full .image-block-text{
    margin-bottom: var(--lg-pad);
    color: var(--light-text-color);
}
.image-block-text p{
    margin: 0;   
}

.swiper-navigation{
    position: relative;
    width: 80px;
    margin: var(--lg-pad) auto;
}

/* SLIDER STYLES *****************************/

.swiper-slide {
    height: auto;
	width: auto;
	margin: 0 auto;
}
.swiper-button-next, 
.swiper-button-prev {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    width: var(--med-pad);
    height: var(--med-pad);
    margin:0;
    cursor: pointer;
    color: var(--text-color);
	border-radius: 5px; 
	background: var(--light-bg-color);
    transition: all 0.2s ease;
    z-index: 10;
}
.swiper-button-prev{
    left: 0;
}
.swiper-button-next{
    right:0;
}
.swiper-button-next:after, 
.swiper-button-prev:after {
    content: "\f105";
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0px;
    font-size: 20px;
    font-family: "Font Awesome 7 Pro";
    font-weight: 300;
    transition: all 0.2s ease;
}
.swiper-button-prev:after {
    content: "\f104";
}
.swiper-button-next:hover, 
.swiper-button-prev:hover {
    background: var(--main-color);
    color: var(--white-color);
    transition: all 0.4s ease-out;
}
.swiper-controls {
    position: relative;
    display: flex;
    width: 20%;
    min-width: 320px;
    margin-top: 24px;
    top: initial;
    bottom: initial;
    height: 48px;
    padding: 0 ;
}
.swiper-controls .swiper-scrollbar{
    position: relative;
    display: flex;
    width: 70%;
    margin-left: 24px;
}
.swiper-controls .swiper-navigation{
    position: relative;
    display: flex;
    width: 30%;
}
.swiper-controls .swiper-navigation .swiper-button-prev{
    left: 0;
    background: transparent;
    border: none;
}
.swiper-controls .swiper-navigation .swiper-button-next{
    right: 0;
    background: transparent;
    border: none;
}

.swiper-horizontal > .swiper-scrollbar, 
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    position: relative;
    left: 0;
    top: 22px;
    bottom: initial;
    height: 4px;
    width: 98%;
    z-index: 5;
}
.swiper-scrollbar {
    border-radius: 0px;
    position: relative;
    -ms-touch-action: none;
}
.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--main-color);
    border-radius: 0px;
    left: 0;
    top: 0;
}

/* CONTACT PAGE *****************************/


#contact-banner{
    position: relative;
	display: flex;
    background: var(--white-color);
    padding: 240px 0px;
}
.contact-banner-wrap{
    position: relative;
	display: flex;
    width: 100%;
    background: url(../images/theweekenclass-map.webp) center center no-repeat var(--white-color);
    background-size: cover;
}

.contact-banner-wrap:after,
.contact-banner-wrap:before {
    display: block;
    position: absolute;
    content: '';
    width: 100%;
    height: 20%;
    left: 0;
    z-index: 0;
}
.contact-banner-wrap:before{
    top: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 20%, rgba(255, 255, 255, 0) 100%);
}
.contact-banner-wrap:after{
    bottom: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 80%);
}

#contact-banner .container{
    position: relative;
    display: flex;
    height: 640px;
    z-index: 2;
}

.contact-main {
    position: relative;
    position: absolute;
    top: -48px;
    right: 48px;
	display: flex;
	flex-direction: column;
    align-self: flex-end;
    /* margin: 48px 0px 48px auto; */
    width: 40%;
    padding: var(--lg-pad);   
    color: var(--light-text-color);
	background: var(--white-color);
    box-shadow: 0 0 24px 8px rgba(0, 0, 0, 0.04);
	border-radius: var(--lg-radius);
}
.contact-main .nav-tabs{
    position: relative;
	display: flex;
    margin-bottom: 48px;
    border: none;
    border-bottom: 1px solid var(--border-color);
}
/* .contact-main .nav-tabs:after{
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    background: (--border-color);
    background: green;
    z-index: 0;
} */
.contact-main .nav-item{
    position: relative;
	display: flex;
    width: 50%;
    border: none;
}
.contact-main .nav-link {
    display: flex;
    justify-content: center;
    line-height: var(--main-pad);
    width: 100%;
    padding: var(--sm-pad) var(--mid-pad) 12px var(--mid-pad);
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: #B4B4B4;
    text-decoration: none;
    background: none;
    border: none;
    border-radius: 0px;
    border-bottom: 3px solid transparent;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}
.contact-main .nav-link:hover {
    border-bottom: 3px solid transparent;
}
.contact-main .nav-tabs .nav-link.active{
    color: var(--sub-text-color);
    border-bottom: 3px solid var(--sub-text-color);
}
.contact-main .nav-tabs .nav-link.active span,
.contact-main .nav-tabs .nav-link.active span b{
    font-weight: 500;
}
.contact-main .nav-link i{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: var(--main-pad);
    height: var(--main-pad);
    line-height: var(--main-pad);
    font-size: 14px;
}
.contact-main .nav-link span{
    line-height: var(--main-pad);
    margin-left: var(--xs-pad);
}
.contact-main .nav-link span b{
    font-weight: 400;
}
.contact-form-wrap{
    position: relative;
	display: flex; 
}
.contact-form-block {
    position: relative;
	display: flex;
	flex-direction: column;
}
.content-form-title {
	position: relative;
	margin-bottom: var(--xs-pad);
}
.content-form-title h2,
.content-form-title h3 {
    color: var(--sub-text-color);
	margin: 0;
}
.contact-form-block textarea.form-control {
    min-height: 112px;
}
.contact-form-block .form-btns{
    display: flex;
    justify-content: flex-end;
}
.contact-form-block .form-btns .button{
    min-width: 120px;
	justify-content: center;
}
.contact-map{
    position: relative;
	display: flex;  
}
.contact-map:before{
    display: block;  
	position: absolute;
    content: '';
    width: 100%;
    height: 20%;
    top: 0;
    left: 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}
.contact-map-block-wrap{
    position: relative;
	display: flex;  
}
.contact-map-block {
    position: absolute;
    display: flex;
    flex-direction: column;
    width: 280px;
    top: 30%;
    left: 12%;    
    padding: var(--main-pad);
    padding-right: 72px;
    background: var(--white-color);
    color: var(--text-color);
    border-radius:  var(--main-radius);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 8px 8px 0 rgba(0, 0, 0, 0.04);
    background: var(--light-bg-color);
    background: #FCFCFC;
    z-index: 3;
}
.contact-map-block-logo {
    position: relative;
	display: flex; 
    margin-bottom: 24px;
}
.contact-map-block-logo img{
    height: 32px;
    width: auto;
}
.contact-map-block-title {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 8px;
}
.contact-map-block-title h4{
    margin: 0;;
}
.contact-map-block-text {
    position: relative;
    font-size: 14px;
    margin-bottom: var(--main-pad);
    color: var(--light-text-color);
}
.contact-map-block .button {
    align-self: flex-start;
}

/* CONTENT OVERRIDES *****************************/

#usp-blocks{
    background: var(--bg-color);
}
#home-intro{
    background: var(--bg-color);
}
#home-intro h2{
    font-size: 44px;
}
#dance-styles{
    padding-bottom: 120px;
}
#home-icon-blocks{
    padding-top: 120px;
    background: var(--bg-color);
    background: url(../images/theweekendclass-verwachting-bg.webp) var(--bg-color) center top no-repeat;
    background-size: cover;     
}
#home-icon-blocks:before{
    content: '';
    position: absolute;
    display: block;
    height: 10%;
    width: 100%;
    left: 0;
    top: 0;
    background: var(--bg-alpha-gradient);
}


/* RESPONSIVE WARNING STYLES *****************************/

.responsive-warning-container {
    position: fixed;
    background: var(--dark-main-color);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    color: var(--white-color);
    display: none;
}
.responsive-warning {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.responsive-warning-icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--main-white-alpha-color);
    color: var(--sub-color);
    font-size: var(--main-icon-font);
    border-radius: 50%;
    margin-bottom: var(--main-pad);
}
.responsive-warning-content {
    width: 80%;
}
.responsive-warning-content h2 {
    line-height: 1.2;
    margin-bottom: var(--xs-pad);
}
.responsive-warning-content p {
    margin-bottom: var(--main-pad);
}

/* FOOTER STYLES *****************************/

#footer {
	position: relative;
	padding: 0;
	margin: 0;
    background: linear-gradient(95deg, #F7EFFF 0%, #DEE0FF 100%);
}
.footer-top {
	position: relative;
	display: flex;
	flex-direction: column;
    padding:var(--xxl-pad) 0;
}
.footer-content {
	position: relative;
	display: flex;
	padding: 0px;
    margin-left: -48px;
    margin-right: -48px;
}
.footer-col-logo {
	position: relative;
	display: flex;
	flex-direction: column;
    padding: 0 var(--lg-pad);
	width: 25%;
}
.footer-logo {
	position: relative;
    display: flex;
	padding: 0px;
    margin-bottom: var(--lg-pad); 
}
.footer-logo img {
	height: 40px;
	width: auto;
}
.footer-col {
	position: relative;
	display: flex;
	flex-direction: column;
    padding: 0 var(--lg-pad);
	width: 25%;
}
.footer-menu {
	position: relative;
	display: flex;
	flex-direction: column;
    font-size: var(--main-font);
}
.footer-menu + .footer-menu {
    margin-top: var(--main-pad);
}
.footer-menu-title {
    padding-top: var(--xs-pad);
    margin-bottom: var(--xs-pad);
}
.footer-menu-title h5{
	margin: 0;
}
.footer-menu-list {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 0;
	margin: 0;
	list-style: none;
}
.footer-menu-list li {
	margin: 0;
    font-weight: 300;
	padding: var(--xxs-pad) 0;
	line-height: var(--main-pad);
	color: var(--light-text-color);	
}
.footer-menu-list a {
    position: relative;
	color: var(--light-text-color);	
    font-size: var(--main-font);
    transition: all ease 0.2s;
}
.footer-menu-list a:hover {
	color: var(--sub-text-color);
	transition: all ease-out 0.4s;
}

.footer-bottom {
	position: relative;
	display: flex;
    background: rgba(48, 20, 82, 0.04);
    font-size: var(--sm-font);
	padding: var(--mid-pad) 0px;
}
.footer-bottom .container{
	position: relative;
	display: flex;
}
.footer-copyright{
	position: relative;
	display: flex;
	padding: 0;
    width: 50%;    
}
.footer-copyright-text{
	color: var(--light-text-color);
    line-height: var(--med-pad);
    font-size: var(--main-font);
    font-weight: 400;
}
.footer-bottom-menu{
	position: relative;
	display: flex;
    justify-content: flex-end;
	padding: 0;
    width: 50%;      
}
.footer-bottom-menu ul{
	position: relative;
	display: flex;
	flex-direction: row;
	padding: 0;
	margin: 0;
	list-style: none;
}
.footer-bottom-menu ul li {
	margin: 0;
    font-weight: 300;
    font-size: 12px;
	padding: var(--xxs-pad) 0;
    margin-left: 16px;
	line-height: var(--main-pad);
	color: var(--light-text-color);	
}
.footer-bottom-menu ul a {
    position: relative;
	color: var(--light-text-color);	
    font-size: var(--main-font);
    transition: all ease 0.2s;
}
.footer-bottom-menu ul a:hover {
	color: var(--sub-text-color);
	transition: all ease-out 0.4s;
}

.footer-social {
	position: relative;
	display: flex;
    justify-content: flex-end;
	padding: 0;
    width: 50%;
}
.footer-socials{
	list-style: none;
	display: flex;
	margin: 0;
	padding: 0;
    align-self: flex-start;
}
.footer-socials li{
	margin: 0 var(--mid-pad) 0 0;
	padding: 0;
}
.footer-socials a{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;	
	width: var(--med-pad);
	height: var(--med-pad);
	line-height: var(--med-pad);
    color: var(--sub-text-color);
    font-size: 16px;
}
.footer-socials a:hover{
	color: var(--sub-color);
}

/* MODAL STYLES *****************************/
/* 
body.modal-open {
	padding: 0px !important;
	overflow-y: hidden;
} */

/* html.open-modal{
    overflow: hidden;
} */
/* body.modal-open #outer-wrapper {
	overflow: hidden;
    scrollbar-gutter: stable;
} */
/* body.modal-open {
    padding-right: 0px!important;
    overflow: hidden;
} */


body.modal-open #header .container{
    padding-right: 39px;
}


.modal-backdrop {
	background: rgba(0, 0, 0, 1);
}
.modal-backdrop.in,
.modal-backdrop.show {
	opacity: 0.72;
}

.modal {
	z-index: 9999;
}
.modal-open .modal {

}
.modal.modal-static .modal-dialog {
	-webkit-transform: none;
	transform: none;
}
.modal-dialog {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	width: 33%;
	min-width: 520px;
	max-width: 90%;
	max-width: 560px;
	align-self: center;
	margin: 0px auto;
}
.modal-large .modal-dialog {
	width: 1120px;
	max-width: calc(100% - 32px);
}
.modal-content {
	position: relative;
	background: var(--white-color);
	border: 0px;
	box-shadow: 0px 0px 25px rgba(0, 0, 0, 0.1);
	box-shadow: var(--main-shadow);
	border-radius: var(--main-radius);
}
.modal-content > * {
    opacity: 0;    
}
.show .modal-content > * {
    animation: opac-in-animate 0.5s ease-in forwards;   
    animation-delay: 0.4s;
}
.modal-content.modal-content-wrap {
	display: flex;
	flex-direction: row;
	padding: 0;
	background: var(--light-bg-color);
	overflow: hidden;
}
.modal-content-left {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 64px;
	width: 54%;
	height: 100%;
	background: var(--light-bg-color);
}
.modal-content-title {
	position: relative;
	height: 32px;
}
.modal-content-title h3,
.modal-content-title h4 {
	margin: 0;
}
.modal-content-text {
	position: relative;
	display: flex;
	flex-direction: column;
	margin-right: -16px;
	height: calc(100% - 32px);
	height: 560px;
	overflow: hidden;
}
.modal-header {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 48px 48px 24px 48px;
	border: 0px;
}
.modal-content-wrap .modal-header {
	padding: 48px 48px 0px 48px;
}
.modal-header h2,
.modal-header h3 {
	margin-bottom: 8px;
    color: var(--dark-main-color);
}
.modal-header p {
	margin: 0;
	color: var(--dark-main-color);
}
.btn-close {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	box-sizing: border-box;
	width: 24px;
	height: 24px;
	padding: 0;
	color: var(--main-color);
	background: none;
	border: 0;
	border-radius: 0px;
	font-size: 16px;
	opacity: 1;
	outline: none;
	transition: color 0.2s ease;
}
.btn-close:hover,
.btn-close:active,
.btn-close:focus {
	opacity: 1;
	box-shadow: none;
	outline: none;
	color: var(--light-text-color);
	transition: color 0.4s ease-out;
}
.modal-header .btn-close {
	padding: 0;
	margin: 0;
	position: absolute;
	top: 24px;
	right: 24px;
}
.video-modal .modal-header .btn-close {
    top: 16px;
    right: 48px;
}
.modal-content-wrap .modal-header .btn-close {
	top: 8px;
	right: 8px;
}
.modal-body {
	padding: 0px 48px;
	min-height: 160px;
}
.modal-padding .modal-body {
	padding-bottom: 48px;
}
.modal-body .form-btns {
    display: flex;
    justify-content: space-between;
	margin-bottom: 48px;
}
.modal-body .form-btns .button{
    width: calc(50% - 12px);
    justify-content: center;
}
.modal-body p {
	margin: 0;
	margin-bottom: 16px;
}
.modal-footer {
	padding: 0px 48px 48px 48px;
	border: 0px;
	text-align: left;
	justify-content: flex-start;
}
.modal-footer > * {
	margin: 0;
}
.modal-success {
	position: relative;
	display: none;
	justify-content: center;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	border-radius: 0;
	flex-direction: column;
	text-align: center;
	background: var(--white-color);
	z-index: 9;
	opacity: 1;
}
.complete.modal-success {
	position: absolute;
	display: flex;
	padding: 0px;
	opacity: 1;
	animation: opac-in-animate 0.3s ease-out forwards;
}
.modal-success-block {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	text-align: center;
	padding: 48px 24px;
	z-index: 9;
}
.modal-success-icon {
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
	width: 96px;
	height: 96px;
	line-height: 96px;
	padding: 0;
	border-radius: 50%;
	font-size: 80px;
    color: var(--green-color); 
	margin: 0 auto 32px auto;
}
.modal-success-icon img {
	display: none;
	margin: 0 auto;
}
.complete.modal-success .modal-success-icon img {
	display: flex;
}
.modal-success-block h4 {
    color: var(--text-color);
}
.modal-success-block p {
	color: var(--light-text-color);
	margin-bottom: 48px;
	padding: 0 5%;
}

.modal-success-button {
	display: flex;
	justify-content: center;
}
.modal-success-button .button {
}

/* Loader *****************************************/

.waiting {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 1);
	background: var(--bg-color);
	z-index: 9;
	text-align: center;
	vertical-align: middle;
}
.form-wrap .waiting {
	width: 102%;
	left: -1%;
}

.form-wrapper .waiting {
	background: #ffffff;
}

.loader-wrap {
	position: relative;
	display: flex;
	width: 100%;
	height: 100%;
	justify-content: center;
	opacity: 0;
	animation: opac-in-animate 0.3s ease-out forwards;
}

.lds-ripple {
	display: block;
	position: relative;
	width: 64px;
	height: 64px;
	width: 56px;
	height: 56px;
	display: flex;
	justify-content: center;
	/*	top: 150px;*/
	align-self: center;
}
.lds-ripple div {
	position: absolute;
	border: 3px solid var(--sub-color);
	opacity: 1;
	border-radius: 50%;
	animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.lds-ripple div:nth-child(2) {
	animation-delay: -0.5s;
}
@keyframes lds-ripple {
	0% {
		top: 28px;
		left: 28px;
		width: 0;
		height: 0;
		opacity: 1;
	}
	100% {
		top: -1px;
		left: -1px;
		width: 58px;
		height: 58px;
		opacity: 0;
	}
}

/* SUB PAGE ANIMATIONS *****************************/

/* HOME */
#banner-main .banner-header,
#banner-main .banner-text-main,
#banner-main .banner-text-button,
#banner-main .banner-main-img-main,
#banner-main .banner-lg-text,
#banner-main .main-banner-video {
    opacity: 0;
}

#banner-main.animate .banner-main-img-main {
    animation: btm-in-animate 0.5s ease-out forwards;
}
#banner-main.animate .banner-lg-text {
    animation: left-in-animate 0.7s ease-out forwards;
    animation-delay: 0.4s;
}
#banner-main.animate .main-banner-video {
    animation: btm-in-animate 0.5s ease-out forwards;
    animation-delay: 0.2s;
}
#banner-main .banner-header {
    transform: translateY(100%);
}
#banner-main.animate .banner-header {
    transform: translateY(0%);
    transition: transform 0.4s ease-out, opacity 0.2s ease-out;
    opacity: 1;
    transition-delay: 0.2s;
}
#banner-main.animate .banner-text-main {
    animation: btm-full-animate 0.4s ease-out forwards;
    animation-delay: 0.6s;
}
#banner-main.animate .banner-text-button {
    animation: btm-full-animate 0.4s ease-out forwards;
    animation-delay: 0.8s;
}

.banner-blk-txt .content-banner-title.anim-title,
.anim-text{
    opacity: 0;
}
.animate .banner-blk-txt .content-banner-title.anim-title {
    animation: left-in-animate 0.5s ease-out forwards;
}
.animate .anim-text {
    animation: btm-in-animate 0.5s ease-out forwards;
    animation-delay: 0.2s;
}

#usp-blocks .image-block-wrap{
    opacity: 0;
}

#usp-blocks.animate .image-block:nth-child(1) .image-block-wrap{
    animation: btm-in-animate 0.6s ease-in-out forwards;
    animation-delay: 0.2s;
}
#usp-blocks.animate .image-block:nth-child(2) .image-block-wrap {
    animation: btm-in-animate 0.6s ease-in-out forwards;
    animation-delay: 0.4s;
}
#usp-blocks.animate .image-block:nth-child(3) .image-block-wrap {
    animation: btm-in-animate 0.6s ease-in-out forwards;
    animation-delay: 0.6s;
}

#usp-blocks .image-block-wrap{
    opacity: 0;
}

#usp-blocks.animate .image-block:nth-child(1) .image-block-wrap{
    animation: btm-in-animate 0.6s ease-in forwards;
    animation-delay: 0.2s;
}

#dance-styles .banner-blk-full,
#dance-styles .image-blocks-slider-wrapper,
#dance-styles .swiper-navigation{
    opacity: 0;
}
#dance-styles.animate .banner-blk-full{
    animation: btm-in-animate 0.7s ease-out forwards;
}
#dance-styles.animate .image-blocks-slider-wrapper{
    animation: btm-in-animate 0.7s ease-out forwards;
    animation-delay: 0.2s;
}
#dance-styles.animate .swiper-navigation{
    animation: opac-in-animate 0.7s ease-out forwards;
    animation-delay: 0.4s;
}


#home-icon-blocks .icon-block{
    opacity: 0;
}
#home-icon-blocks.animate .icon-block:nth-child(1){
    animation: btm-in-animate 0.6s ease-out forwards;
    animation-delay: 0.2s;
}
#home-icon-blocks.animate .icon-block:nth-child(2) {
    animation: btm-in-animate 0.6s ease-out forwards;
    animation-delay: 0.4s;
}
#home-icon-blocks.animate .icon-block:nth-child(3) {
    animation: btm-in-animate 0.6s ease-out forwards;
    animation-delay: 0.6s;
}

#video-banner .banner-blk-txt,
#video-banner .video-banner-wrapper{
    opacity: 0;
}
#video-banner.animate .banner-blk-txt{
    animation: btm-in-animate 0.7s ease-out forwards;
}

#video-banner.animate .video-banner-wrapper{
    animation: zoom-in-animate 0.7s ease-in-out forwards;
}



/* ANIMATIONS *****************************/

@keyframes opac-in-animate {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes opac-out-animate {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@keyframes btn-animate {
	0%,
	100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
}
@keyframes pop-in-animate {
	0% {
		opacity: 0;
		transform: scale(0);
	}
	90% {
		opacity: 1;
		transform: scale(1.1);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
@keyframes zoom-in-animate {
	0% {
		opacity: 0;
		transform: scale(0.3);
	}
	100% {
		opacity: 1;
		transform: scale(1);
	}
}
@keyframes title-in-animate {
	0% {
		transform: translateY(100%) rotate(7deg);
		opacity: 0;
	}
    5% {opacity: 1;}
	100% {
		transform: translateY(0%) rotate(0deg);
		opacity: 1;
	}
}
@keyframes top-in-animate {
	0% {
		transform: translateY(-100%);
	}
	100% {
		transform: translateY(0%);
	}
}
@keyframes top-in-opac-animate {
	0% {
		transform: translateY(-100%);
        opacity: 0;
	}
	100% {
        transform: translateY(0%);
        opacity: 1;
	}
}
@keyframes top-in-sm-opac-animate {
	0% {
		transform: translateY(-40%);
        opacity: 0;
	}
	100% {
        transform: translateY(0%);
        opacity: 1;
	}
}
@keyframes btm-in-animate {
	0% {
		transform: translateY(20%);
		opacity: 0;
	}
	100% {
		transform: translateY(0%);
		opacity: 1;
	}
}
@keyframes btm-full-animate {
	0% {
		transform: translateY(100%);
		opacity: 0;
	}
    25% {
		opacity: 1;        
    }
	100% {
		transform: translateY(0%);
		opacity: 1;
	}
}
@keyframes left-in-animate {
	0% {
		transform: translateX(-20%);
		opacity: 0;
	}
	100% {
		transform: translateX(0%);
		opacity: 1;
	}
}
@keyframes right-in-animate {
	0% {
		transform: translateX(20%);
		opacity: 0;
	}
	100% {
		transform: translateX(0%);
		opacity: 1;
	}
}
@keyframes menu-in-animate {
	0% {
		transform: translateY(10%);
		opacity: 0;
	}
	100% {
		transform: translateY(0%);
		opacity: 1;
	}
}

@keyframes zoomOut {
	0% {
		opacity: 1;
	}
	50% {
		opacity: 0;
		transform: scale3d(0.3, 0.3, 0.3);
	}
	to {
		opacity: 0;
	}
}

@keyframes zoomIn {
	0% {
		opacity: 0;
		transform: scale3d(0.3, 0.3, 0.3);
	}
	50% {
		opacity: 1;
	}
    to {
		opacity: 1;
	}
}

@keyframes blur-in-animate {
	0% {
		backdrop-filter: blur(0px);
	}
	100% {
		backdrop-filter: blur(16px);
	}
}

@keyframes bounceInUp {
    from,
    60%,
    75%,
    90%,
    to {
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    from {
        opacity: 0;
        transform: translate3d(0, 500px, 0) scaleY(2);
    }
    60% {
        transform: translate3d(0, -20px, 0) scaleY(0.9);
    }
    75% {
        transform: translate3d(0, 10px, 0) scaleY(0.95);
    }
    90% {
        transform: translate3d(0, -5px, 0) scaleY(0.985);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}
@keyframes bounceInRight {
	from,
	60%,
	75%,
	90%,
	to {
		animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	from {
		opacity: 0;
		transform: translate3d(3000px, 0, 0) scaleX(3);
	}

	60% {
		opacity: 1;
		transform: translate3d(-25px, 0, 0) scaleX(1);
	}

	75% {
		transform: translate3d(10px, 0, 0) scaleX(0.98);
	}

	90% {
		transform: translate3d(-5px, 0, 0) scaleX(0.995);
	}

	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

/* MOUSE ANIMATIONS *****************************/

@keyframes DrawLine {
  0% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  22% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  38% {
    stroke-dashOffset: 125;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  38.1% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 0;
  }
  48% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  64% {
    stroke-dashOffset: 125;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  64.1% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 0;
  }
  74% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  90% {
    stroke-opacity: 1;
    stroke-dashOffset: 125;
    stroke-dasharray: 120;
  }
  90.1% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 0;
  }
}
@keyframes DrawLineBack {
  0% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  22% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  38% {
    stroke-dashOffset: -114;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  38.1% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 0;
  }
  48% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  64% {
    stroke-dashOffset: -114;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  64.1% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 0;
  }
  74% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 1;
  }
  90% {
    stroke-opacity: 1;
    stroke-dashOffset: -114;
    stroke-dasharray: 120;
  }
  90.1% {
    stroke-dashOffset: 0;
    stroke-dasharray: 120;
    stroke-opacity: 0;
  }
}
@keyframes nudgeMouse {
  0% {
    transform: translateY(0) translateX(-50%);
  }
  22% {
    transform: translateY(0px) translateX(-50%);
  }
  38% {
    transform: translateY(9px) translateX(-50%);
  }
  48% {
    transform: translateY(0px) translateX(-50%);
  }
  64% {
    transform: translateY(9px) translateX(-50%);
  }
  74% {
    transform: translateY(0px) translateX(-50%);
  }
  90% {
    transform: translateY(9px) translateX(-50%);
  }
}
/*Mouse wheel*/
@keyframes trackBallSlide {
  0% {
    transform: translateY(20px) scale(1);
    opacity: 1;
  }
  22% {
    transform: translateY(20px) scale(1);
    opacity: 1;
  }
  26% {
    transform: translateY(30px) scale(0.9);
    opacity: 1;
  }
  34% {
    transform: translateY(50px) scale(0.1);
    opacity: 0;
  }
  41% {
    transform: translateY(30px) scale(0);
    opacity: 0.3;
  }
  48% {
    transform: translateY(20px) scale(1);
    opacity: 1;
  }
  52% {
    transform: translateY(30px) scale(0.9);
    opacity: 1;
  }
  60% {
    transform: translateY(50px) scale(0.1);
    opacity: 0;
  }
  67% {
    transform: translateY(30px) scale(0);
    opacity: 0.3;
  }
  74% {
    transform: translateY(20px) scale(1);
    opacity: 1;
  }
  78% {
    transform: translateY(30px) scale(0.9);
    opacity: 1;
  }
  86% {
    transform: translateY(50px) scale(0.1);
    opacity: 0;
  }
  93% {
    transform: translateY(30px) scale(0);
    opacity: 0.3;
  }
  100% {
    transform: translateY(20px) scale(1);
    opacity: 1;
  }
}

/* RESPONSIVE STYLES *****************************/

@media (min-width: 2561px) {
	.container {
		max-width: 1696px;
		padding-right: 48px;
		padding-left: 48px;
	}
    .container-offset{
        width: calc(100% - ((100% - 2016px) / 2 ));
        padding-left: 48px;
        margin-left: auto;
    }
}

@media (min-width: 1921px) and (max-width: 2560px) {
	
	.container {
		max-width: 1376px;
		padding-right: 48px;
		padding-left: 48px;
	}
	.container.container-lg {
		max-width: 1696px;
	}
	.container.container-sm {
		max-width: 1376px;
	}
    .container.container-xs {
		max-width: 1176px;
	}
    .container-offset{
        width: calc(100% - ((100% - 1632px) / 2 ));
		padding-left: 48px;
        margin-left: auto;
    }
}

@media (min-width: 1600px) and (max-width: 1920px) {
	.container {
		max-width: 1376px;
		padding-right: 48px;
		padding-left: 48px;
	}
	.container.container-lg {
		max-width: 1696px;
	}
	.container.container-sm {
		max-width: 1376px;
	}
    .container.container-xs {
		max-width: 1176px;
	}
    .container-offset{
        width: var(--offset-width-pad);
		padding-left: 48px;
        margin-left: auto;
    }
    .contact-page .content-left{
        width: 60%;
        padding-right: 30%;
    }
    .contact-page .content-right {
        width: 40%;
        padding-left: var(--lg-pad);
    }    
    
}

@media (min-width: 1200px) and (max-width: 1599px) {
	:root {
        
	}

	body {
		font-size: 14px;
	}
	h1 {
		font-size: 32px;
	}
	h2 {
		font-size: 28px;
	}
	h3 {
		font-size: 20px;
	}
	h4 {
		font-size: 18px;
	}
	h5 {
		font-size: 14px;
	}

    .contact-page .content-left{
        width: 50%;
        padding-right: 20%;
    }
    .contact-page .content-right {
        width: 50%;
        padding-left: var(--lg-pad);
    }    

}

@media (min-width: 1400px) and (max-width: 1599px) {
    
	body {
		font-size: 14px;
	}
	h1 {
		font-size: 28px;
	}
	h2 {
		font-size: 28px;
	}
	h3 {
		font-size: 20px;
	}
	h4 {
		font-size: 18px;
	}
	h5 {
		font-size: 14px;
	}
	.container {
		max-width: 1352px;
		padding-right: 48px;
		padding-left: 48px;
	}
	.container.container-lg {
		max-width: 100%;
	}
	.container.container-sm {
		max-width: 80%;
		max-width: 1352px;
	}
    .container.container-xs {
		max-width: 1176px;
	}
    
	
}
@media (min-width: 1200px) and (max-width: 1399px) {
	
	.container {
		max-width: 100%;
		padding-right: 48px;
		padding-left: 48px;
	}
	.container.container-lg {
		max-width: 100%;
	}
	.container.container-sm {
		max-width: 90%;
	}
    .container.container-xs {
		max-width: 90%;
	}
    .nav-wrap{

    }
    .nav-main > ul > li {
    }
	
}

@media (min-width: 768px) and (max-width: 1199px) {
	:root {
        --med-radius: 10px;
        --lg-radius: 32px; 
		--input-font: 14px;
		--button-font: 14px;
	}
	body {
		font-size: 14px;
	}
	h1 {
		font-size: 24px;
	}
	h2 {
		font-size: 24px;
		line-height: 1.2;
	}
	h3 {
		font-size: 18px;
	}
	h4 {
		font-size: 14px;
	}
	.container {
		max-width: 100%;
		padding-right: 24px;
		padding-left: 24px;
	}
    .container-offset{
        width: calc(100% - 48px);
		padding-left: 0px;
        margin-left: auto;
    }
    .button, a.button, .button:visited, a.button:visited{
        z-index: initial;
    }
	/* .txt-btn:after{
		font-size: 12px;
	} */
	.form-floating > .form-control, 
	.form-floating > .form-control-plaintext,
	.form-floating > label{
		font-size: 14px; 
	}
	.form-select-box .selectric-items li,
	.form-select-box .selectric .label{
		font-size: 14px;
	}
    
    #banner-main{
        height: 100svh;
    }
    #banner-main .banner-main-img,
    .banner-main-img-main{
        height: 100%;
    }  
    #banner-page .banner-main-img img{
        height: 320px;
    }
    .banner-text p{
        font-size: 18px;
    }	
	.banner-text-wrap{
		padding: 0px;
	}
	.banner-lg-text{
		font-size: 160px;
	}

	#banner-main .banner-text-wrap{
		padding: 0px;
	}
    #banner-main .banner-text, 
	.banner-text{
		width: 60%;
		padding:48px;
	}
	.banner-blk-sm {
		width: 50%;
        padding: 0;
	}
    .banner-content-block{
        width: 44%;
        padding: 24px;
    }    
	.content-banner-wrap{
		padding: 64px 0px;
	}
	.content-banner{
		margin: 0;
	}
	.content-banner-center .banner-blk-txt {
		text-align: center;
		width: 92%;
	}    
    .content-banner-center .highlight-text{
        margin-top: 24px;
    }
    .banner-blk-txt p{
        line-height: 1.4;
    }
    .highlight-text p{
        font-size: 20px;
    }

	#home-intro .content-banner{
		flex-direction: column;
	}
	#home-intro .banner-blk-txt{
		width: 100%;
	}
	#home-intro h2{
		font-size: 24px;
	}

	.image-blocks-slider-wrapper{
		margin: 0 -24px;
		width: auto;
	}
	.image-blocks-full {
        /* margin: 0 -24px; */
		margin: 0;
		padding: 0 24px;
        width: 100%;
    }
	.image-blocks-full .img-blk-1 .image-block-wrap, .image-blocks-full .img-blk-2 .image-block-wrap, .image-blocks-full .img-blk-3 .image-block-wrap {
        border-radius: 30px;
    }
	.image-block-content{
		padding: 32px;
	}

	#home-icon-blocks .banner-blk-txt{
		width: 100%;
		margin-bottom: 24px;
	}
    
    .icon-blocks{
        flex-direction: column;
        margin: 0;
    }
    .icon-block{
        margin: 0;
        width: 100%;
    }
    .icon-blocks .icon-block{
        width: 100%;
        padding: 32px;
        margin-bottom: 16px;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .icon-blocks-lg .icon-block{
        margin: 0 0 8px 0;
    }
	.icon-blocks .icon-block.icon-block-margin{
		margin: 0 0 16px 0;		
	}
    .icon-block:last-child{
        margin: 0;
    }
	.icon-block-title{
		width: calc(100% - 64px);
        margin-bottom: 8px;
        padding-left: 24px;
	}
	.icon-block-title h3{
		line-height: 56px;
	}
	.banner-sub-lg-text{
		display: none;
	}

	
	
    #contact-banner{
		padding: 0px 0 0 0;
    }
    .contact-banner-wrap {
		position: relative;
        display: flex;
        width: 100%;
        background: url(../images/theweekenclass-map.webp) bottom center no-repeat var(--white-color);
        background-size:auto 600px;
        background-position: 0% 120%;
    }
    .contact-banner-wrap:after, 
    .contact-banner-wrap:before{
		height: 48px;
    }
    .contact-banner-wrap:before {
		top:initial;
        bottom: 432px;        
    }
    #contact-banner .container{
		position: relative;
        display: flex;
        flex-direction: column;
        height: initial;
        padding-bottom: 480px;
    }
	.contact-main{
		position: relative;
		width: 80%;
		right: 10%;
		top: initial;
	}
	
	.contact-map-block{
		top: initial;
		left: 48px;
		bottom: 48px;
	}

}


/*For Tablets*/

@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait) {
	
	
}

/* MOBILE */

@media (max-width: 767px) {
	:root {
        --med-radius: 10px;
        --lg-radius: 32px;        
		--input-font: 14px;
		--button-font: 14px;
		--main-shadow: 0px 4px 16px rgba(0, 0, 0, 0.16);
/*		--main-radius: 5px;*/
	}

	html {
		scroll-behavior: initial !important;
	}
	body {
		font-size: 14px;
	}
    
	.container {
		max-width: 100%;
		padding-right: 16px;
		padding-left: 16px;
	}
    .container-offset{
        width: calc(100% - 48px);
		padding-left: 48px;
        margin-left: auto;
        width: 100%;
        padding: 0px;
        padding-left: 16px;
        margin: 0;
    }
    
	img {
		vertical-align: top;
	}

	h1 {
		font-size: 24px;
	}
	h2 {
		font-size: 20px;
        line-height: 1.2;
	}
	h3 {
		font-size: 16px;
        line-height: 1.2;
	}
	h4 {
		font-size: 14px;
	}
    .intro-txt{
        font-size: 18px;
    }
	
	.button, a.button{
		padding: 12px 24px;
	}
    .button, a.button, .button:visited, a.button:visited{
        z-index: initial;
    }
    .a-btn, a.a-btn, .a-btn:visited, a.a-btn:visited{
        padding: var(--sm-pad) 0;
        padding: 0;
    }
    .a-btn span{
        margin-right: 8px;
    }
	.txt-btn span{
        font-size: 12px;
		font-weight: 600;
	}
	.form-floating > .form-control, 
	.form-floating > .form-control-plaintext,
	.form-floating > label{
		font-size: 14px; 
	}
	.form-select-box .selectric .label{
		font-size: 14px;
	}
    .inputfile + label{
        font-size: 14px;
    }
    .form-cols{
		flex-direction: column;
		margin: 0;
	}
	.form-cols .form-col{
		width: 100%;
		margin: 0;
		margin-bottom: 24px;
	}
	.ch-btn label{
		font-size: 12px;
	}
	.i-btn-lg{
		font-size: 28px;
	}
    .hide-mob{
        display: none;    
    }
	
	#main-wrapper{
/*		padding-top: 16px;*/
	}
	
	#outer-wrapper{
/*		padding-top: 56px;*/
	}
	
	#content-main{
		padding: 24px 0px 0px 0px;
		padding: 16px 0px 0px 0px;
        min-height: initial;
	}
    #banner-wrapper + #content-main{
		padding: 24px 0px 0px 0px;
    }
	
	#banner-main{
		height: var(--doc-height);
		height: 100svh;
	}
    /* #banner-main.animate .banner-text-main{
        display: none;
    } */

    
    .banner-main-lg-text{
        height: 70%;
    }
    .banner-lg-text{
        font-size: 60px;
    }

	.banner-text-wrap{
        justify-content: flex-start;
		padding: 96px 16px;
	} 
    
    #banner-main-content .container{
        padding: 0;    
    }
    
    #banner-main .banner-text{
        width: 100%;
        padding: 0;
    }
    .banner-header{
        margin-bottom: 8px;
    }
    #banner-main .banner-header h1{
        font-size: 20px;
        line-height: 1.2;
        font-weight: 600;
        margin-bottom: 0px;
    }
    #banner-main .banner-header{
        padding-right: 0;
    }
	.banner-text-main{
        font-size: 16px;
		margin-bottom: 0px;
	}
	.banner-main-wrapper{
		justify-content: flex-end;		
	}
    .banner-text-button{
        margin-top: 32px;
    }
    
    .banner-main-img{
        width: 100%;
    }
    .banner-main-img-main{
        width: auto;
        padding: 0;   
        margin-left: -12%;
        margin-right: -12%;
    }

    .main-banner-video{
        width: 64px;
        height: 64px;
        bottom: 16px;
        right: 16px;
        padding: 4px;
    }
    .banner-video-inline span{
        font-size: 24px;
    }
    
	.content-main-wrapper{
		margin: 0;
		flex-direction: column;
	}
	.content-left + .content-main {
		width: 100%;
	}
	.content-main {
		width: 100%;
		padding: 0;
		order: 1;
		margin-bottom: 24px;
	}
	.content-left {
		width: 100%;
		padding: 0;
		order: 2;
	}
    
	.content-banner-wrap{
		padding: 64px 0px;
	}
	.home-page .content-banner-wrap{
		padding: 96px 0px;
	}    
    #content-banner-1.content-banner-wrap{
        padding: 48px 0px;
    }
    
    #home-intro{
        padding-bottom: 48px;
    }

    #home-intro h2 {
        font-size: 24px;
    }
    .banner-sub-lg-text{
        display: none;
    }
	
	.content-banner{
		flex-direction: column;
	}
	.content-banner-center .banner-blk-txt{
		margin-bottom: 24px;
	}
    .content-banner-center .highlight-text {
        margin-top: 0px;
        margin-bottom: 24px;
    }
    .content-banner-center .banner-blk-txt, 
    .content-banner-center .banner-blk-txt.single-title {
        text-align: center;
        text-align: left;
    }
    .content-banner-center > .content-banner-title{
        text-align: left;
    }
    .content-banner-title{
        margin-bottom: 8px;    
    }
    .highlight-text p {
        font-size: 18px;
    }

    .image-blocks{

    }

    .image-blocks-full{
        margin: 0;
        width: 100%;
    }
    .image-blocks-full .image-block-img{
        padding-bottom: 72px;
    }
    .image-blocks-full .image-block-text{
        margin-bottom: 24px
    }
	#usp-blocks{
		padding-bottom: 8px;
	}
	#usp-blocks .image-block-wrap{
		opacity: 1;
	}
	#usp-blocks .image-blocks-full{
		opacity: 0;
	}
	#usp-blocks.animate .image-blocks-full{
		animation: btm-in-animate 0.5s ease-out forwards;
	}
	#usp-blocks.animate .image-block:nth-child(1) .image-block-wrap,
	#usp-blocks.animate .image-block:nth-child(2) .image-block-wrap,
	#usp-blocks.animate .image-block:nth-child(3) .image-block-wrap{
		animation: none;
	}
	#usp-blocks-slider .swiper-wrapper{
		flex-direction: column;
	}
	.image-blocks-full .image-block, 
	.image-blocks-full .image-block.swiper-slide{
		padding: 0 16px;
		width: 100%;
		margin-bottom: 16px;
	}
	.image-blocks-full .img-blk-1 .image-block-wrap,
	.image-blocks-full .img-blk-2 .image-block-wrap,
	.image-blocks-full .img-blk-3 .image-block-wrap {
		border-radius: 15px;
	}
	.image-blocks-full .image-block-wrap{
		height: 48px;
		overflow: hidden;
		transition: all 0.2s ease;
	}
	.image-blocks-full .image-block-content{
		padding:0;
		transition: all 0.2s ease;
    }
	.image-blocks-full .image-block-img{
		position: absolute;
		top: 0;	
	}
	.image-blocks-full .image-block-title{
		position: relative;
		background: #F2F2F2;
		padding:12px 24px;
		line-height: 24px; 
		transition: all 0.2s ease;
	}
	.image-blocks-full .image-block-title:after {
		position: absolute;
		display: inline-block;
		content: "\f078";
		right: 16px;
		top: 12px;
		height: 24px;
		width: 24px;
		line-height: 24px;
		font-size: 14px;
		color: var(--sub-text-color);
		vertical-align: middle;
		text-align: center;
		font-style:normal;
		font-family: "Font Awesome 7 Pro";
		font-weight: 300;
		transform: rotate(0deg);
		transition: all 0.2s ease;
	}
	.image-blocks-full .image-block-open .image-block-title:after {
		right: 0px;
		top: 0px;
		color: var(--sub-text-color);
		transform: rotate(-180deg);
		transition: all 0.4s ease-out;
	}
	.image-blocks-full .image-block-title h4{
		margin: 0;
		line-height: 24px; 
	}
	.image-blocks-full .image-block-text{
		height: 0;
		margin: 0;
		opacity: 1;
		overflow: hidden;
		transition: all 0.2s ease;
	}
	.image-blocks-full .image-block-btn{
		display: none;
	}
	.image-blocks-full .image-block-open .image-block-wrap{
		height: 360px;
		overflow: hidden;
		transition: all 0.4s ease-out;
	}
	.image-blocks-full .image-block-open .image-block-title{
		padding:0px 0px 8px 0px;
		background: transparent;
		transition: all 0.2s ease-out;
	}
	.image-blocks-full .image-block-open .image-block-content{
        padding:24px;
		transition: all 0.4s ease-out;
    }
	.image-blocks-full .image-block-open .image-block-text{
		height: auto;
		opacity: 1;
		transition: all 0.3s ease-out;
	}


	.image-blocks{
		padding-left: 16px;
	}
    .image-block.swiper-slide.image-block-margin {
        padding-top: 0;
    }
	.image-blocks .image-block-wrap{
		border-radius: 15px;
	}
	.image-block-img{
		padding-bottom: 0;
	}
	.image-blocks .image-block-title{
		display: flex;
		flex-direction: row;
		width: 100%;
		justify-content: center;
		text-align: center;
	}
	.image-blocks .image-block-title h4{
		margin: 0;
	}
    .image-blocks .image-block-content{
        padding:24px;
		width: 100%;
    }

    #dance-styles .banner-blk-full p{
        width: 100%;
    }
	#dance-styles .image-block-text{
		display: none;
	}
	.image-blocks .image-block, 
    .image-blocks .image-block.swiper-slide{
        padding: 0 4px;
    }
	.swiper-navigation {
		position: relative;
		width: 80px;
		margin: 24px 24px 24px auto;
	}
    
    #content-banner-1.content-banner-wrap-sm{
        padding-bottom: 24px;
    }
    
    #content-banner-2{
        padding-top: 24px;
    }
    #content-banner-1 + #content-banner-2 {
        padding-top: 0;
    }
	.content-banner-wrap-top{
		padding-bottom: 48px;
	}
	.content-banner{
		margin: 0;
	}
	.banner-blk-txt, .banner-blk-img{
		text-align: left;
		width: 100%;
		padding: 0;
	}
	.banner-blk-img{
		order: 2;	
	}
	.banner-txt-right .banner-blk-txt {
		padding-left: 0px;
	}
	.banner-txt-left .banner-blk-txt{
		padding-right: 0px;
	}
	.content-banner-center .banner-blk-txt{
		text-align: left;
		text-align: center;
		width: 100%;
        margin-bottom: 24px;
	}
	.center-blk-img{
		width: 90%;
	}
	.content-banner-center .banner-blk-txt,
	.content-banner-center .banner-blk-txt.single-title{
		text-align: left;
        text-align: center;
	}
	.content-banner-center .banner-blk-txt .button{
		margin-top: var(--main-pad);
		margin-top: 0;
	}
    .content-banner-center .blk-txt-left .txt-btn{
        margin-top: 0;
    }
	.content-banner-center .content-banner-title {
		margin-bottom: 8px;
	}
	.banner-blk-txt.single-button{
		margin: var(--main-pad) 0 0 0 ;
	}
    .banner-blk-txt .button {
        margin-top:0;
    }
    .banner-blk-offset{
        width: 100%;
        margin-left: 0;
    }
    .content-banner-medium {
        padding: 0px 0;
    }
    .content-banner-medium .banner-blk-txt{
        padding: 72px 0px;
    }
    .content-banner-medium .banner-blk-img{
        padding: 0px 0px 72px 0px;
    }
    .content-banner-medium .banner-blk-txt{
        text-align: center;
    }
    .content-banner-medium .button{
        align-self: center;
        margin: 0 auto;
    }
    .content-banner.content-banner-margin{
        margin-bottom: 48px;
    }
    .content-banner-wrap.full-image-banner{
        padding: 72% 0 16px 0px;
    }
   
    #dance-styles{
        padding-bottom: 48px;
    }
    
    #home-icon-blocks{
        padding-top: 48px;
    }

    #home-icon-blocks .container{
        position: relative;
        padding-bottom: 48px;
    }
    
    #home-icon-blocks .content-banner{
        margin-bottom: 24px;
        position: initial;
    }
    
    #home-icon-blocks .banner-blk-txt.btn-end{
        position: absolute;
        right: 0px;
        bottom: 0px;
        justify-content: center;
    }
    #home-icon-blocks.animate .banner-blk-txt.btn-end {
        animation: opac-in-animate 0.5s ease-out forwards;
        animation-delay: 0.9s;
    }    
    .icon-blocks{
        flex-direction: column;
        margin: 0;
    }
    .icon-block{
        margin: 0;
        width: 100%;
    }
    .icon-blocks .icon-block{
        width: 100%;
        padding: 24px;
        margin-bottom: 16px;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .icon-blocks-lg .icon-block{
        margin: 0 0 8px 0;
    }
    .icon-block:last-child{
        margin: 0;
    }
    .icon-block-title{
        width: calc(100% - 40px);
        margin-bottom: 8px;
        padding-left: 16px;
    }
    .icon-block-title h3,
    .icon-block-title h4{
        line-height: 40px; 
        margin: 0;    
    }
    .icon-block-icon{
        width: 40px;
        height: 40px; 
		font-size: 18px;
        margin-bottom: 8px;
    }
    .icon-block-text{
        padding-bottom: 24px;
    }
    .icon-block-btn{
        width: 100%;
        padding-top: 24px;
    }
    .icon-blocks .icon-block.icon-block-margin {
        margin: 0 0 var(--mid-pad) 0;
    }
    
	.content-top-wrap{
		margin-bottom:var(--main-pad); 
		margin-bottom: 16px;
	}
	.content-mid-wrap{
		padding-top: 48px;
		margin-bottom: 16px;
	}
    
    .content-img-banner-text{
        padding: 24px;
    }
    .content-img-banner-text p{
        font-size: 12px;
    }


    #video-banner{
        padding: 96px 0px;
    }
    .play-btn {
        top: calc(50% - 24px);
        left: calc(50% - 24px);
        padding: 4px;
        height: 48px;
        width: 48px;
    }
    .play-btn span {
        font-size: 20px;
        height: 40px;
        width: 40px;
    }

    #contact-banner{
        padding: 0px 0 0 0;
    }
    .contact-banner-wrap {
        position: relative;
        display: flex;
        width: 100%;
        background: url(../images/theweekenclass-map-mob.webp) bottom center no-repeat var(--white-color);
        background-size:contain;
        background-position: 0% 100%;
    }
    .contact-banner-wrap:after, 
    .contact-banner-wrap:before{
        height: 48px;
    }
    .contact-banner-wrap:before {
        /* height: 20%; */
        top:initial;
        bottom: 512px;        
    }
    #contact-banner .container{
        position: relative;
        display: flex;
        flex-direction: column;
        height: initial;
        padding-bottom: 560px;
    }
    
    .contact-main{
        position: relative;
        display: flex;
        order: 1;
        width: initial;
        margin-left: -16px;
        margin-right: -16px;
        top: initial;
        right: initial;
        padding:16px;        
        background: #F2F2F2;
        border-radius: 0;
        box-shadow: none;
    }
    .contact-main .nav-tabs{
        margin-bottom: 8px;
    }
    .contact-main .nav-tabs .nav-item.show .nav-link, 
    .contact-main .nav-tabs .nav-link.active{
        background: #F2F2F2;
    }
    .contact-main .nav-link span b{
        display: none;
    }
    
    .form-control{
        background: var(--white-color); 
    }
    .ch-btn label span{
        background: var(--white-color);
    }
    .ch-btn input[type="checkbox"]:checked + label span {
        color: var(--white-color);
        background: var(--sub-color);
        border: 1px solid var(--sub-color);
    }
    .contact-main .form-wrap .waiting{
        background: var(--light-bg-color)!important;
    }
    .contact-main .modal-success {
        border-radius: 0;
        background: var(--light-bg-color);
    }
    
	.contact-form-block{
        position: relative;
        top: initial;
        right: initial;
		width: initial;
        margin: 0;
		padding: 32px 0px 32px 0px;
		border-radius: 0px;
	}
    .contact-form-block .content-form-text{
        margin-bottom: 32px;
    }
    .form-cols .form-col.form-btns{
        margin-bottom: 0;
    }
    .contact-page .content-left{
		width: 100%;
        padding: 0;
        order: 1;
	}
    .contact-page .content-left .content-form-text{
        width: 100%;
        margin-top: 0px;
    }
    
    .contact-map-block-wrap{
        width: 100%;
        top: initial;
        left: 0;
        bottom: 0;
        justify-content: flex-end;
    }
    .contact-map-block{
        top: initial;
        bottom: 48px; 
        left: 16px;
        background: #FFFFFF; 
        width: calc(100% - 32px);
    }
    .contact-map-block-text span{
        display: inline-flex;
    }
    .contact-map-block-text span:first-child{
        display: block;
    }

    /* .contact-map-block a.button.btn-icon{
        width: 100%;
        justify-content: center;
        padding: 4px 16px;
    } */

	.modal-dialog{
		min-width: 100%;
		max-width: 100%;
		padding: 0 16px;
	}
	.modal-header{
		padding: 48px 48px 24px 48px;
		padding: 32px 32px 24px 32px;
	}
	.modal-body {
    	padding: 0px 32px;
	}
	.modal-footer {
    	padding: 0px 32px 32px 32px;
	}
	.empty-page-msg {
		width: 100%;
        padding: 0 24px;
	}
    .empty-page-header div img {
        height: 32px;
        width: auto;
    }
	.empty-page-title{
		font-size: 24px;
	}
    .empty-page-img {
        margin-bottom: 24px;
        padding: 0 25%;
        font-size: 1;
    }
    .empty-page-img div img {
        height: 48px;
        width: auto;
    }
    .empty-page-txt p{
        padding: 0;
    }    
    .video-modal .modal-dialog {
        height: 100%;
        width: 100%;
        max-width: 100%;
        padding: 0px 0px;
    }
    .video-modal .modal-body{
        padding: 0;
    }
    .video-modal .modal-header .btn-close{
        top: 16px;
        right: 16px;
    }
	
}

/*Mobile AND TABLET Footer*/

@media (max-width: 1199px){
    
    
	#footer{
		padding: 0;
		margin: 0px;
	}
    #footer .container{
        padding: 0;
    }
	.footer-top,
	.footer-content,
	.footer-bottom .container{
		flex-direction: column;
	}
    
    .footer-content{
        margin: 0;
        padding-top: 48px;
		padding-bottom: 24px;	
	}
    
    .footer-top{
        padding: 0;
    }
    .footer-col-logo{
        flex-direction: row;
        width: 100%;
        padding: 0 16px;
    }
    .footer-logo {
        position: relative;
        padding: 0px;
        margin-bottom:var(--mid-pad); 
    }
    .footer-logo img{
        height: 32px;
    }
    .footer-socials{
        margin: 0;
        margin-left: auto;
    }
	.footer-socials li{
		margin: 0px;
        margin-left: 8px;
	}
	.footer-social a{
		font-size: 16px;	
	}
    
    .footer-col{
        width: 100%;
        padding: 0 16px;
    }
    
    .footer-menu{
        padding: var(--xs-pad) var(--mid-pad);
        border-right: 0px;
        order: 2;
    }
    .footer-last-col{
        position: initial;
        order: 1;
        width: 100%;
        padding: 0 var(--mid-pad) var(--xs-pad) var(--mid-pad);
        border-bottom: 1px solid var(--border-color);         
    }
    .footer-last-col .footer-menu-title{
        padding-top: 0;
    }
    .footer-last-col .footer-menu-title h5{
        font-size: 18px;
    }
    .footer-menu-margin,
    .footer-menu-title{
        margin: 0;
    }
	
	.footer-menu{
		width: initial;
        margin: 0px;
        padding: 0px;
	}
    .footer-menu + .footer-menu {
        margin-top: 0;
    }
/*
    .footer-menu-collapse{
        border-top: 1px solid var(--border-color);         
    }
    .footer-menu:nth-child(3) .footer-menu-margin{
        border-bottom: 1px solid var(--border-color);         
    }
*/
    .footer-content .footer-menu:first-child{
        border: 0px;     
    }
	.footer-menu-title{
		position: relative;
		display: flex;
		padding: 12px 0px;
        font-weight: 600;
		line-height: 24px;
	}
	.footer-menu-title h5{
		padding: 0;
        margin: 0;
        line-height: 24px;
        font-weight: 600;
	}
	.footer-menu-title.footer-title-margin {
		margin-top:0;
	}
	.footer-menu-collapse .footer-menu-title:after {
		position: absolute;
		display: inline-block;
		content: "\f078";
		right: 0px;
		top: 12px;
		height: 24px;
		width: 24px;
		line-height: 24px;
		font-size: 14px;
		color: var(--sub-text-color);
		vertical-align: middle;
		text-align: center;
		font-style:normal;
		font-family: "Font Awesome 7 Pro";
		font-weight: 300;
		transform: rotate(0deg);
		transition: all 0.2s ease;
	}
	.footer-menu-collapse.footer-menu-open .footer-menu-title:after{
		color: var(--sub-text-color);
		transform: rotate(-180deg);
		transition: all .3s ease;
	}
	.footer-menu-title h4{
		margin: 0;
		line-height: 48px;
	}
	.footer-menu-collapse .footer-menu-list{
		display: none;
/*        margin-top: -8px;*/
		padding-bottom: 24px;
	}
    .footer-contact{
        order: 2;
    }
	.footer-menu-list li{
		line-height: 20px;
        font-size: 14px;
	}
	
    .footer-bottom{
        /* padding: 0; */
    }
    .footer-bottom-content {
        padding: 24px 16px 0px 16px;
        width: 100%;
    }
    
	.footer-copyright{
		flex-direction: column;
		width: 100%;
		font-size: 14px;
        padding: 0px;
        margin-bottom: 8px;
		/* order: 3; */
		text-align: center;
	}
    .footer-copyright-text{
        text-align: center;
    }

    .footer-copyright p{
        margin: 0;
        font-size: 10px;
    }

    .footer-bottom-menu{
        width: 100%;
        justify-content: center;
        margin-bottom: 4px;
    }
    .footer-bottom-menu ul{
        flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
        text-align: center;
        align-items: center;
    }
    .footer-bottom-menu ul li{
        margin: 0;
		padding:0 8px;
    }
    .footer-bottom-menu ul a{
        font-size: 12px;
    }
    
}


/*Mobile AND TABLET Nav*/


@media (max-width: 1199px){
    
/*
    .responsive-warning-container {
        display: flex;    
    }
*/
	
	#header{
		z-index: 99;
	}
	.menu-open #header{		
		background: transparent;
		transition: all 0.3s ease-out;
	}
	.menu-open #header:after,
	.menu-open #header.sticky:after{
		opacity: 0;
	}
	
	#header .container{
		padding: 0px;
	}

	.show-bg .sticky .header-main:before{
		display: block;
		opacity: 1;
		animation: opac-in-animate 0.2s ease forwards;
	}

	.header-main:after,
	.header-top-nav ul{
		display: none;		
	}
	.header-main{
		padding: 0px;
		background: var(--white-color);
		background: transparent;
/*		z-index: 1;*/
	}

    
	.nav-toggle{
        display: flex;
		margin: 16px 16px 16px 16px;
	}
    .header-left{
        width: calc(100% - 96px);
        justify-content: center;
    }
	.logo-main {
        position: relative;
        display: flex;
        flex-direction: row;
        justify-content: center;
        /* width: calc(100% - 144px); */
        flex: 1;
        width: initial;
        padding: 12px 0px;
        padding-left: 0px;
	}
	
    .logo-main img {
	   height: 32px;
    }
	.nav-wrap{
		display: flex;
		position: fixed;
		flex-direction: column;
		justify-content: flex-start;
		width: 100%;
        max-width: 560px;
		height: 100%;
		height: 100dvh;
		left: -100%;
		top: 0px;
		padding: 0;
        background: var(--white-color);
		border-radius:0px;
		overflow: hidden;
        z-index: 3;
		transition: all 0.2s ease;
	}
	.menu-open .nav-wrap{
		left: 0%;
		transition: all 0.3s ease-out;
	}
    
    .nav-header-mobile{
        position: relative;
        display: flex;
        justify-content: center;
        padding: 0px;
    }
    .nav-logo-icon{
        position: relative;
        display: flex;
        margin: 12px 0px;
    }
    .nav-logo-icon img{
        height: 24px;
        width: auto;
    }
    .nav-header-mobile .nav-toggle{
        position: absolute;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        top: 0px;
        left: 0px;
        margin: 0;
        width: 48px;
        height: 48px;
        font-size: 16px;
        color: var(--text-color);
    }    
    .nav-main:after,
    .nav-main > ul > li a.main-link-4:before {
        content: '';
        position: absolute;
        display: block;
        height: 1px;
        width: 100%;
        left: 0px;
        right: initial;
        top: 56px;
        background: #F2F2F2;
    }
	.nav-main{
        padding: 96px 0px 16px 56px;
        margin: 0;
        flex-direction: column;
        justify-content: flex-start;
        height: calc(100% - 96px);
        overflow-y: auto;
	}
    .nav-main ul.nav-icon-menu:after,
    .nav-main ul.nav-clean-menu:after,
    .nav-lang-mobile:after{
        content: '';
        position: absolute;
        display: block;
        height: 1px;
        width: 100%;
        left: 0px;
        right: initial;
        top: 0;
        background: linear-gradient(90deg, rgba(14, 31, 59, 0.00) 0%, rgba(14, 31, 59, 0.16) 50%, rgba(14, 31, 59, 0.00) 100%);
    }
    
	.nav-main ul{
		flex-direction: column;
		width: 100%;
        padding: 0px;
	}
	.nav-main > ul > li {
		padding: 0;
		width: 100%;
	}
	.nav-main > ul > li a{
		width: 100%;
        color: var(--text-color);
        padding: var(--sm-pad) 0;
	}

    .nav-main ul li a:hover, 
    .nav-main ul li a:focus, 
    .nav-main ul li a:active, 
    .menu-icon-link > a:hover {
        color: var(--sub-color);
        background: none;
        transition: all 0.4s ease-out;
    }

    .nav-main > ul > li a.main-link-1,
    .nav-main > ul > li a.main-link-2,
    .nav-main > ul > li a.main-link-3,
    .nav-main > ul > li a.main-link-4{
        padding: var(--mid-pad) 0;
        font-size: 24px;
        font-weight: 600;
    }
    .nav-main > ul > li a.main-link-1:after,
    .nav-main > ul > li a.main-link-2:after,
    .nav-main > ul > li a.main-link-3:after,
    .nav-main > ul > li a.main-link-4:after {
        content: "\f054";
        position: absolute;
        top: 12px;
        right: 24px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        width: var(--main-pad);
        height: var(--main-pad);
        line-height: var(--main-pad);
        background: none;
        font-weight: 300;
        font-size: 14px;
        font-family: "Font Awesome 7 Pro";
    }
    .nav-main > ul > li a.main-link-4:before {
        top: initial;
        bottom: -12px;
    }
    .nav-main > ul > li:nth-child(4){
        margin-bottom: 24px;
    }

    .nav-main > ul > li a.main-link-5,
    .nav-main > ul > li a.main-link-6,
    .nav-main > ul > li a.contact-link{
        position: relative;
        padding-left: 32px;
        font-weight: 300;
        font-size: 14px;
    }
    
    .nav-main > ul > li a.main-link-5:before,
    .nav-main > ul > li a.main-link-6:before,
    .nav-main > ul > li a.contact-link:before {
        content: "\f054";
        position: absolute;
        top: 12px;
        left: 0px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        width: var(--main-pad);
        height: var(--main-pad);
        line-height: var(--main-pad);
        background: none;
        font-weight: 300;
        font-size: 14px;
        font-family: "Font Awesome 7 Pro";
    }
    .nav-main > ul > li a.main-link-5:before{
        content: "\f007";
    }
    .nav-main > ul > li a.main-link-6:before{
        content: "\f59f";
    }
    .nav-main > ul > li a.contact-link:before {
        content: "\f590";
    }
    
    /* .nav-main ul.nav-icon-menu {
        flex-direction: column;
        flex-wrap: nowrap;
        width: 100%;
        padding: 24px 8px 16px 0px;
    }
    .nav-main > ul > li.menu-icon-link{
        width: 100%;
        padding: 0;
        margin-bottom: 16px;
    }
    .menu-item-icon{
        width: 32px;
        height: 32px;
        font-size: 16px;
        align-self: center;
    }
    .menu-item-main {
		margin: 0;
        font-size: 14px;
        padding: 0;
        width: calc(100% - 32px);
        padding-left: 12px;
    }
    .menu-item-main div{
        font-size: 16px;
    }
    .menu-item-main span{
        font-size: 12px;
    } */
    
	.show-mob,
	.nav-main > ul > li.show-mob{
		display: flex;
	}
	.nav-main > ul > li.show-mob > a,
    #header.sticky .nav-main > ul > li.show-mob > a{
		font-weight: 300;
        color: var(--light-text-color);        
	}	
    
    .header-right{
        width: initial;
    }

    .header-buttons{
        padding-top: 4px;
        padding-right: 12px;
    }    
    
    .header-contact-btn-mob{
        display: flex;
    }
    .header-button.header-login-btn,
    .header-button.header-contact-btn{
        display: none;
    }
    .nav-wrap .header-contact-btn-mob{
        position: absolute;
        width: 100%;
        bottom: 0;
        left: 0;
        padding:16px;
    }
    .nav-wrap .header-contact-btn-mob .l-btn{
        width: 100%;
        text-align: center;
        justify-content: center;
    }
    
    #header.sticky .logo-main-dark,
    .white-header .logo-main-dark,
    .menu-open .logo-main-dark{
        display: flex;
    } 
    #header.sticky .logo-main-light,
    .menu-open .logo-main-light{
        display: none;
    }

    #outer-wrapper:not(.banner-top, .home-wrap) #header:after, 
    #header.sticky:after {
        display: none;
    }    
	.menu-ani .home-page #header:not(.sticky) .nav-icon span, 
	.menu-open .home-page #header:not(.sticky) .nav-icon span,
	.menu-ani .nav-icon span, 
	.menu-open .nav-icon span {
		background: none!important;
	}
	#outer-wrapper.white-header #header:not(.sticky) .nav-icon span,
	#outer-wrapper.white-header #header:not(.sticky) .menu-ani .nav-icon span,
	#outer-wrapper.white-header #header:not(.sticky) .nav-icon span:before,
	#outer-wrapper.white-header #header:not(.sticky) .nav-icon span:after,
	#outer-wrapper.white-header #header:not(.sticky) .menu-ani .nav-icon span:before,
	#outer-wrapper.white-header #header:not(.sticky) .menu-ani .nav-icon span:after,
    #outer-wrapper:not(.white-header) #header.sticky .nav-icon span,
	#outer-wrapper:not(.white-header) #header.sticky .menu-ani .nav-icon span,
	#outer-wrapper:not(.white-header) #header.sticky .nav-icon span:before,
	#outer-wrapper:not(.white-header) #header.sticky .nav-icon span:after,
	#outer-wrapper:not(.white-header) #header.sticky .menu-ani .nav-icon span:before,
    #outer-wrapper:not(.white-header) #header.sticky .menu-ani .nav-icon span:after{
        background: var(--text-color);
    }  
    
	#outer-wrapper:not(.white-header):not(.menu-open) #header:not(.sticky) .nav-icon span,
	#outer-wrapper:not(.white-header):not(.menu-open) #header:not(.sticky) .menu-ani .nav-icon span,
	#outer-wrapper:not(.white-header):not(.menu-open) #header:not(.sticky) .nav-icon span:before,
	#outer-wrapper:not(.white-header):not(.menu-open) #header:not(.sticky) .nav-icon span:after,
	#outer-wrapper:not(.white-header):not(.menu-open) #header:not(.sticky) .menu-ani .nav-icon span:before,
    #outer-wrapper:not(.white-header):not(.menu-open) #header:not(.sticky) .menu-ani .nav-icon span:after {
        /* background: var(--white-color); */
        background: var(--text-color);
    } 
    
	.menu-open#outer-wrapper #header .nav-icon span,
	.menu-open#outer-wrapper #header .menu-ani .nav-icon span,
	.menu-open#outer-wrapper #header .nav-icon span:before,
	.menu-open#outer-wrapper #header .nav-icon span:after,
	.menu-open#outer-wrapper #header .menu-ani .nav-icon span:before,
	.menu-open#outer-wrapper #header .menu-ani .nav-icon span:after {
		background: var(--text-color);
	}

    #header.sticky .nav-main > ul > li > a, 
    .white-header .nav-main > ul > li > a, 
    #header.sticky .nav-main .drop-link-btn, 
    .white-header .nav-main .drop-link-btn,
    #header.sticky .header-contact-btn-mob .i-btn, 
    .white-header .header-contact-btn-mob .i-btn, 
    .menu-open .header-contact-btn-mob .i-btn {
        color: var(--white-color);
        color: var(--text-color);
    }
    
    .white-header .l-btn, 
    .white-header a.l-btn {
        background: transparent;
        color: var(--text-color);
    }
    #header.sticky .l-btn, 
    #header.sticky a.l-btn,
    #outer-wrapper:not(.white-header) #header .l-btn, 
    #outer-wrapper:not(.white-header) #header a.l-btn,
    .menu-open #header .l-btn,
    .menu-open #header a.l-btn{
        background: transparent;
        color: var(--text-color);
        z-index: 2;
    }
    
    #outer-wrapper:not(.white-header) #header:not(.sticky) .l-btn, 
    #outer-wrapper:not(.white-header) #header:not(.sticky) a.l-btn{
        background: transparent;
        color: var(--white-color);
    }
    #outer-wrapper.menu-open #header:not(.sticky) .l-btn, 
    #outer-wrapper.menu-open #header:not(.sticky) a.l-btn{
        background: transparent;
        color: var(--text-color);
    }
	
	.header-button{
		padding: 4px 0px;
	}
	
}

@media (max-width: 767px) {
    
/*
    .responsive-warning-container {
        display: flex;    
    }
*/
    
}


/* LARGE MOBILE */

@media (min-width: 400px) and (max-width: 767px) {
	
    
}

/* SMALL MOBILE */

@media (max-width: 360px) {
	
}

/* IOS FIX */
@media (max-width: 767px) {

	@supports (-webkit-touch-callout: none) {

		.contact-main{
			margin: 0;
			width: calc(100% + 32px);
			left: 16px;
		}

	}

}

