body,html{
    font-family: 'DM Sans', serif;
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 26px;
    padding: 0;
    margin: 0;
}

h1, h2, h3, h4, h5{
    font-family: 'Archivo Black', serif;
    font-style: normal;
    font-weight: 400;
}

h1{
    font-size: 52px;
    line-height: 60px;
}

h2{
    font-size: 44px;
    line-height: 50px;
}

h3{
    font-size: 32px;
    line-height: 35px;
}

h4{
    font-size: 24px;
    line-height: 26px;
}

h5{
    font-size: 20px;
    line-height: 28px;
}

h6{
    font-size: 14px;
    line-height: 24px;
}

h1 strong,
h2 strong,
h3 strong,
h4 strong,
h5 strong,
h6 strong{
    color: #E85E35;
    font-weight: 400;
}

a{
    text-decoration: none;
    transition: all .4s;
}

a:hover{
    opacity: .8;
    color: inherit;
}

.text-meta{
    font-size: 12px;
    line-height: 16px;
}

.color-white {
    color: #fff;
}

.color-blue{
    color: #2A196C;
}

.color-pink{
    color: #FF2DDF;
}

.btn-white{
    display: inline-block;
    padding: 14px 19px;
    background: #fff;
    border-radius: 0;
    border: none;
    color: #000;
    cursor: pointer;
}

.btn-white:hover{
    opacity: 1;
    color: #FFF;
    background: #000;
}

.btn-submit{
    height: 60px;
    background: #2A196C;
    color: #fff;
    border: none;
}

.pb-6{
    padding-bottom: 6rem!important;
}

.anchor{
    scroll-margin-top: 95px;
}

.first-section-padding-top{
    padding-top: 150px;
}

.container-small{
    max-width: 800px;
}

.alert{
    font-size: 16px;
}

/*********************
      HEADER
*********************/

header{
    position: fixed;
    height: 100px;
    width: 100%;
    z-index: 10;
    border-bottom: 1px solid rgba(255, 255, 255, 0.6);
    transition: all .4s;
}

header.sticky{
    background: #ffffff;
}

header.sticky .btn-white{
    background: #000;
    color: #fff;
}

header.sticky .btn-white:hover{
    background: #c9c9c9;
    color: #000;
}

header a{
    color: #000;
}

header .nav a{
    padding: 0 15px;
    text-transform: uppercase;
}
header .logo{
    transition: all .4s;
}

header .logo:hover{
    opacity: .7;
}

.social a{
    margin: 0 10px;
}

header.color-white:not(.sticky) a:not(.btn-white){
    color: #fff;
}

header.color-white:not(.sticky) .logo:not(.logo-white){
    display: none;
}

header.color-white.sticky .logo-white{
    display: none;
}


.mobile-menu {
    display: none;
    top: 25px;
    right: 20px;
    position: absolute;
    width: 70px;
    z-index: 11;
}

.mobile-menu:before,
.mobile-menu:after,
.mobile-menu div {
    background: #fff;
    content: "";
    display: block;
    height: 6px;
    border-radius: 3px;
    margin: 7px 0;
    transition: 0.5s;
}
.mobile-menu-opened .mobile-menu:before {
    transform: translateY(12px) rotate(135deg);
}
.mobile-menu-opened .mobile-menu:after {
    transform: translateY(-12px) rotate(-135deg);
}
.mobile-menu-opened .mobile-menu div {
    transform: scale(0);
}



/*********************
    SECTION HERO
*********************/
section.hero{
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

section.hero:before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 170px;
    background:  linear-gradient(180deg, #BCF3FF 0%, rgba(160, 238, 255, 0) 100%) ;
    z-index: 1;
}

.hero-video{
    position: absolute;
    top:0;
    z-index: 0;
    width: 100%;
    height: 100%;
}

.hero-video video{
    height: 100%;
    width: 177.77777778vh; /* 100 * 16 / 9 */
    min-width: 100%;
    min-height: 56.25vw; /* 100 * 9 / 16 */
}

.hero-text{
    z-index: 2;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
	margin: -215px 0 0 -16%; 
	text-align: center;
}

.hero-card{
    padding: 50px 70px;
    border-radius: 0;
}

.logo-big{
    max-width: 100%;
}

.buy-now-container{
    position: fixed;
    left:0;
    width:100%;
    text-align: center;
    bottom:60px;
    z-index:9999;
}

.buy-now-container .btn-white{
    width:35%;
    min-width: 300px;
}

/*********************
   SECTION PREPARE
*********************/
.prepare-left{
    height: 900px;
    background:url("../images/prepare-left.png") center no-repeat;
    background-size: cover;
}


.prepare-left .card{
    border-radius: 0;
    width: 80%;
    height: 80%;

    background: linear-gradient(180deg, #85F2FC 0%, #CDFCFD 100%);
    padding: 100px 130px;
}

.prepare-left .card .text{
    width: 80%;
    padding-right: 130px;
    position: absolute;
    bottom: 100px;
}

.prepare-right{
    height: 900px;
    background:url("../images/prepare-right.png") center no-repeat;
    background-size: cover;
}

.prepare-right-main{
    height: 300px;
    background:url("../images/main.png") center no-repeat;
    background-size: cover;
}

.prepare-right-nuba{
    height: 300px;
    background:url("../images/nuba.png") center no-repeat;
    background-size: cover;
}

.prepare-right-kuba{
    height: 300px;
    background:url("../images/kupa.png") center no-repeat;
    background-size: cover;
}


.prepare-right-yager{
    height: 300px;
    background:url("../images/yager.png") center no-repeat;
    background-size: cover;
}



.prepare-right-goat{
    height: 300px;
    background:url("../images/goat.png") center no-repeat;
    background-size: cover;
}

.prepare-right-retro{
    height: 300px;
    background:url("../images/fantesia.png") center no-repeat;
    background-size: cover;
}

.prepare-left-main{
    height: 300px;
    background:url("../images/prepare-left.png") center no-repeat;
    background-size: cover;
}

.prepare-left-main .card{
    border-radius: 0;
    width: 80%;
    height: 80%;

    background: linear-gradient(180deg, #85F2FC 0%, #CDFCFD 100%);
    padding: 50px 130px;
}

.prepare-left-main .card .text{
    width: 80%;
    padding-right: 130px;
    position: absolute;
    bottom: 30px;
}

/*********************
   SECTION PREPARE
*********************/
section.artists{
    position: relative;
    background: linear-gradient(180deg, #DE4230 0%, #E870D3 100%);
}

section.artists:before,
section.artists:after{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    width: 434px;
    height: 366px;
    background:url("../images/montaine.png") center no-repeat;
    background-size: cover;
    z-index: 0;
}
section.artists:before{
    left: 0;
}
section.artists:after{
    right: 0;
    transform: scale(-1, 1);
}

section.artists .artist{
    position: relative;
    margin: 13px 0;
    z-index: 1;
}

section.artists .artist:after{
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 80px;
    z-index: 1;
    background: linear-gradient(180deg, rgba(177, 22, 231, 0) 0%, #B116E7 100%);
    left: 0;
    bottom: 0;
}

section.artists .artist img{
    width: 100%;
}

section.artists .artist-name{
    position: absolute;
    bottom: 0;
    left: 20px;
    z-index: 2;
}

/*********************
   SECTION TICKETS
*********************/
section.tickets{
    background:url("../images/tickets-bg.png") center no-repeat;
    background-size: cover;
}

.card-ticket{
    color: #fff;
    padding: 40px 40px 100px 40px;
    height: 100%;
    border-radius: 0;
}

.card-blue{
    background: linear-gradient(180deg, #76CEFF 0%, #0045F8 100%);
}

.card-red{
    background: linear-gradient(180deg, #FC83EF 0%, #DD4130 100%);
}

.card-yellow{
    background: linear-gradient(180deg, #E3CF36 0%, #E07836 100%);
}

.card-ticket .btn{
    position: absolute;
    bottom: 40px;
    width: calc(100% - 80px);
}
.card-ticket ul.program img {width: 60px; margin:2px 20px 0 0px; padding:2px; border:1px solid #fff; float:left;}
.card-ticket ul.program { list-style-type: none; padding:0;}
.card-ticket ul.program p { height: 72px;}
.card-ticket ul.program strong { color:#000;}
.card-ticket ul.program li { margin:10px 0 0 0; border-bottom:1px dashed #fff;}

/*********************
   SECTION PARTNERS
*********************/
.partner-logo{
    border: 1px solid #CFCFCF;
    border-radius: 20px;
    width: 240px;
    height: 110px;
}

.partner-logo img{
    width: 55%;
}
.partner-slider .slick-slide{
    text-align: center;
}

.partner-slider .slick-arrow{
    border: 1px solid #CFCFCF;
    border-radius: 20px;
    background: #fff;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
    cursor: pointer;
    transition: all .4s;
    position: absolute;
    top: 50%;
    margin-top: -20px;
}

.partner-slider .slick-arrow:hover{
    opacity: .7;
}

.partner-slider .slick-arrow.arrow-left{
    left: -50px;
}

.partner-slider .slick-arrow.arrow-right{
    right: -50px;
}

.partner-slider .slick-dots{
    text-align: center;
    margin-top: 20px;
    padding-left: 5px;
}

.partner-slider .slick-dots li{
    display: inline-block;
    list-style: none;
    margin: 0 3px;
}

.partner-slider .slick-dots li button{
    text-indent: -999px;
    font-size: 0;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: #ccc;
    display: block;
    padding: 0;
    border: none;
}

.partner-slider .slick-dots li.slick-active button{
    background: #000;
}

/*********************
   SECTION FAQ
*********************/
section.faq{
    background:url("../images/faq_bg.png") center no-repeat;
    background-size: cover;
}

.card-faq{
    position: relative;
    margin: 13px 0;
    color: #2A196C;
    background: linear-gradient(180deg, #85F2FC 0%, #CDFCFD 100%);
    padding: 24px 100px 24px 24px;
}

.card-faq .icon{
    content: "";
    display: block;
    position: absolute;
    right: 20px;
    top: 30px;
    background: #FFFFFF;
    border-radius: 50px;
    width: 32px;
    height: 27px;
    color: #2A196C;
    text-align: center;
    line-height: 30px;
}

.card-faq .icon i{
    transition: all .4s
}

.card-faq .answer{
    max-height: 0;
    overflow: hidden;
    transition: all .4s
}

.card-faq.open{
    color: #ffffff;
    background: linear-gradient(180deg, #FF2DDF 0%, #E33242 100%);
}
.card-faq.open .icon i{
    transform: rotate(180deg);
}

.card-faq.open .answer{
    max-height: 300px;
}

/*********************
      CONTACT
*********************/
.contact-page{
    padding-top: 130px;
    padding-bottom: 30px;
    background: url("../images/contact-bg.jpg") center no-repeat;
    background-size: cover;
    min-height: 100vh;
}

.stages-page{
    padding-top: 100px;
    background: url("../images/contact-bg.jpg") center no-repeat;
    background-size: cover;
    min-height: 100vh;
}

.stages-stages{
    padding-top: 100px;
    background: url("../images/contact-bg.jpg") center no-repeat;
    background-size: cover;
}

.stages-stages-second{
    padding-top: 0;
    background: url("../images/contact-bg.jpg") center no-repeat;
    background-size: cover;
}

.contact-form{
    background: linear-gradient(180deg, #85F2FC 0%, #CDFCFD 100%);
    padding: 30px 20px;
}

input[type="text"],
input[type="email"],
input[type="date"],
select{
    color: #2A196C;
    border: 1px solid #2A196C;
    background: none;
    width: 100%;
    height: 40px;
    padding: 5px 10px;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: #2A196C;
    opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: #2A196C;
}

::-ms-input-placeholder { /* Microsoft Edge */
    color: #2A196C;
}


.checkbox-input input{
    display: none;
}

.checkbox-input label{
    font-size: 12px;
    line-height: 16px;
    color: #2A196C;
}

.checkbox-checkmark{
    position: relative;
    display: block;
    width: 25px;
    height: 25px;
    border: 1px solid #2A196C;
    margin-right: 10px;
    flex-shrink: 0;
    cursor: pointer;
}

.checkbox-input input:checked ~ label .checkbox-checkmark{
    background: #2A196C;
}

.checkbox-input input:checked ~ label .checkbox-checkmark:after{
    content: "";
    position: absolute;
    width: 8px;
    height: 16px;
    border: solid white;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
    top: 2px;
    left: 7px;
}

.hotels_partner a {
	display:block;
	width:14%;
	float:left;
	margin:1%;
	cursor: pointer;
}

.hotels_partner a img {
	width:100%;
}

/*********************
     FOOTER
*********************/
footer{
    background: linear-gradient(180deg, #230F0F 0%, #590E10 100%);
}

footer a{
    color: #fff;
}

.selectt{
	 display: none;
}

/*********************
     TABS
*********************/
