
/*
Table Of Contents
 
 1.) Default Styles
 2.) Header - Main
 3.) Content - Main
 4.) Footer - Main
 5.) Contact - Page
 6.) Site - Cores

========================================*/

@font-face {
    font-family: "ClashDisplay";
    src: url('../webfonts/ClashDisplayRegular.eot');
    src: url('../webfonts/ClashDisplayRegular.eot') format('embedded-opentype'),
         url('../webfonts/ClashDisplayRegular.woff2') format('woff2'),
         url('../webfonts/ClashDisplayRegular.woff') format('woff'),
         url('../webfonts/ClashDisplayRegular.ttf') format('truetype'),
         url('../webfonts/ClashDisplayRegular.svg#ClashDisplay') format('svg');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
    font-family: "ClashDisplay";
    src: url('../webfonts/ClashDisplayMedium.eot');
    src: url('../webfonts/ClashDisplayMedium.eot') format('embedded-opentype'),
         url('../webfonts/ClashDisplayMedium.woff2') format('woff2'),
         url('../webfonts/ClashDisplayMedium.woff') format('woff'),
         url('../webfonts/ClashDisplayMedium.ttf') format('truetype'),
         url('../webfonts/ClashDisplayMedium.svg#ClashDisplay') format('svg');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}


/*
 1.) Default Styles
----------------------------------------*/

* {
	margin: 0;
	padding: 0;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, input, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* render html5 elements as block */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
	display: block;
}

html {
	font-size: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

*, 
*:before, 
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

sub, 
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
	font-size: 20px;
}

sub {
	bottom: -0.25em;
}

img {
	width: auto;
	height: auto;
	max-width: 100%;
	vertical-align: middle;
	border: 0;
	-ms-interpolation-mode: bicubic;
	line-height: .5em;
}


/*  Custom animations */
@-webkit-keyframes reveal {
 0% {
 opacity: 0;
}

1% {
 opacity: 0;
 -webkit-transform: scale(0.98) translateY(-15px);
}

80% {
 -webkit-transform: scale(1);
}

100% {
 -webkit-transform: translateY(0);
}
}

@-moz-keyframes reveal {
 0% {
 opacity: 0;
}

1% {
 opacity: 0;
 -moz-transform: scale(0.98) translateY(-15px);
}

80% {
 -moz-transform: scale(1);
}

100% {
 -moz-transform: translateY(0);
}
}


/*= Body 
=======================================================*/

body {
	-webkit-font-smoothing: antialiased;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.004);
	font-family: "ClashDisplay", sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #dadada;
	line-height: 24px; 
	background: #050a1b; 
	margin: 0;
	padding: 0;
}


/*= Links 
=======================================================*/

a {
	color: #ff64a5;
	text-decoration: none;
	-webkit-transition: all .25s ease-out;
	-moz-transition: all .25s ease-out;
	-o-transition: all .25s ease-out;
	transition: all .25s ease-out;
	cursor: pointer;
}

a:hover,
a:focus,
a:active {
	color: #ff64a5;
	text-decoration: underline;
}

a:visited {
	outline: 0;
}

a[href^="tel:"], 
a[href^="fax:"] {
	color: #ff64a5;
	text-decoration: none;
}

a:hover[href^="tel:"], 
a:focus[href^="tel:"], 
a:hover[href^="fax:"],
a:focus[href^="fax:"] {
	color: #ff64a5;
	text-decoration: underline;
}


/*= Headings: P, H1, H2, H3, H4, H5, H6 
=======================================================*/

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 { 
	font-weight: 500; 
	color: #ffffff; 	
	padding-bottom: 20px; 
}

h1,
.h1,
h2,
.h2 {
	font-size: 54px;
	line-height: 65px; 
}

h3,
.h3 {
	font-size: 34px;
	line-height: 41px;
}

h4,
.h4 {
	font-size: 24px;
	line-height: 32px;
}

h5,
.h5,
h6,
.h6 {
	font-size: 18px;
	line-height: 24px;
}

h1 a,
.h1 a,
h2 a,
.h2 a,
h3 a,
.h3 a,
h4 a,
.h4 a,
h5 a,
.h5 a,
h6 a,
.h6 a {
	font-weight: inherit;
	color: inherit;
}

h1 a:hover,
.h1 a:hover,
h2 a:hover,
.h2 a:hover,
h3 a:hover,
.h3 a:hover,
h4 a:hover,
.h4 a:hover,
h5 a:hover,
.h5 a:hover,
h6 a:hover,
.h6 a:hover {
	color: #ff64a5;
	text-decoration: none;
}

h1:last-child,
.h1:last-child,
h2:last-child,
.h2:last-child,
h3:last-child,
.h3:last-child,
h4:last-child,
.h4:last-child,
h5:last-child,
.h5:last-child,
h6:last-child,
.h6:last-child {
	padding-bottom: 0;
}

p {
	padding-bottom: 20px;
}

p:last-child {
	padding-bottom: 0;
}

strong {
	font-weight: 700;
}

em {
	font-style: italic;
}

em.fal,
em.far,
em.fas,
em.fab {
	font-style: normal; 
}

@media (max-width: 1199px) {
h1,
.h1,
h2,
.h2 {
	font-size: 40px;
	line-height: 48px; 
}
	
h3,
.h3 {
	font-size: 30px;
	line-height: 36px;
}
}

@media (max-width: 767px) {
h1,
.h1,
h2,
.h2 {
	font-size: 36px;
	line-height: 42px; 
}
	
h3,
.h3 {
	font-size: 28px;
	line-height: 32px;
}
}


/*= Unorder List 
=======================================================*/

ul,
ol {
	list-style: none;
}

li {
	position: relative; 
	padding-left: 16px; 
	padding-bottom: 0;
}

li:last-child { 
	padding-bottom: 20px;
}

ul:last-child li:last-child,
ol:last-child li:last-child {
	padding-bottom: 0;
}

ul li ul,
ol li ol {
	padding: 10px 0 0 0;
}

ul li:before {
	content: ""; 
	width: 5px; 
	height: 5px; 
	float: left; 
	background: #dadada; 
	border-radius: 360px;
	position: absolute;
	top: 10px;
	left: 0;
}


/*= Order List 
=======================================================*/

ol {
	counter-reset: item;
}

ol > li {
	counter-increment: item;
	padding-left: 22px;
}

ol > li:before {
	content: counter(item)".";
	font-weight: 500;
	color: #dadada;	
	position: absolute;
	top: 1px;
	left: 0;
	padding: 0;
	margin: 0;
}


/* #Input Styles
================================================= */

select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
	border-radius: 0;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	outline: 0;
}

select,
textarea,
input {
	-webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
	-moz-transition: border linear 0.2s, box-shadow linear 0.2s;
	-ms-transition: border linear 0.2s, box-shadow linear 0.2s;
	-o-transition: border linear 0.2s, box-shadow linear 0.2s;
	transition: border linear 0.2s, box-shadow linear 0.2s;
}

label {
	width: 100%;
	display: block;
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #ffffff;
	line-height: 20px;
	padding: 0;
	margin: 0 0 10px 0;
}

select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
	width: 100%;
	height: 55px;
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #ffffff;
	line-height: 20px;
	white-space: nowrap;
	text-overflow: ellipsis;
	background: none;	
	border: 1px solid #3a3a3a;
	border-radius: 10px;
	box-shadow: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	overflow: hidden;
	position: relative;
	padding: 13px 25px;
	margin: 0;
}

textarea {
	height: 170px;
	white-space: normal;
	outline: none;
	resize: none;
	padding-top: 25px;
	padding-bottom: 25px;
}

select {
	background-image: url(../img/chevron-down.svg);
	background-size: 18px auto;
	background-repeat: no-repeat;
	background-position: top 16px right 22px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-top: 0;
	padding-right: 80px;
	padding-bottom: 0;
}

select::-ms-expand {
	display:none;
}

select option:not([disabled]) {
	color: #000000;
}

select option.def:not([disabled]),
select.gf_placeholder:not([disabled]) {
	color: #ffffff;
}

::-webkit-input-placeholder,
::-webkit-textarea-placeholder {
	color: #ffffff;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
	color: #ffffff;
}

::-moz-placeholder {
	color: #ffffff;
}

::-ms-input-placeholder {
	color: #ffffff;
}

select:focus,
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
	outline: 0;
	border-color: #ffffff;
	box-shadow: rgba(0, 0, 0, .15) 0 0 10px;
}


/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
}

/* Firefox */
input[type=number] {
	-moz-appearance: textfield;
}


/* Form Check Group */
.form-check-group {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 5px 0;
	margin: 0 -10px -20px -10px;
}

.form-check {
	width: 100%;
	float: left;
	padding: 0 10px 20px 10px;
}

.form-check label {
	width: 100%;
	min-height: 23px;
	float: left;
	font-size: 16px;
	line-height: 22px;
	letter-spacing: normal;
	text-transform: inherit;
	position: relative;
	padding: 2px 0 0 35px;
	margin: 0;
}

.form-check label:before {
	content: "";
	width: 23px;
	height: 23px;
	float: left;
	display: block;
	border: 1px solid #3a3a3a;
	position: absolute;
	top: 0;
	left: 0;
}

.form-check input[type=checkbox],
.form-check input[type=radio] {
	width: 0;
	height: 0;
	opacity: 0;
	position: absolute;
	overflow: hidden;
}

.form-check input[type=radio]+label:before {
	border-radius: 900px;
}

.form-check input[type=checkbox]:checked+label:before,
.form-check input[type=checkbox]:checked+label:focus:before {
	background-repeat: no-repeat;
	background-image: url(../img/check.svg);
	background-position: center center;
	background-size: 13px auto;
}

.form-check input[type=radio]:checked+label:before,
.form-check input[type=radio]:checked+label:focus:before {
	background-repeat: no-repeat;
	background-image: url(../img/circle-solid.svg);
	background-position: center center;
	background-size: 10px auto;
}


/* File - Upload */
input[type=file] {
	width: 100%;
	font-size: 18px;
	line-height: 24px;
}

input[type=file]::file-selector-button {
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #ffffff;
	line-height: 24px;
	background: none;
	border: 1px solid #3a3a3a;
	border-radius: 10px;
	cursor: pointer;
	-webkit-transition: all .25s ease-out;
	-moz-transition: all .25s ease-out;
	-o-transition: all .25s ease-out;
	transition: all .25s ease-out;
	outline: 0;
	padding: 15px 35px;
	margin: 5px 20px 0 0;
}

input[type=file]::file-selector-button:hover {
	color: #ffffff;
	background: #422eef;
	border-color: #422eef;
}

.txt-size {
	margin-top: 15px;
}

@media (max-width: 767px) {
.upload-wrap {
	overflow: hidden;
}
}


/* #Buttons
================================================== */

button {
	background: none;
	border: none;
	box-shadow: none;
	text-decoration: none;
	white-space: normal;
	cursor: pointer;
	outline: 0;
	padding: 0;
	margin: 0;
}

button:hover,
button:focus,
button:active,
button:active:focus,
button.active,
button.active:focus {
	outline: 0;
}

.btn,
input[type="button"],
input[type="submit"] {
	width: auto;
	height: auto;
	min-width: 180px;
	float: none;
	display: inline-block;
	vertical-align: middle;
	font-family: "Poppins", sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #ffffff;
	line-height: 24px;
	text-align: center;
	text-decoration: none;
	white-space: normal; 
	background: #ff64a5;		
	background-image: linear-gradient(110deg, #ff64a5 0%, #422eef 90%);
	box-shadow: none;	
	border-radius: 360px;
	border: none;
	overflow: hidden;
	position: relative;
	z-index: 1;
	cursor: pointer;
	outline: 0;
	-webkit-transition: all .25s ease-out;
	-moz-transition: all .25s ease-out;
	-o-transition: all .25s ease-out;
	transition: all .25s ease-out;
	padding: 15px 35px;
	margin: 0;
}

.btn em {
	font-size: 90%;
	margin: 0 0 0 4px;
}

.btn:hover,
.btn:focus,
.btn:active,
.btn:active:focus,
.btn.active,
.btn.active:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="button"]:active,
input[type="button"]:active:focus,
input[type="button"].active,
input[type="button"].active:focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="submit"]:active,
input[type="submit"]:active:focus,
input[type="submit"].active,
input[type="submit"].active:focus,
.btn:not(:disabled):not(.disabled).active, 
.button:not(:disabled):not(.disabled):active {
	color: #ffffff;
	text-decoration: none;
	background: #422eef;		
	background-image: linear-gradient(110deg, #422eef 0%, #ff64a5 90%);
	box-shadow: none; 
	outline: 0;
}

.btn-black, 
input.btn-black[type="button"], 
input.btn-black[type="submit"] {
	background: none;		
	background-image: linear-gradient(110deg, rgba(153, 153, 153, 0.80) 0%, rgba(9, 19, 46, .80) 90%);
}

.btn-black:hover, 
.btn-black:focus, 
.btn-black:active, 
.btn-black:active:focus, 
.btn-black.active, 
.btn-black.active:focus,
input.btn-black[type="button"]:hover, 
input.btn-black[type="button"]:focus, 
input.btn-black[type="button"]:active, 
input.btn-black[type="button"]:active:focus, 
input.btn-black[type="button"].active, 
input.btn-black[type="button"].active:focus, 
input.btn-black[type="submit"]:hover, 
input.btn-black[type="submit"]:focus, 
input.btn-black[type="submit"]:active, 
input.btn-black[type="submit"]:active:focus, 
input.btn-black[type="submit"].active, 
input.btn-black[type="submit"].active:focus,
.btn-black:not(:disabled):not(.disabled).active, 
.button.btn-black:not(:disabled):not(.disabled):active { background: none;
	background-image: linear-gradient(110deg, rgba(9, 19, 46, .80) 0%, rgba(153, 153, 153, 0.80) 90%);
}

.btn:focus,
input[type="button"]:focus,
input[type="submit"]:focus {
	outline: 5px auto -webkit-focus-ring-color;
	outline-offset: 2px;
}

.disabled {
	cursor: not-allowed;
	filter: alpha(opacity=65);
	opacity: .65;
}

.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
	cursor: not-allowed;
	filter: alpha(opacity=65);
	-webkit-box-shadow: none;
	box-shadow: none;
	opacity: .65;
}

a.btn.disabled,
fieldset[disabled] a.btn {
	pointer-events: none;
}

.btn-out {
	width: 100%;
	float: none;
	display: inline-block;
	vertical-align: top; 
	margin: 16px 0 0 0;
}

.btn-wrap {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 16px -7px -20px -7px;
}

.btn-wrap .btn {
	float: left;
	margin: 0 7px 20px 7px;
}


/*= Container - Main
=======================================================*/

.container-main {
	width: 100%;
	min-height: 100vh;
	float: left;
	display: flex;
	flex-direction: column;
	position: relative;
	overflow: hidden;
}

.container {
	width: 100%;
	max-width: 1300px;
	padding: 0 40px;
	margin: 0 auto;
}

@media (max-width: 767px) {
.container {
	max-width: 650px;
	padding: 0 25px;
}
}


/* Sub - Heading */
.sub-heading {
	width: 100%;
	float: none;
	display: inline-block;
	vertical-align: top;
	font-weight: 400;
	font-size: 20px;
	color: #ffffff;
	line-height: 28px;
	text-transform: uppercase;
	margin-bottom: 20px;
}

.sub-heading:last-child {
	margin-bottom: 0;
}


/* Heading - Text */
.heading-txt {
	width: 100%;
	float: none;
	display: inline-block;
	vertical-align: top;
	text-align: center;
	padding: 0 0 85px 0;
}

.heading-txt:last-child {
	padding-bottom: 0;
}

.heading-txt .aside {
	width: 100%;
	max-width: 800px;
	float: none;
	display: inline-block;
	vertical-align: top;
}

@media (max-width: 1199px) {
.heading-txt {
	padding: 0 0 70px 0;
}
}

@media (max-width: 767px) {
.heading-txt {
	padding: 0 0 60px 0;
}
}


/* 
 3.) Header - Main
----------------------------------------*/

.header-main {
	width: 100%;
	float: left;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9;
}

.header-main .nav-bar {
	width: 100%;
	float: left;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.header-main .nav-bar .brand {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	position: relative;
	z-index: 5;
}

.header-main .nav-bar .brand img {
	max-height: 59px;
}

.header-main .nav-bar .btn-wrap {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 -7px;
}

.header-main .nav-bar .btn-wrap .btn {
	min-width: inherit;
	width: 180px;
	float: left;
	padding-left: 10px;
	padding-right: 10px;
	margin: 0 7px;
}

@media (min-width: 768px) {
.header-main .nav-bar {
	height: 108px;
}

.header-main .nav-bar .brand {
	height: 107px;
	float: left;
}

.header-main .nav-bar .btn-wrap {
	height: 107px;
	float: right;
}
}

@media (max-width: 767px) {
.header-main .nav-bar {
	padding: 20px 0;
}

.header-main .nav-bar .brand {
	justify-content: center;
	margin: 0 0 20px 0;
}

.header-main .nav-bar .brand img {
	max-height: 50px;
}

.header-main .nav-bar .btn-wrap {
	justify-content: center;
	margin: 0 -30px -20px -30px;
}

.header-main .nav-bar .btn-wrap .btn {
	width: 150px;
	padding: 10px 10px;
	margin: 0 6px 20px 6px;
}
}


/*
 3.) Content - Main
----------------------------------------*/

.content-main {
	width: 100%;
	float: left;
	flex: 1 0 auto;
	overflow: hidden;
}


/* Hero - Main */
.hero-main {
	width: 100%;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.hero-main .figure {
	width: 100%;
	height: 100%;
	float: left;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.hero-main .figure img {
	width: auto;
	max-width: none;
	min-width: 100%;
	min-height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.hero-main .aside {
	width: 100%;
	min-height: 935px;
	float: left;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	font-size: 40px;
	color: #ffffff;
	line-height: 60px;
	text-align: center;
	padding: 200px 0 250px 0;
}

.hero-main .aside .logo {
	width: 100%;
	float: left;
	margin: 0 0 15px 0;
}

.hero-main .aside .logo img {
	max-height: 176px;
}

@media (max-width: 1199px) {
.hero-main .aside {
	min-height: 760px;
	font-size: 35px;
	line-height: 50px;
}

.hero-main .aside .logo img {
	max-height: 150px;
}
}

@media (max-width: 767px) {
.hero-main .aside {
	min-height: 660px;
	font-size: 30px;
	line-height: 40px;
	padding: 225px 0 200px 0;
}

.hero-main .aside .logo img {
	max-height: 80px;
}
}


/* Content  - Home */
.content-home {
	width: 100%;
	min-height: 600px;
	float: none;
	display: inline-block;
	vertical-align: top;
	position: relative;
	z-index: 1;
	padding: 150px 0 0 0;
	margin: -200px 0 0 0;
}

.content-home:before {
	content: "";
	width: 100%;
	height: 551px;
	background: url(../img/curve-inner.png) no-repeat top center;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

@media (min-width: 1440px) {
.content-home:before {
	background-size: 100% 551px;
}
}

@media (max-width: 767px) {
.content-home {
	padding: 170px 0 0 0;
}
}


/* Split - Cont */
.split-cont {
	width: 100%;
	float: left;
	padding: 0 0 120px 0;
}

.split-cont .box {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
}

.split-cont .box .aside {
	width: 52.45%;
	position: relative;
	z-index: 1;
}

.split-cont .box .aside .sub-heading {
	margin-bottom: 12px;
}

.split-cont .box .aside .btn,
.split-cont .box .aside input[type="button"],
.split-cont .box .aside input[type="submit"] {
	min-width: 206px;
}

.split-cont .box .aside .btn-out {
	margin: 30px 0 0 0;
}

.split-cont .box .aside .txt-max {
	width: 100%;
	max-width: 580px;
	float: right;
}


.split-cont .box .figure-wrap {
	width: 47.55%;
}

.split-cont .box .figure-wrap .figure {
	width: 138%;
	float: left;
	position: relative;
	z-index: 1;
	margin: 0 -19%;
}

.split-cont .box .figure-wrap .figure img {
	width: 100%;
}

.split-cont .box .figure-wrap .figure::before {
	content: "";
	width: 100%;
	height: 100%;
	float: left;
	background: url(../img/figure-bg.png) no-repeat center center;
	background-size: 100% 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.split-cont .box .figure-wrap .figure::after {
	content: "";
	width: 32%;
	height: 32%;
	float: left;
	box-shadow: #4C3CFF 0 0 300px;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: -1;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

@media (max-width: 1199px) {
.split-cont {
	padding: 0 0 80px 0;
}
}

@media (max-width: 767px) {
.split-cont {
	text-align: center;
	padding: 0 0 60px 0;
}

.split-cont .box .aside {
	width: 100%;
}

.split-cont .box .aside .txt-max {
	max-width: 100%;
}

.split-cont .box .figure-wrap {
	width: 100%;
}

.split-cont .box .figure-wrap .figure {
	width: 100%;
	margin: 0;
}

.split-cont .box .figure-wrap .figure img {
	width: 100%;
}
}


/* Feature - List */
.feature-list {
	width: 100%;
	overflow: hidden;
	padding: 0 0 140px 0;
}

.feature-list .container {
	max-width: 1080px;
}

.feature-list .article {
	width: 33.33%;
	padding: 0 16px 32px 16px;
}

.feature-list .article .box {
	width: 100%;
	height: 100%;
	float: left;
	font-weight: inherit;
	color: inherit;
	text-decoration: none;
	background: #060e17;
	box-shadow: inset #4D425B80 0 0 0 1px;
	border-radius: 16px;
	padding: 25px 20px 50px 20px;
	cursor: default;
}

.feature-list .article .box .icon {
	width: 52px;
	height: 52px;
	float: left;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	background: linear-gradient(110deg, #ff64a5 0%, #422eef 90%);
	border-radius: 16px;
	overflow: hidden;
	position: relative;
	margin-bottom: 22px;
}

.feature-list .article .box .icon img {
	max-height: 23px;
	opacity: 0.35;
}

.feature-list .article .box .aside {
	width: 100%;
	float: left;
}

.feature-list .article .box .aside h4,
.feature-list .article .box .aside .h4 {
	font-size: 18px;
	line-height: 24px;
	padding-bottom: 15px;
}

.feature-list .article .box .aside h4:last-child,
.feature-list .article .box .aside .h4:last-child {
	padding-bottom: 0;
}

.feature-list .article .box .aside .txt-max {
	width: 100%;
	max-width: 220px;
	float: left;
}

.feature-list .article .box:hover,
.feature-list .article .box:focus,
.feature-list .article .box:active {
	background: linear-gradient(107.82deg, #FF64A5 -29.09%, #1922FF 118.16%);
}

.feature-list .article .box:hover .icon,
.feature-list .article .box:focus .icon,
.feature-list .article .box:active .icon {
	background: url(../img/gradient-circle.png) no-repeat center center;
	background-size: 100% 100%; 
	border-radius: 20px;
}

.feature-list .article .box:hover .icon img,
.feature-list .article .box:focus .icon img,
.feature-list .article .box:active .icon img {
	opacity: 1;
}

.feature-list .article-wrap {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -16px -32px -16px;
}

@media (max-width: 1199px) {
.feature-list {
	padding: 0 0 100px 0;
}
}

@media (max-width: 767px) {
.feature-list {
	padding: 0 0 80px 0;
}

.feature-list .container {
	max-width: 650px;
}

.feature-list .article {
	width: 100%;
}
}


/* Bottom - Cta - Cont */
.bottom-cta-cont {
	width: 100%;
	overflow: hidden;
}

.bottom-cta-cont .box {
	width: 100%;
	text-align: center;
	background: url(../img/cta-cont-bg.jpg) no-repeat center center;
	background-size: cover;
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 36px;
	overflow: hidden;
	padding: 80px 80px;
}

.bottom-cta-cont .box .aside {
	width: 100%;
	max-width: 800px;
	float: none;
	display: inline-block;
	vertical-align: top;
}

.bottom-cta-cont .box .aside h2,
.bottom-cta-cont .box .aside .h2 {
	font-size: 48px;
	line-height: 58px;
	padding-bottom: 20px;
}

.bottom-cta-cont .box .aside h2:last-child,
.bottom-cta-cont .box .aside .h2:last-child {
	padding-bottom: 0;
}

.bottom-cta-cont .box .aside .btn-out {
	margin: 12px 0 0 0;
}

@media (max-width: 1199px) {
.bottom-cta-cont .box {
	border-radius: 30px;
	padding: 60px 60px;
}

.bottom-cta-cont .box .aside h2,
.bottom-cta-cont .box .aside .h2 {
	font-size: 40px;
	line-height: 50px;
}
}

@media (max-width: 767px) {
.bottom-cta-cont .box {
	border-radius: 24px;
	padding: 50px 25px;
}

.bottom-cta-cont .box .aside h2,
.bottom-cta-cont .box .aside .h2 {
	font-size: 32px;
	line-height: 40px;
}
}

/* ——— Artist CTA ——— */
.artist-cta {
  color: #dadada;
  padding: 100px 0 80px;
}

/* full-width intro */
.artist-cta__intro {
  text-align: left;
  margin-bottom: 60px;
}
.artist-cta__intro h2 {
  font-size: 36px;
  line-height: 1.2;
  color: #fff;
  margin-bottom: 12px;
}
.artist-cta__intro h2 i {
  color: #ff64a5;
  margin-right: 8px;
}
.artist-cta__intro .sub-line {
  font-size: 18px;
  margin-bottom: 24px;
}
.artist-cta__intro h3 {
  font-size: 28px;
  margin-bottom: 12px;
}
.artist-cta__intro .lead {
  font-size: 16px;
  margin-bottom: 0;
}

/* two-column wrapper */
.artist-cta__columns {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-start;
}

/* list column */
.artist-cta__list-col {
  flex: 1 1 500px;
  text-align: left;
}
.artist-cta__list-col h4 {
  font-size: 20px;
  color: #fff;
  margin-bottom: 16px;
}
.artist-cta__list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.artist-cta__list li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 16px;
  line-height: 1.4;
}
/* remove the old FontAwesome before/after rules */
.artist-cta__list li:before,
.artist-cta__list li:after {
  content: none;
}

/* new circle */
.artist-cta__list li {
  position: relative;
  padding-left: 36px; /* room for circle + check */
}
.artist-cta__list li:before {
content: "";
  position: absolute;
  left: -2px;
  top: 3px;
  width: 25px;
  height: 25px;
  border: 2px solid #FDD835;
  border-radius: 50%;
  box-sizing: border-box;
  background: none;
}

/* the check mark */
.artist-cta__list li:after {
  content: "";
  position: absolute;
  left: 6px;              /* tweak to center inside circle */
  top: 8px;               /* tweak to center inside circle */
  width: 6px;
  height: 11px;
  border-right: 2px solid #FDD835;
  border-bottom: 2px solid #FDD835;
  transform: rotate(45deg);
}


/* image column */
.artist-cta__image-col {
  flex: 1 1 300px;
  text-align: center;
}
.artist-cta__image-col img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* responsive */
@media (max-width: 767px) {
  .artist-cta__columns {
    flex-direction: column;
  }
  .artist-cta__image-col {
    margin-top: 40px;
  }
}

/*
 4.) Footer - Main
----------------------------------------*/

.footer-main {
	width: 100%;
	float: left;
	flex-shrink: 0;
	position: relative;
	z-index: 1;
	padding: 60px 0;
}

.footer-main::before,
.footer-main::after {
	content: "";
	width: 36.80%;
	height: 1000px;
	float: left;
	background: url(../img/footer-curve-left.png) no-repeat bottom left;
	background-size: 100% auto;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.footer-main::after {
	content: "";
	width: 36.80%;
	height: 1000px;
	float: left;
	background: url(../img/footer-curve-right.png) no-repeat bottom right;
	background-size: 100% auto;
	position: absolute;
	bottom: 0;
	left: auto;
	right: 0;
	z-index: -1;
}

.footer-main .pre-footer {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.footer-main .pre-footer .brand {
	width: 205px;
	text-align: center;
	position: relative;
	z-index: 1;
	margin: 0 -205px 0 0;
}

.footer-main .pre-footer .brand a {
	text-decoration: none;
}

.footer-main .pre-footer .logo img {
	width: 100%;
	max-width: 62px;
}

.footer-main .pre-footer .footer-right {
	width: 100%;
	padding: 0 0 0 205px;
}

.footer-main .pre-footer .footer-right .box {
	width: 100%;
	float: left;
	background: #050a1b;
	border: 1px solid #23262c;
	border-radius: 360px;
	padding: 35px 70px;
}

.footer-main .pre-footer .footer-right .box ul {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -23px -23px -23px;
}

.footer-main .pre-footer .footer-right .box ul li {
	padding: 0;
	margin: 0 23px 23px 23px;
}

.footer-main .pre-footer .footer-right .box ul li:before {
	display: none;
}

.footer-main .pre-footer .footer-right .box ul li a {
	font-weight: inherit;
	color: #ffffff;
	text-decoration: none;
}

.footer-main .pre-footer .footer-right .box ul li a:hover,
.footer-main .pre-footer .footer-right .box ul li a:focus,
.footer-main .pre-footer .footer-right .box ul li a:active {
	color: #ff64a5;
}

.footer-main .copyrights {
	width: 100%;
	color: #ffffff;
	text-align: right;
	overflow: hidden;
}

@media (max-width: 1199px) {
.footer-main {
	padding: 50px 0;
}

.footer-main .pre-footer .brand {
	width: 100px;
	text-align: left;
	margin: 0 -100px 0 0;
}

.footer-main .pre-footer .footer-right {
	padding: 0 0 0 100px;
}

.footer-main .pre-footer .footer-right .box {
	padding: 25px 50px;
}

.footer-main .pre-footer .footer-right .box ul {
	margin: 0 -20px -20px -20px;
}

.footer-main .pre-footer .footer-right .box ul li {
	margin: 0 20px 20px 20px;
}

}

@media (max-width: 767px) {
.footer-main {
	padding: 40px 0;
}

.footer-main .pre-footer .brand {
	width: 100%;
	text-align: center;
	margin: 0 0 20px 0;
}

.footer-main .pre-footer .brand img {
	max-width: 48px;
}

.footer-main .pre-footer .footer-right {
	padding: 0;
}

.footer-main .pre-footer .footer-right .box {
	border-radius: 32px;
	padding: 30px 30px;
}

.footer-main .pre-footer .footer-right .box ul {
	justify-content: center;
	margin: 0 -15px -20px -15px;
}

.footer-main .pre-footer .footer-right .box ul li {
	margin: 0 15px 20px 15px;
}

.footer-main .copyrights {
	text-align: center;
}
}


/*
 5.) Contact - Page
------------------------------------------------------*/

/* Hero - Inner */
.hero-inner {
	width: 100%;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.hero-inner .figure {
	width: 100%;
	height: 100%;
	float: left;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.hero-inner .figure img {
	width: auto;
	max-width: none;
	min-width: 100%;
	min-height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

.hero-inner .aside {
	width: 100%;
	min-height: 435px;
	float: left;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	font-size: 40px;
	color: #ffffff;
	line-height: 60px;
	text-align: center;
	padding: 188px 0 100px 0;
}

.hero-inner .aside .logo {
	width: 100%;
	float: left;
	margin: 0 0 15px 0;
}

.hero-inner .aside .logo img {
	max-height: 176px;
}

@media (max-width: 1199px) {
.hero-inner .aside {
	font-size: 35px;
	line-height: 50px;
}
}

@media (max-width: 767px) {
.hero-inner .aside {
	font-size: 30px;
	line-height: 40px;
	padding: 225px 0 90px 0;
}
}


/* Sections - Wrap */
.sections-wrap {
	width: 100%;
	min-height: 600px;
	float: none;
	display: inline-block;
	vertical-align: top;
	position: relative;
	z-index: 2;
	padding: 100px 0 0 0;
	margin: -100px 0 0 0;
}

.sections-wrap:before {
	content: "";
	width: 100%;
	height: 551px;
	background: url(../img/curve-inner.png) no-repeat top center;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

@media (min-width: 1440px) {
.sections-wrap:before {
	background-size: 100% 551px;
}
}


/* Contact - Content */
.contact-cont {
	width: 100%;
	overflow: hidden;
	padding: 100px 0;
}

.contact-cont .txt-block {
	width: 100%;
	max-width: 750px;
	margin-bottom: 60px;
}

.contact-cont .txt-block:last-child {
	margin-bottom: 0;
}

@media (min-width: 768px) {
.contact-cont .container {
	max-width: 1000px;
}
}

@media (max-width: 1199px) {
.contact-cont {
	padding: 80px 0;
}
}

@media (max-width: 767px) {
.contact-cont {
	padding: 60px 0;
}
}


/* Form - Block */
.form-block {
	width: 100%;
	float: none;
	display: inline-block;
	vertical-align: top;
	padding: 0;
	margin: 0;
}

.form-block form {
	width: 100%;
	float: none;
	display: inline-block;
	vertical-align: top;
	padding: 0;
	margin: 0;
}

.form-block ul {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0;
	margin: 0 -20px -40px -20px;
}

.form-block ul li {
	width: 50%;
	float: left;
	line-height: 1em;
	text-align: left;
	padding: 0 20px;
	margin: 0 0 40px 0;
}

.form-block ul li:before {
	display: none;
}

.form-block ul li.full-width {
	width: 100%;
}

.form-block .btn-wrap {
	width: 100%;
	float: none;
	display: inline-block;
	vertical-align: top;
	position: relative;
	margin: 45px 0 20px 0;
}

.form-block .btn-wrap:last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
.form-block ul {
	margin: 0 -15px -30px -15px;
}

.form-block ul li {
	width: 100%;
	padding: 0 15px;
	margin-bottom: 30px;
}

.form-block .btn,
.form-block input[type="button"],
.form-block input[type="submit"] {
	width: 100%;
	padding-left: 10px;
	padding-right: 10px;
}

.form-block .btn-wrap {
	margin-top: 35px;
}
}


/*
 6.) Site - Cores
------------------------------------------------------*/

/* Text - Colors */
.white {
	color: #ffffff !important;
}

.gradient-txt {
	float: none;
	display: inline-block;
	vertical-align: top;
	background: linear-gradient(90deg, #ffffff 0%, #9da6ff 70%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}


/* Font - Weights */
.light {
	font-weight: 300 !important;
}

.medium {
	font-weight: 500 !important;
}


/* Text - Positions */
.upper-case {
	text-transform: uppercase !important;
}

.lower-case {
	text-transform: none !important;
}

.underline {
	text-decoration: underline !important;
}

/* When body has .modal-open, kill its scrollbar */
body.modal-open {
  overflow: hidden;
}

/* Ensure the overlay covers the entire viewport, scrollbar area included */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;      /* full viewport width */
  height: 100vh;     /* full viewport height */
  display: none !important;     /* hidden by default */
  background: rgba(0,0,0,0.7);
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 0;        /* no side padding so it truly fills */
}
.modal-overlay.active {
  display: flex !important;
}

.modal-content {
  background: #050a1b;
  padding: 30px;
  max-width: 65vw;
  width: 100%;
  border-radius: 12px;
  position: relative;
  color: #fff;
  max-height: 90vh;
  overflow-y: auto;
}
.modal-content h3 {
  margin-top: 0;
  margin-bottom: 20px;
}
.modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: none;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.modal-form ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.modal-form ul li {
  margin-bottom: 16px;
}

.modal-form ul li::before{
	content: none;
}

.modal-form label {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
}
.modal-form input[type="text"],
.modal-form input[type="email"],
.modal-form input[type="url"],
.modal-form textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid #3a3a3a;
  border-radius: 6px;
  background: none;
  color: #fff;
}
.modal-form .btn-wrap {
  text-align: right;
  margin-top: 20px;
}

/* Modal Overlay */
.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  z-index: 9999;
}
/* Modal Box */
.modal-box {
  background: #050a1b;
  border-radius: 16px;
  overflow: hidden;
  max-width: 1000px;
  width: 100%;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  position: relative;
}
/* Close Button */
.modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 28px;
  color: #fff;
  cursor: pointer;
}
/* Two-pane layout */
.modal-content {
  display: flex;
  flex: 1;
  overflow: hidden;
}
.modal-left,
.modal-right {
  flex: 1;
  overflow-y: auto;
}
/* Left side styling */
.modal-left {
  background: url('../img/signup-hero.jpg') no-repeat center/cover;
  position: relative;
}
.modal-left__inner {
  position: absolute;
  bottom: 40px;
  left: 40px;
  color: #fff;
  max-width: 320px;
}
.modal-left__inner h2 {
  font-size: 32px;
  line-height: 1.2;
  margin-bottom: 16px;
}
.modal-left__inner p {
  font-size: 16px;
  line-height: 1.4;
}
/* Right side styling */
.modal-right {
  background: #0a0d14;
  padding: 40px;
}
.modal-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 32px;
}
.tab-btn {
  flex: 1;
  padding: 12px 16px;
  background: #223;
  border: none;
  color: #ccc;
  cursor: pointer;
  border-radius: 999px;
  transition: background .3s;
}
.tab-btn.active {
  background: #3040ff;
  color: #fff;
}
.tab-panels {
  color: #fff;
}
.tab-panel {
  display: none;
}
.tab-panel h3 {
  margin-top: 0;
  font-size: 24px;
}
.tab-panel p {
  margin-bottom: 24px;
  font-size: 14px;
  color: #bbb;
}
.modal-form label {
  display: block;
  margin-bottom: 16px;
  font-size: 14px;
  color: #ccc;
}
.modal-form input {
  width: 100%;
  padding: 12px;
  border: 1px solid #333;
  border-radius: 8px;
  background: #111;
  color: #fff;
  box-sizing: border-box;
  margin-top: 6px;
}
.btn-full {
  display: block;
  width: 100%;
  margin: 24px 0 8px;
}
/* Small note */
.small {
  font-size: 12px;
  color: #666;
  text-align: center;
}
/* Responsive */
@media (max-width: 767px) {
  .modal-content { flex-direction: column; }
  .modal-left__inner { left: 20px; right: 20px; }
}

/* 1. Make the modal narrower and centered */
.modal-box {
  max-width: 65vw;         /* reduced from 1000px */
  width: 90%;
  margin: auto;
  border-radius: 20px;      /* slightly larger rounding */
}

/* 2. Turn the flex into an explicit 2-column grid for exact control */
.modal-content {
  display: grid;
  /* grid-template-columns: 1fr 1fr; */
  min-height: 60vh;         /* ensure a good 50% of viewport height */
  overflow: hidden;
}

/* 3. Left side: ensure perfect cover & padding */
.modal-left {
  padding: 0;               /* remove inner padding */
  background-size: cover;
  background-position: center;
  position: relative;
}
.modal-left__inner {
  bottom: 40px;
  left: 40px;
  right: 40px;              /* constrain text within same margins */
}

/* 4. Right side: consistent padding & scroll */
.modal-right {
  padding: 40px 50px;       /* more room on the right */
  overflow-y: auto;
}

/* 5. Tab buttons: full-width on desktop, more contrast */
.modal-tabs {
  justify-content: flex-end;
  gap: 12px;
  margin-bottom: 36px;
}
.tab-btn {
  flex: none;
  padding: 10px 20px;
  background: #1c2231;      /* slightly lighter BG for unselected */
  color: #aaa;
  border-radius: 999px;
  font-size: 14px;
}
.tab-btn.active {
  background: #3040ff;
  color: #fff;
}

/* 6. Form & headings: tighten up spacing */
.modal-right h3 {
  margin-top: 0;
  margin-bottom: 12px;      /* closer to copy */
  font-size: 22px;
}
.modal-right p {
  margin-bottom: 24px;
  color: #ccc;
}
.modal-form label {
  margin-bottom: 12px;
}
.modal-form input {
  margin-top: 6px;
  margin-bottom: 16px;      /* consistent field spacing */
}

/* 7. Close button: slightly larger hit area */
.modal-close {
  top: 12px;
  right: 12px;
  font-size: 32px;
  line-height: 1;
  padding: 8px;
}

/* Modal-form two-column grid */
.modal-form .form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

/* Standard form items */
.modal-form .form-group label {
  display: block;
  margin-bottom: 6px;
  color: #ccc;
  font-size: 14px;
}
.modal-form .form-group input,
.modal-form .form-group textarea {
  width: 100%;
  padding: 10px;
  background: #111;
  border: 1px solid #333;
  border-radius: 6px;
  color: #fff;
  box-sizing: border-box;
  font-size: 14px;
}

/* Full-width items (textarea + button row) */
.modal-form .full-width {
  grid-column: 1 / -1;
}

/* Radio group layout */
.modal-form .radio-group {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.modal-form .radio-group .radios label {
  margin-left: 12px;
  font-size: 14px;
  color: #ccc;
}
.modal-form .radio-group .radios input {
  margin-right: 4px;
}

/* Button row centering */
.modal-form .btn-row {
  text-align: center;
  margin-top: 10px;
}
.modal-form .btn-full {
  background: linear-gradient(110deg, #3040ff 0%, #a04ce4 90%);
  border: none;
  color: #fff;
  padding: 14px 32px;
  font-size: 16px;
  border-radius: 999px;
  cursor: pointer;
  max-width: 200px;
}

/* Checkbox spacing */
.modal-form .form-check {
  display: flex;
  align-items: center;
}
.modal-form .form-check input {
  margin-right: 8px;
}

/* Responsive: stack to one column on small screens */
@media (max-width: 767px) {
  .modal-form .form-grid {
    grid-template-columns: 1fr;
  }
}


/* 8. Mobile: stack panels */
@media (max-width: 767px) {
  .modal-content {
    display: block;
  }
  .modal-left, .modal-right {
    padding: 20px !important;
  }
  .modal-left__inner {
    bottom: 20px;
    left: 20px;
    right: 20px;
  }
}

/* 1) Two-column grid, 35% image / 65% form */
#signup-modal .modal-content {
  display: grid !important;
  grid-template-columns: 35% 65%;
  min-height: 60vh;
}

/* 2) Left panel full cover, no inner padding */
#signup-modal .modal-left {
  background: url('../img/signup-hero.jpg') center/cover no-repeat !important;
  padding: 0 !important;
}
#signup-modal modal-left__inner {
  position: absolute;
  bottom: 40px;
  left: 20px;
  right: 20px;
  max-width: none;
}

/* 3) Right panel padding & scroll */
#signup-modal .modal-right {
  padding: 40px 50px !important;
  overflow-y: auto;
}

/* 4) Center the tab pill */
#signup-modal .modal-tabs {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 32px;
}
/* 5) Pills styling */
#signup-modal .tab-btn {
  padding: 8px 24px;
  background: #2A2E3D;
  color: #aaa;
  border-radius: 999px;
  font-size: 14px;
  border: 1px solid transparent;
  transition: all .2s;
}
#signup-modal .tab-btn.active {
  background: #3040FF;
  color: #fff;
}

/* 6) Heading & copy spacing */
#signup-modal .modal-right h3 {
  font-size: 22px;
  margin: 0 0 12px;
}
#signup-modal .modal-right p {
  margin: 0 0 24px;
  color: #bbb;
  font-size: 14px;
}

/* 7) Inputs & button width */
#signup-modal .modal-form input {
  margin-bottom: 20px;
  padding: 12px;
}
#signup-modal .btn-full {
  width: 100%;
  padding: 14px 0;
  background: linear-gradient(110deg,#3040FF 0%,#A04CE4 90%);
  border: none;
  color: #fff;
  font-size: 16px;
  border-radius: 999px;
  margin-top: 8px;
}

/* 8) Close button inside */
#signup-modal .modal-close {
  top: 12px;
  right: 12px;
  font-size: 28px;
}

/* 9) Mobile: stack panels */
@media (max-width: 767px) {
  #signup-modal .modal-content {
    grid-template-columns: 1fr !important;
  }
  #signup-modal .modal-left, .modal-right {
    padding: 20px !important;
    position: relative;
  }
  #signup-modal .modal-left__inner {
    bottom: 20px;
    left: 20px;
    right: 20px;
  }
}

#signup-modal .modal-content {
  grid-template-columns: 55% 45%;
  width: auto;           /* let it size to the grid */
  max-width: 100%;      /* or whatever your ideal max is */
  padding: 0;
  /* (you can also re-apply your grid-template-columns here) */
}

#signup-modal .modal-form .btn-full {
  min-width: 100%;
}

/* ===== Mobile Modal Adjustments ===== */
@media (max-width: 767px) {
  /* Stack panels instead of side-by-side */
  .modal-content {
    display: block !important;
  }

  /* Make modal box full-width with some gutter */
  .modal-box {
    width: 100%;
    max-width: 100%;
    margin: 0 12px;
    border-radius: 16px;
    overflow: hidden;
    font-size: 14px;
  }

  /* Left image panel collapse to a shorter hero */
  .modal-left {
    position: relative;
    min-height: 180px;
    background-size: cover !important;
    background-position: center;
  }

  .modal-left__inner {
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    padding: 20px;
    max-width: 100%;
  }

  /* Tabs: full-width, evenly spaced */
  .modal-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    margin-bottom: 24px;
    justify-content: space-between;
  }

  .tab-btn {
    flex: 1 1 50%;
    padding: 10px 12px;
    font-size: 13px;
    text-align: center;
    white-space: nowrap;
  }

  /* Form side: tighter padding */
  .modal-right {
    padding: 20px !important;
    overflow-y: auto;
    max-height: 80vh;
  }

  /* Form grid becomes single column */
  .modal-form .form-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  /* Make inputs comfortably tapable */
  .modal-form input,
  .modal-form textarea {
    font-size: 15px;
    padding: 12px;
  }

  /* Full-width submit */
  .btn-full {
    width: 100%;
    padding: 14px 0;
    font-size: 16px;
  }

  /* Close button stays accessible */
  .modal-close {
    top: 12px;
    right: 12px;
    font-size: 28px;
    padding: 8px;
  }

  /* Reduce heading size for space */
  .modal-left__inner h2 {
    font-size: 24px;
    line-height: 1.1;
    margin-bottom: 8px;
  }

  .modal-left__inner p {
    font-size: 13px;
  }

  .modal-right h3 {
    font-size: 20px;
    margin-bottom: 8px;
  }

  .small {
    font-size: 12px;
  }
}

/* allow overlay to scroll and stop strict vertical centering on small screens */
@media (max-width: 767px) {
  .modal-overlay {
    align-items: flex-start;       /* let modal start near top so there's room to scroll */
    padding: 20px 0;              /* give breathing room top/bottom */
    overflow-y: auto;             /* enable scrolling if content exceeds viewport */
  }

  /* make the inner content limited and scrollable */
  #localstream-modal .modal-content,
  #signup-modal .modal-content {
    max-height: calc(100vh - 60px); /* leave some gap from edges */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; /* smooth scroll on iOS */
  }
}
/* responsive tab row: wrap or scroll if needed */
.modal-tabs {
  display: flex;
  flex-wrap: wrap;          /* let buttons drop to next line instead of overflowing */
  gap: 8px;
  margin-bottom: 24px;
  overflow-x: auto;         /* if they still overflow, allow horizontal scroll */
  padding-bottom: 4px;      /* small bottom padding for scrollability */
  -webkit-overflow-scrolling: touch;
}

/* tab buttons shrink/grow nicely */
.tab-btn {
  flex: 1 1 140px;          /* try to share space, but don't get smaller than 140px */
  min-width: 120px;
  padding: 10px 16px;
  white-space: normal;      /* allow wrapping inside if needed */
  text-align: center;
  border-radius: 999px;
  box-sizing: border-box;
}

.footer-right .social-icons {
  display: flex;
  gap: 16px;
  margin-left: auto;       /* push icons to the right */
}

.footer-right .social-icons a {
  font-size: 20px;         /* icon size */
  color: #ffffff;
  transition: color .2s;
}

.footer-right .social-icons a:hover {
  color: #ff64a5;          /* match your link hover color */
}