/*

    GENERAL

----------- */
body{
    background-color: #fff;
    font-family: 'Open Sans', sans-serif;
}
.wrapper{
    width: 100%;
    overflow-x: hidden;
}
.wow {
  visibility: hidden;
}

.preview-mode{
    position: fixed;
    top:0;
    left:0;
    right:0;
    background-color:rgba(0,0,0,0.8);
    padding:5px;
    z-index: 99;
    text-align:center;
}
.preview-mode a{
    display:inline-block;
    color:#fff;
    text-decoration: none;
    font-size:12px;
    line-height: 1;
    text-transform: uppercase;
}

.bg-center{
	background-position: center center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
}
.bg-left{
    background-position:center left;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
}
.bg-contain{
    background-position: center center;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    background-size: contain;
    -o-background-size: contain;
    background-repeat: no-repeat;
}
.bg-top{
	background-position: top center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
}
.bg-bottom{
    background-position: bottom center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
}
a{
	-webkit-transition: all .1s ease-in-out;
	-moz-transition: all .1s ease-in-out;
    transition: all .1s ease-in-out;
}
.animo{
	-webkit-transition: all .1s ease-in-out;
	-moz-transition: all .1s ease-in-out;
    transition: all .1s ease-in-out;
}
ul{
	margin:0;
	padding:0 0 0 25px;
}
li{
    list-style: disc;
    margin: 0 0 5px 0;
}
ol li{
    font-size:14px;
    line-height: 1.6;
    color:#ffd840;
    font-weight:bold;
    list-style: decimal;
    margin:0 0 15px 0;
}
ol li span{
    display:block;
    color:#555;
    font-weight: normal;
    padding:0 0 0 10px;
}
.no-link{
    cursor: pointer;
}
h2{
    font-size: 20px;
    line-height: 1.2;
    font-weight: bold;
}
h3{
    font-size: 24px;
    line-height: 1.2;
    font-weight: bold;
}
.btn-default{
    background-color: #eb434e;
    padding: 20px 30px;
    line-height: 1;
    color: #fff;
    border: none;
    border-radius: 50px;
    display: inline-block;
    text-decoration: none;
}
.btn-default:hover{
    color: #fff;
    background-color: #000;
}

/*

    HEADER

----------- */
.header{
    position: relative;
}

/*

    NAV MOBILE

-------------- */
.nav-mobile{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #000;
    padding: 60px 0 30px 0;
    overflow-y: scroll;
    display: none;
    z-index: 99;
}
.nav-mobile .item{
    color: #fff;
    display: block;
    text-align: center;
    font-size: 32px;
    line-height: 1;
    font-weight: bold;
    padding: 15px;
    text-decoration: none;
}
.nav-mobile .item.highlight{
    background-color: #ffd840;
    color:#000;
    margin:10px 15px;
    border-radius: 5px;
}
.nav-mobile .item.highlight-2{
    background-color: #ffd840;
    color:#000;
    margin:10px 15px;
    border-radius: 5px;
}
.nav-mobile .dropdown{
    padding:5px 0 15px 0;
    display:none;
}
.nav-mobile .dropdown a{
    display:block;
    color:#fff;
    text-align: center;
    font-size: 24px;
    line-height: 1;
    padding:10px 15px;
    text-decoration: none;
}
.btn-close-nav-mobile{
    color: #fff;
    font-size: 32px;
    line-height: 1;
    position: absolute;
    top: 15px;
    right:  20px;
}
.btn-open-nav{
    color: #111;
    font-size: 32px;
    line-height: 1;
    position: absolute;
    top: 15px;
    right: 20px;
}
@media(min-width: 768px){
    .btn-open-nav{
        display: none;
    }
    .nav-mobile{
        display: none;
    }
}

.nav-lg{
    display: none;
}
@media(min-width: 768px){
    .nav-lg{
        display: block;
        text-align: center;
        padding: 15px 0 30px 0;
        position: relative;
        z-index: 4;
    }
    .nav-lg .item{
        font-size: 16px;
        line-height: 1;
        color: #555;
        text-decoration: none;
        padding:10px 15px;
        display:inline-block;
        background-color:#fff;
        border-radius:5px;
    }
    .nav-lg .item:hover {
        color: #000;
    }
    .nav-lg .item.current{
        font-weight: bold;
        color: #eb434e;
    }
    .nav-lg .item.highlight{
        background-color:#eb434e;
        color:#fff;
        margin-left:10px;
        margin-right:10px;
    }
    .nav-lg .item.highlight-2{
        background-color:#ffd840;
        color:#000;
        margin-left:0;
        margin-right:10px;
    }
    .nav-lg .dropdown-container{
         position: relative;
         display: inline-block;
    }
    .nav-lg .dropdown{
        position: absolute;
        top:calc(100% + 10px);
        left:0;
        padding:15px 15px 0 15px;
        background-color:#fff;
        min-width:230px;
        border:solid 1px #eee;
        border-radius: 5px;
        display:none;
        -webkit-box-shadow: 0px 8px 30px -16px rgba(0,0,0,0.5);
        -moz-box-shadow: 0px 8px 30px -16px rgba(0,0,0,0.5);
        box-shadow: 0px 8px 30px -16px rgba(0,0,0,0.5);
    }
    .nav-lg .dropdown a{
        font-size: 14px;
        line-height: 1;
        color: #555;
        text-decoration: none;
        padding:0;
        display: block;
        text-align: left;
        margin:0 0 15px 0;
    }
    .nav-lg .dropdown a.current{
        font-weight: bold;
        color: #eb434e;
    }
}
@media(min-width: 992px){
    .nav-lg .item{
        font-size: 16px;
        padding:15px;
    }
}
@media(min-width: 1200px){
    .nav-lg .item{
        font-size: 18px;
        padding:15px 20px;
    }
    .nav-lg .item.highlight{
        margin-left:15px;
        margin-right:15px;
        padding-left:30px;
        padding-right:30px;
    }
    .nav-lg .dropdown{
        padding:20px 20px 0 20px;
        min-width: 240px;
    }
    .nav-lg .dropdown a{
        font-size: 16px;
        margin:0 0 20px 0;
    }
    .nav-lg .dropdown a:hover{
        color:#000;
    }
}

/*

    LANGS

--------- */
.langs{
    text-align: center;
    padding: 15px;
}
.langs a{
    display: inline-block;
    color: #aaa;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
}
.langs a:hover{
    color: #111;
}
.langs a.current{
    color: #111;
    font-weight: bold;
    font-size: 16px;
    padding: 0 5px;
}
@media(min-width: 768px){
    .langs{
        padding: 30px 0;
    }
    .langs a{
        padding: 0 5px;
    }
}

/*

    LOGO

-------- */
.header .logo{
    padding: 30px 0;
    text-align: center;
}
.header .logo img{
    width: 250px;
    display: inline-block;
}
.header .logo-small{
    padding: 0 0 30px 0 !important;
}
.header .logo-small img{
    width: 120px;
}
@media(min-width: 768px){
    .header .logo img{
        width: 340px;
    }
    .header .logo-small img{
        width: 180px;
    }
}

/*

    COUNTDOWN

------------- */
.section-countdown{
    padding: 0 0 30px 0;
}
#countdown{
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #ffd840;
    color: #000;
    border-radius: 50px;
    position: relative;
    z-index: 1;
}
.countdown-item{
    padding: 15px;
    text-align: center;
}
.countdown-item .countdown-value{
    font-size: 18px;
    font-weight: bold;
}
.countdown-item .countdown-label{
    font-size: 14px;
}
@media(min-width: 768px){
    .section-countdown{
        padding: 0 0 60px 0;
    }
    #countdown{
        width: 560px;
        margin: 0 auto;
        border-radius:100px;
    }
    .countdown-item{
        padding: 30px;
    }
    .countdown-item .countdown-value{
        font-size: 32px;
    }
    .countdown-item .countdown-label{
        font-size: 18px;
    }
}

/*

    SECTION POSTER

------------------ */
.section-poster{
    /*margin-top:-30px;*/
}
.section-poster img{
    width: 100%;
}
@media(min-width: 768px){
    .section-poster{
       /* margin-top: -15px;*/
    }
}
@media(min-width: 1200px){
    .section-poster{

    }
    .section-poster img{
        width: 1200px;
        margin: 0 auto;
        display:block;
        border-radius: 15px;
    }
}

/*

    CAROUSEL HOME

----------------- */
.section-carousel-home{
    position: relative;
    z-index: 0;
}
.carousel-info-container{
    position: relative;
    z-index: 0;
    margin-bottom: 30px;
}
.carousel-home{
    margin: 0 !important;
}
.carousel-home .slide{
    width: 100%;
    height: 210px;
}
.carousel-home .slick-dots{
    bottom:15px;
}
.carousel-home .slick-dots li.slick-active button:before{
    opacity: 1;
    color: #fff;
    font-size: 20px;
}
.carousel-home .slick-dots li button:before{
    opacity: 1;
    color: #fff;
    font-size: 14px;
}
.carousel-home .slick-dots li{
    margin: 0;
}
@media(min-width: 768px){
    .section-carousel-home{
        margin-top: -68px;
    }
    .carousel-info-container{
        margin:0 0 45px 0;
    }
    .carousel-home .slide{
        height: 400px;
        border-radius: 20px;
        border: solid 5px #fff;
    }
}
@media(min-width: 992px){
    .carousel-info-container{
        width: 768px;
        margin: -45px auto 60px auto;
    }
}
@media(min-width: 1200px){
    .carousel-home .slide{
        height: 500px;
    }
}

/*

    SECTION REGISTER

-------------------- */
.section-register{
    padding:0 15px 30px 15px;
    background-color:#ffd840;
    position: relative;
    z-index: 1;
}
.section-register .intro{
    text-align: center;
    font-size: 18px;
    line-height: 1.4;
    padding: 30px 15px;
    font-weight: 500;
}
.section-register .intro .title{
    font-weight: bold;
    font-size: 24px;
    line-height: 1.2;
    display: inline-block;
    width: 100%;
    margin: 0 0 15px 0;
    color:#eb434e;
}
.form-register{
    background-color: #fff;
    padding:15px 15px 30px 15px;
    margin: -60px auto 0 auto;
    border-radius: 10px;
    max-width: 1000px;
}
.row-form{
    margin: 0 0 15px 0;
}
form label,
form .label{
    display: block;
    font-size: 14px;
    line-height: 1.4;
    margin: 15px 0 0 0;
    font-weight: 500;
}
form label a{
    color: #eb434e;
    display: inline-block;
}
form label a:hover{
    color: #000;
}
form label span,
form .label span{
    display: inline-block;
    color: #eb434e;
}
form input,
form select{
    width: 100%;
    border: solid 1px #ddd;
    padding: 10px;
    outline: 0;
    background-color: transparent;
}
form input{
    border: none;
    border-bottom: solid 1px #000;
}
form textarea{
    width: 100%;
    padding: 10px;
    outline: 0;
    background-color: #f5f5f5;
    border: none;
    border-bottom: solid 1px #000;
    height: 150px;
}
.row-form-choice label{
    display: flex;
    align-items: center;
}
form .label{
    display: block;
    width: 100%;
}
.row-form-choice label{
   margin: 0;
   font-weight: normal;
}
.row-form-choice input{
    width: auto;
    margin: 0 10px 0 0;
}
form button{
    background-color: #eb434e;
    padding: 20px 30px;
    line-height: 1;
    color: #fff;
    border: none;
    border-radius: 50px;
    -webkit-transition: all .1s ease-in-out;
    -moz-transition: all .1s ease-in-out;
    transition: all .1s ease-in-out;
}
form button:hover{
    color: #fff;
    background-color: #000;
}
@media(min-width: 768px){
    .section-register{
        padding: 0 0 60px 0;
    }
    .form-register{
        padding: 30px;
    }
    .section-register .intro{
        padding:45px;
    }
    .form-register .intro, form, .row-form,
    .section-register .intro .title,
    .row-form-100{
        float: left;
        width: 100%;
    }
    .section-register .intro .title{
        font-size: 32px;
    }
    .row-form-50{
        float: left;
        width: 50%;
        padding: 0 15px;
    }
    .row-form-100{
        padding: 0 15px;
    }
}
@media(min-width: 992px){
    .form-register{
        padding: 45px;
    }
    form input,
    form select{
        padding-left: 0;
    }
    .section-register .intro .title{
        font-size: 42px;
        margin: 0 0 30px 0;
    }
}
@media(min-width: 1200px){
    .section-register{
        padding: 0 0 90px 0;
    }
    .form-register{
         border-radius: 50px;
         padding: 60px;
    }
    form label,
    form .label{
        font-size: 16px;
    }
}

/*

    SECTION LOGOS

----------------- */
.section-logos{
    padding: 30px 0;
    background-color: #fff;
}
.section-logos .container-fluid{
    padding: 0;
}
.section-logos .logo{
    padding: 0 15px;
}
.section-logos .logo a{
    display: block;
    width: 100%;
    height: 150px;
}
@media(min-width: 992px){
    .section-logos{
         padding: 90px 0;
    }
}
@media(min-width: 1400px){
    .section-logos .logo a{
        max-width: 400px;
    }
}

/*

    FOOTER

---------- */
.footer{
    padding: 60px;
    background-color: #fafafa;
    color: #000;
    text-align: center;
}
.footer .btn-social{
    width: 50px;
    height: 50px;
    background-color: #ffd840;
    color: #000;
    border-radius: 50%;
    line-height: 50px;
    font-size: 24px;
    text-decoration: none;
    display: inline-block;
    margin: 0 5px;
}
@media(min-width: 992px){
    .footer{
        padding: 90px;
    }
}

/*

    BOTTOM

---------- */
.bottom{
    background-color: #000;
    color: #fff;
    padding: 15px 0;
}
.bottom a{
    display: inline-block;
    padding: 5px;
    text-decoration: none;
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
}
@media(min-width: 992px){
    .bottom{
        padding: 30px 0;
    }
}

/*

    SECTION DIVIDER

------------------- */
.section-divider{
    height: 250px;
    width: 100%;
}
@media(min-width: 768px){
    .section-divider{
         height: 450px;
    }
}
@media(min-width: 1200px){
    .section-divider{
        background-attachment: fixed;
    }
}

/*

    SECTION PAGE HEADER

----------------------- */
.section-page-header{
    padding:30px 15px;
    background-color: #eee;
    text-align: center;
    overflow: hidden;
    position: relative;
}
.section-page-header .fig{
    position: absolute;
    height: 130px;
    left:-30px;
    bottom: -15px;
    z-index: 1;
}
.section-page-header .fig-2{
    position: absolute;
    height:300px;
    right:-180px;
    top:-60px;
    z-index: 1;
}
.section-page-header .fig-3{
    position: absolute;
    width:500px;
    left:50%;
    margin-left: -250px;
    top:-60px;
    z-index: 0;
}
.section-page-header h1{
    font-size: 40px;
    line-height: 1.2;
    color: #000;
    font-weight: bold;
    position: relative;
    z-index: 3;
}
.section-page-header h1 sup{
    display:inline-flex;
}
.section-page-header h1 sup i{
    font-size:14px;
    display: inline-block;
}
@media(min-width: 768px){
    .section-page-header .fig{
        left:0;
        bottom: -20px;
    }
    .section-page-header .fig-2{
        height:300px;
        right:-60px;
        top:-60px;
    }
    .section-page-header .fig-3{
        left: 40%;
    }
}
@media(min-width: 992px){
    .section-page-header{
        padding: 60px;
    }
    .section-page-header .fig{
        height: 180px;
        left:0;
        bottom:-10px;
    }
    .section-page-header .fig-3{
        top: -130px;
    }
}
@media(min-width: 1200px){
    .section-page-header .fig-3{
        top: -160px;
        width: 800px;
        left: 30%;
    }
}

/*

    SECTION PAGE

---------------- */
.section-page{
    padding: 30px 15px;
}
.section-page-form{
    margin-top: -90px;
}
.section-page.light-grey{
    background-color: #fafafa;
}
.section-page .container-fluid{
    max-width: 1400px;
    margin: 0 auto;
}
.section-page .section-intro{
    padding:15px 0 30px 0;
}
.section-page .section-tickets{
    margin-top: -30px;
    margin-bottom: 30px;
}
.section-page .section-tickets-content{
    padding: 15px;
    background-color: #fafafa;
}
.section-page .intro{
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}
.section-page .intro a{
    color:#555;
}
.section-page h2{
    font-size: 28px;
    line-height: 1.2;
    color: #eb434e;
    font-weight: bold;
    text-align: center;
    margin: 0 0 15px 0;
}
.section-page h2 sup{
    display:inline-flex;
}
.section-page h2 sup i{
    font-size:14px;
    display: inline-block;
}
.icon{
    display: block;
    text-align: center;
    margin: 0 0 15px 0;
}
.icon i{
    display: block;
    font-size: 52px;
    line-height: 1;
    margin: 0 0 15px 0;
    color: #ffd840;
}
.icon span{
    display: block;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 500;
}
.pic-location{
    width: 100%;
    height: 200px;
    background-color: #eee;
    display: block;
    margin-top: 15px;
    border-radius: 5px;
    overflow: hidden;
}
.pic-location.p2{
    height: 115px;
}
@media(min-width: 768px){
    .section-page h2{
        font-size: 32px;
        margin: 0 0 15px 0;
    }
    .section-page .section-intro{
        padding:0 0 45px 0;
    }
    .section-page .intro{
        padding:0 0 0 0;
    }
    .section-page .icons{
        padding-bottom: 60px;
    }
    .icon{
        margin: 0 0 30px 0;
    }
    .pic-location{
        margin: 0 0 15px 0;
    }
    .pic-location.p2{
        height: 150px;
    }
}
@media(min-width: 992px){
    .section-page .intro{
        font-size: 16px;
        padding:0;
    }
    .section-page .intro.intro-history{
        padding: 15px 45px 0 0;
    }
    .icon span{
        font-size: 16px;
        padding: 0 30px;
    }
    .pic-location.p2{
        height: 190px;
    }
}
@media(min-width: 1200px){
    .section-page-form{
        margin-top: -150px;
    }
    .section-page h2{
        font-size: 42px;
    }
    .icon{
        margin: 0 0 45px 0;
    }
    .section-page .section-intro{
        padding:30px 0 90px 0;
    }
    .section-page .icons{
        padding-bottom: 90px;
    }
    .icon i{
        font-size: 72px;
    }
    .pic-location{
        height: 230px;
    }
}

.section-places{
    padding: 45px 15px;
    background-color: #fff;
}
.col-places{
    margin-bottom: 30px;
    font-size: 14px;
    line-height: 1.4;
}
.col-places b{
    color: #eb434e;
    margin: 0 0 10px 0;
    display: block;
}
.col-places ul{
    padding:0;
}
.col-places li{
    margin: 0 0 5px 0;
    list-style: none;
}
@media(min-width: 1200px){
    .section-places{
        padding: 60px 30px;
    }
    .col-places{
        padding-right:30px;
    }
    .col-places b{
        font-size: 18px;
    }
}
@media(min-width: 1400px){
    .section-places{
        padding: 90px 0;
    }
    .col-places{
        font-size: 16px;
    }
    .col-places b{
        font-size: 22px;
    }
}

/*

    CONTACT

----------- */
.form-contact{
    padding: 15px;
    background-color: #fafafa;
    border-radius: 10px;
}
.logos-contact{
    padding: 45px 0;
}
.logos-contact a{
    display: inline-block;
}
.logos-contact a img{
    max-width: 100%;
}
@media(min-width: 1200px){
    .logos-contact{
        padding: 60px 0;
    }
    .form-contact{
        padding: 30px;
        border-radius: 50px;
    }
}

/*

    MESSAGE

----------- */
.message-container{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5);
    z-index: 20;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    z-index: 99;
    overflow-y: scroll;
}
.message{
    background-color: #fff;
    position: absolute;
    top: 30px;
    left: 30px;
    right: 30px;
    padding: 30px;
    border-radius: 5px;
    color: #000;
    text-align: center;
}
.btn-close-message{
    position: absolute;
    top: -15px;
    right: -15px;
    background-color: #ffd840;
    color: #000 !important;
    text-align: center;
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 18px;
    text-decoration: none;
    border-radius: 50%;
}
@media(min-width: 768px){
    .message{
        top: 60px;
        left: 50%;
        right: auto;
        padding: 45px;
        width: 500px;
        margin-left: -250px;
    }
}

.embrace{
    position: absolute;
    top: 0;
}
.embrace-1{
    width: 200px;
    top: -70px;
    left: -60px;
}
.embrace-1b{
    width: 160px;
    top: -60px;
    left: -50px;
}
@media(min-width: 768px){
    .embrace-1{
        width: 250px;
        top: 170px;
        left: -60px;
    }
    .embrace-1b{
        width: 280px;
        top: -60px;
        left: -50px;
    }
}
@media(min-width: 992px){
    .embrace-1{
        width: 380px;
        top: 130px;
        left: -60px;
    }
    .embrace-1b{
        width: 350px;
        top: -60px;
        left: -50px;
    }
}
@media(min-width: 1200px){
    /*.embrace-1{
        width: 450px;
        top: 60px;
        left: -60px;
    }*/
    .embrace-2{
        width: 350px;
        top: -100px;
        right: -150px;
    }
    .embrace-2b{
        width: 300px;
        top: -130px;
        right: -150px;
    }
}
@media(min-width: 1400px){
    /*.embrace-1{
        width: 600px;
        top: -30px;
        left: -120px;
    }*/
     .embrace-2{
        width: 400px;
        top: -100px;
        right: -150px;
     }
     .embrace-2b{
        width: 340px;
        top: -130px;
        right: -150px;
    }
}
@media(min-width: 1600px){
    .embrace-2{
        width: 450px;
        top: -100px;
        right: -150px;
    }
}

.embrace-reg{
    display: none;
}
@media(min-width: 1200px){
    .embrace-reg{
        position: absolute;
        bottom: -230px;
        width: 850px;
        right: -450px;
        display: block;
        z-index: -1;
    }
}

.map-paris-container{
    background-color: #fafafa;
}
.map-paris{
    margin: 0 auto;
    width: 300px;
    position: relative;
}
.map-paris img{
    max-width: 100%;
}

.marker {
    position: absolute;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #eb434e; /* red with opacity */
    animation: pulsate 1s ease-out;
    animation-iteration-count: infinite;
    z-index: 0;
}
.popup {
    position: absolute;
    background-color: #fff;
    display: none;
    font-size: 12px;
    line-height: 1;
    border-radius: 5px;
    width: 180px;
    -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
    z-index: 1;
}
.popup .title{
    padding: 10px;
    padding-right: 30px;
    border-radius: 5px 5px 0 0;
    background-color: #ffd840;
    color: #000;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1.2;
}
.popup .details{
    padding:15px 10px;
    color: #555;
}
.popup .details ul{
    padding: 0 0 0 20px;
}
.popup .details li{
    margin: 0 0 5px 0;
    list-style: disc;
}
.popup .details li:last-child{
    margin: 0;
}
.btn-close-venue{
    position: absolute;
    top: 0;
    right: 0;
    padding: 10px;
    cursor: pointer;
}

@keyframes pulsate {
  0% {
    transform: scale(1);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.5);
    opacity: 0.5;
  }
  100% {
    transform: scale(1);
    opacity: 0.8;
  }
}

.grand-palais{
    top: 110px;
    left: 122px;
}
.iena-bridge{
    top: 124px;
    left: 112px;
}
.concorde-stadium{
    top: 110px;
    left: 148px;
}
.alexandre-bridge{
    top: 118px;
    left: 136px;
}
.bercy-arena{
    bottom: 82px;
    right: 53px;
}
.arena-porte-de-la-chapelle{
    right: 58px;
    top: 36px;
}
.invalides{
    left: 131px;
    top: 126px;
}
.stade-tour-eiffel{
    left: 112px;
    top: 136px;
}
.arena-champ-de-mars{
    left: 123px;
    top: 141px;
}
.arena-paris-sud{
    bottom: 71px;
    left: 74px;
}
.hotel-de-ville{
    top: 132px;
    right: 92px;
}

@media(min-width: 768px){
    .map-paris{
        width: 600px;
    }
    .marker{
        width: 16px;
        height: 16px;
    }
    .grand-palais{
        top: 220px;
        left: 245px;
    }
    .iena-bridge{
        top: 247px;
        left: 224px;
    }
    .concorde-stadium{
        top: 220px;
        left: 297px;
    }
    .alexandre-bridge{
        top: 235px;
        left: 273px;
    }
    .bercy-arena{
        bottom: 163px;
        right: 105px;
    }
    .arena-porte-de-la-chapelle{
        right: 115px;
        top: 73px;
    }
    .invalides{
        left:262px;
        top: 252px;
    }
    .stade-tour-eiffel{
        left: 224px;
        top: 272px;
    }
    .arena-champ-de-mars{
        left:247px;
        top: 282px;
    }
    .arena-paris-sud{
        bottom: 141px;
        left: 149px;
    }
    .hotel-de-ville{
        top: 264px;
        right: 183px;
    }
}
@media(min-width: 992px){
    .map-paris{
        width: 800px;
    }
    .marker{
        width: 18px;
        height: 18px;
    }
    .popup {
        font-size: 14px;
        width: 240px;
    }
    .popup .title{
        padding: 15px;
    }
    .popup .details{
        padding:20px 15px;
    }
    .popup .details li{
        margin: 0 0 10px 0;
    }
    .grand-palais{
        top: 295px;
        left: 328px;
    }
    .iena-bridge{
        top: 331px;
        left: 301px;
    }
    .concorde-stadium{
        top: 295px;
        left: 398px;
    }
    .alexandre-bridge{
        top: 316px;
        left: 366px;
    }
    .bercy-arena{
        bottom: 220px;
        right: 142px;
    }
    .arena-porte-de-la-chapelle{
        right: 155px;
        top: 99px;
    }
    .invalides{
        left:351px;
        top: 338px;
    }
    .stade-tour-eiffel{
        left: 301px;
        top: 364px;
    }
    .arena-champ-de-mars{
        left:331px;
        top: 378px;
    }
    .arena-paris-sud{
        bottom:190px;
        left: 201px;
    }
    .hotel-de-ville{
        top: 354px;
        right: 246px;
    }
}
@media(min-width: 1200px){
    .map-paris{
        width: 1000px;
    }
    .marker{
        width: 19px;
        height: 19px;
    }
    .grand-palais{
        top: 371px;
        left: 412px;
    }
    .iena-bridge{
        top: 416px;
        left: 378px;
    }
    .concorde-stadium{
        top: 371px;
        left: 499px;
    }
    .alexandre-bridge{
        top: 396px;
        left: 458px;
    }
    .bercy-arena{
        bottom: 276px;
        right: 179px;
    }
    .arena-porte-de-la-chapelle{
        right: 196px;
        top: 125px;
    }
    .invalides{
        left:441px;
        top: 424px;
    }
    .stade-tour-eiffel{
        left: 378px;
        top: 457px;
    }
    .arena-champ-de-mars{
        left:415px;
        top: 474px;
    }
    .arena-paris-sud{
        bottom:239px;
        left: 252px;
    }
    .hotel-de-ville{
        top: 444px;
        right: 310px;
    }
}

.section-law{
    padding: 30px 15px;
    font-size: 12px;
    line-height: 1.4;
}
.section-law a{
    color: #000;
}
.section-law ul{
    margin: 0 0 0 20px;
    padding: 0;
}
.section-law ul li{
    list-style: disc;
    padding: 0 0 0 10px;
    margin: 0 0 5px 0;
}
.section-law table{
    border-collapse: collapse;
    width: 100%;
}
.section-law table th{
    font-weight: bold;
}
.section-law table th,
.section-law table td{
    border: solid 1px #000;
    padding: 5px;
}
@media(min-width: 768px){
    .section-law{
        padding: 30px;
    }
}
@media(min-width: 992px){
    .section-law{
        padding: 45px;
    }
}
@media(min-width: 992px){
    .section-law{
        padding:60px 0;
        font-size: 14px;
    }
}

#cookies{
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    padding: 30px 30px 15px 30px;
    right: 0;
    background-color: rgba(255,255,255,1);
    font-size: 12px;
    line-height: 1.6;
    z-index: 999;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.25);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.25);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.25);
}
#cookies .btn-more{
    display: block;
    color: #000;
    padding: 15px 0;
    font-size: 14px;
}
#cookies .btn-refuse{
    font-size: 12px;
}
#cookies .btn-accept{
    padding: 15px 30px;
    border-radius: 5px;
    background-color: #ffd840;
    color: #000;
    text-transform: uppercase;
    text-decoration: none;
    display: inline-block;
}
#cookies .btn-accept:hover{
    background-color: #000;
    color: #fff;
}
@media(min-width: 768px){
    #cookies{
        left: auto;
        right: 15px;
        bottom: 15px;
        top: auto;
        width: 300px;
        border-radius: 5px;
    }
}

/*

    POPUP

--------- */
#popup-container{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.7);
    z-index: 999999999;
    overflow-y: scroll;
    display: none;
}
#popup-container .title{
    font-weight: bold;
    font-size: 24px;
    line-height: 1.2;
    display: inline-block;
    width: 100%;
    margin: 0 0 15px 0;
    color: #eb434e;
}
#popup-container .container-fluid{
    position: absolute;
    top: 30px;
    left: 15px;
    right: 15px;
    margin: 0;
    width: auto;
    border-radius: 10px;
}
#popup-container .popup-content{
    padding:30px;
    margin-bottom: 30px;
    background-color: #fff;
    border-radius: 10px;
    position: relative;
}
#popup-container .popup-content form{
    background-color:#fff;
    padding:0;
}
.btn-close-popup{
    position: absolute;
    top: -5px;
    right: -5px;
    background-color: #eb434e;
    color: #fff !important;
    width: 40px;
    height: 40px;
    text-align: center;
    border-radius: 50%;
    line-height: 40px;
}
@media(min-width: 768px){
    #popup-container .container-fluid{
        border-radius: 0 15px 15px 0;
    }
    #popup-container .popup-content{
        border-radius: 0 15px 15px 0;
        margin: 0;
    }
    #popup-container .image{
        height: 100%;
        border-radius: 15px 0 0 15px;
    }
    .btn-close-popup{
        top: -15px;
        right: -15px;
    }
}
@media(min-width: 992px){
    #popup-container .container-fluid{
        left: 50%;
        width: 900px;
        margin-left: -450px;
        right: auto;
    }
    #popup-container .popup-content{
        padding: 45px 45px 30px 45px;
    }
    #popup-container .row-form-choice label{
        float: left;
        padding: 0 15px 0 0;
    }
}
@media(min-width:1200px){
    #popup-container .popup-content form{
        padding:0;
    }
}

.row-zone{
    margin-bottom: 15px;
}
.zone{
    font-size: 14px;
    line-height: 1.6;
    color: #555;
    padding: 15px 0;
}
.zone p{
    margin: 0;
}
.zone .title{
    font-weight: bold;
    font-size: 24px;
    line-height: 1.2;
    display: inline-block;
    width: 100%;
    margin: 0 0 10px 0;
    color: #eb434e;
}
.zone-image{
    height: 210px;
    border-radius: 10px;
    display: block;
}
.zones{
    padding: 0 0 60px 0;
}
.zone .images{
    margin-top: 15px;
}
.zone .images a{
    width: 90px;
    height: 90px;
    border-radius: 5px;
    display: inline-block;
    margin: 5px 10px 5px 0;
}
@media(min-width: 768px){
    .row-zone{
        margin-bottom: 30px;
    }
    .zone-image{
        height: 100%;
    }
}
@media(min-width: 992px){
    .row-zone{
        margin-bottom: 45px;
    }
    .zone{
        font-size: 16px;
        padding: 30px;
    }
    .zone .images a{
        width: 120px;
        height: 120px;
    }
}
@media(min-width: 1200px){
    .row-zone{
        margin-bottom: 60px;
    }
    .zone{
        padding: 45px;
        min-height: 380px;
    }
}

.page-nav{
    padding: 30px 0 0 0;
    text-align: center;
}
.page-nav .items a{
    display: inline-block;
    text-decoration: none;
    padding: 15px 20px;
    background-color: #f5f5f5;
    border-radius: 5px;
    margin:0 2px 8px 2px;
    color: #000;
    font-size: 14px;
    text-transform: uppercase;
    line-height: 1;
}
.page-nav .items a:hover{
    background-color: #eee;
}

/*

    GRID

-------- */
.grid{
    position: relative;
    float: left;
    width: calc(100% + 45px);
    margin-left: -15px;
}
.grid.night{
    margin-top: 30px;
}
.grid-headers{
    position: absolute;
    left: 0;
    bottom: 0;
}
.grid-headers .column-1{
    background-color: #ffd840;
    color: #000;
    width: 30px;
    float: left;
    border-right: solid 1px #fff;
    height: 440px;
    margin-top: 40px;
}
.grid-headers .column-1 .title{
    -ms-transform: rotate(-90deg); /* IE 9 */
    -webkit-transform: rotate(-90deg); /* Safari and Chrome */
    transform: rotate(-90deg); /* Standard syntax */
    font-weight: bold;
    margin-top: 230px;
    text-transform: uppercase;
    white-space: nowrap;
}
.night .grid-headers .column-1{
    background-color: #151515;
    color: #fff;
}
.night .grid-headers .column-1 .title{
    margin-top: 250px;
}
.grid-headers .column-2{
    color: #000;
    width: 40px;
    float: left;
    border-right: solid 1px #fff;
}
.grid-headers .column-2 .symbol{
    background-color: #fbf1c9;
    height: 100px;
    width: 100%;
    float: left;
    text-align: center;
    border-bottom: solid 1px #fff;
    display: table;
}
.night .grid-headers .column-2 .symbol{
    background-color: #aaa;
    color: #fff;
}
.grid-headers .column-2 .symbol.empty{
    background-color: #fff;
}
.grid-headers .column-2 .symbol.empty,
.grid-headers .column-2 .symbol.price{
    height: 40px;
}
.grid-headers .column-2 .symbol:last-child{
    border: none;
}
.grid-headers .column-2 .symbol span{
    display: table-cell;
    vertical-align: middle;
}
.grid-headers .column-2 .symbol i{
    font-size: 20px;
}
.grid-items{
    overflow-x: auto;
    white-space: nowrap;
    height: 350px;
    margin-left: 70px;
    display: flex;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
}
.grid-items::-webkit-scrollbar {
    width: 0;
    height: 0;
}
.grid-item{
    width: 240px;
    word-wrap: break-word;
    white-space: normal;
    display: block;
    margin: 0 2px 0 0;
}
.grid-headers .column-2,
.grid-items,
.grid-item{
    height: 480px;
}
.grid-item .item,
.grid-item .title,
.grid-item .price{
    width: 240px;
    float: left;
    height: 100px;
    display: table;
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
    padding:0 5px;
}
.grid-item .title,
.grid-item .price{
    height: 40px; 
    font-size: 15px;
}
.grid-item .title{
    background-color: #eb434e;
    color: #fff;
    font-weight: bold;
    border-bottom: solid 1px #fff;
}
.grid-item .item{
    border-bottom: solid 1px #fff;
    background-color: #f5f5f5;
}
.grid-item b{
    color: #eb434e;
}
.grid-item .price{
    font-weight: bold;
    background-color: #ffd840;
}
.night .grid-item .price{
    background-color: #151515;
    color: #fff;
}
.grid-item .title.empty,
.grid-item .item.empty,
.grid-item .price.empty{
    background-color: #eee;
}
.grid-item .item div,
.grid-item .title div,
.grid-item .price div{
    display: table-cell;
    vertical-align: middle;
}
.grid-item .item span{
    display: block;
    font-size: 11px;
}
.grid-item .price{
    line-height: 1.2;
}
.grid-item .price .fee{
    display: block;
    font-size: 12px;
    font-weight: normal;
}
@media(min-width: 1200px){
    .grid{
        width: 1100px;
        margin: -30px auto 0 auto;
        float: none;
    }
    .grid-headers .column-1{
        width: 40px;
    }
    .grid-headers .column-1 .title{
        font-size: 20px;
    }
    .grid-items{
        margin-left: 80px;
    }
    .grid-item,
    .grid-item .item,
    .grid-item .title,
    .grid-item .price{
        width:250px;
    }
    .col-tickets{
        max-width: 1140px;
    }
}

.prices-disclaimer{
    font-size: 13px;
    color: #222;
    line-height: 1.4;
    margin: 15px 0 0 0;
    max-width: 1100px;
}
@media(min-width: 1200px){
    .prices-disclaimer{
        margin: 15px auto 0 auto;
    }
}

.support{
    font-size:14px;
    line-height: 1.4;
    color:#555;
}
.support img{
    display:inline-block;
    height:16px;
    margin:0 0 6px 0;
}
@media(min-width:1200px){
    .support{
        margin-top:30px;
    }
}

.btn-day{
    display:flex;
    /*background-color:#ffd840;*/
    background-color:#f5f5f5;
    color:#000;
    padding:15px;
    border-radius: 5px;
    text-align:center;
    align-items:center;
    justify-content:center;
    font-weight: bold;
    text-decoration: none;
    height:80px;
}
.btn-day.not-bold{
    font-weight: normal;
}
.btn-day.past{
    color:#ccc;
    font-weight: normal;
}
.btn-day.today{
    background-color:#eb434e;
    color:#fff;
}
.btn-day:hover{
    background-color:#ffd840;
    color:#000;
}
.btn-day.past:hover{
    background-color:#eee;
    color:#ccc;
}
.btn-day.belgian-night,
.btn-day.belgian-night:hover{
    background-color:#ffd840;
    color:#000;
}
.ctrl-day{
    display:block;
    font-size:16px;
    line-height: 1;
    color:#555;
    text-decoration: none;
}
.ctrl-day i,
.ctrl-day span{
    display:inline-block;
}
.ctrl-day span{
    padding:0 10px;
    display:none;
}
.ctrl-day:hover{
    color:#000;
}
@media(min-width:768px){
    .ctrl-day span{
        display:inline-block;
    }
}

.schedule{
    margin-top:30px;
    float:left;
}
.schedule .block{
    height:50px;
    border-top:solid 1px #ccc;
    position: relative;
}
.schedule .block .hour{
    padding:5px 8px 5px 0;
    background-color:#fff;
    position: absolute;
    top:-17px;
    left:0;
    font-size:14px;
    color:#888;
}

.schedule .part{
    float:left;
    font-size: 14px;
    line-height: 1.5;
    margin:0 0 15px 0;
    width: 100%;
}
.schedule .hour{
    float:left;
    width:120px;
    font-weight:bold;
    text-align: right;
    padding:10px 15px 0 0;
    font-size:13px;
}
.schedule .content{
    float:left;
    width:calc(100% - 120px);
    background-color:#fdf9eb;
    padding:10px;
    border-radius: 5px;
}
.schedule .part.night .content{
    background-color:#f9f4f4;
}
.schedule .part .content p{
    margin:0;
}
.schedule .content a{
    color:#000;
    font-weight: bold;
    text-decoration: none;
}

h2.h2-day{
    color:#000;
}
h3.title-day{
    background-color:#ffd840;
    padding:15px;
    border-radius: 5px;
    font-size:18px;
    text-transform: uppercase;
}
h3.title-day.dark{
    background-color:#eb434e;
    color:#fff;
}

@media(min-width:992px){
    .schedule .hour{
        font-size:14px;
        padding-top:15px;
    }
    .schedule .part .content{
        padding:15px;
    }
}

.btn-artist{
    display:block;
    border-radius: 5px;
    height:260px;
    position: relative;
    overflow:hidden;
}
.btn-artist:after{
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgb(0,0,0);
    background: -moz-linear-gradient(-180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
    background: -webkit-linear-gradient(-180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
    background: linear-gradient(-180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
    height: 40%;
    z-index: 1;
}
.btn-artist span.artist-details{
    position: absolute;
    bottom:10px;
    left:0;
    display: block;
    z-index: 2;
}
.btn-artist span.title{
    display: inline-block;
    font-size:12px;
    line-height: 1.2;
    color:#fff;
    padding:10px 20px;
    text-decoration: none;
    text-align:left;
    background-color:#eb434e;
    border-radius:0 20px 20px 0;
    z-index: 2;
}
.btn-artist span.scheduled{
    display: block;
    color:#fff;
    font-size:13px;
    line-height: 1.4;
    padding:10px 15px 0 15px;
}
.btn-artist .icons{
    position: absolute;
    top:10px;
    right:10px;
    display:block;
}
.btn-artist .icons .icon{
    display: inline-block;
    background-color:#ffd840;
    width:40px;
    height:40px;
    border-radius:50%;
    text-align:center;
}
.btn-artist .icons .icon i{
    color:#eb434e;
    font-size:22px;
    line-height: 40px;
}
@media(min-width:768px){
    .btn-artist{
        height:210px;
    }
}
@media(min-width:992px){
    .btn-artist span.title{
        font-size:18px;
    }
}
@media(min-width:1200px){
    .btn-artist{
        height:280px;
    }
    .btn-artist span.title{
        margin-left:-5px;
    }
    .btn-artist:hover span.title{
        margin-left:0;
    }
    .btn-artist .mask{
        position: absolute;
        top:0;
        left:0;
        right:0;
        bottom:0;
        background-color:rgba(0,0,0,0.3);
        display: block;
        z-index: 1;
        opacity: 0;
    }
    .btn-artist:hover .mask{
        opacity: 1;
    }
}

.artist-pic{
    height:320px;
    border-radius: 5px
}
.artist-info{
    font-size:15px;
    line-height: 1.6;
    padding:15px 0 0 0;
    color:#555;
}
.artist-info a{
    color:#555;
}
/* Add this CSS to your main stylesheet */
.responsive-iframe-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 ratio */
  height: 0;
  overflow: hidden;
}

.responsive-iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.icon-title{
    color:#ffd840;
    margin:0 10px 0 0 ;
}
@media(min-width:768px){
    .artist-info{
        padding:0;
        font-size:16px;
    }
}
@media(min-width:1200px){
    .artist-pic{
        height:380px;
    }
}

.btn-back a{
    display: inline-block;
    margin:30px 0 0 0;
    padding:15px 20px;
    border-radius: 0 5px 5px 0;
    color:#555;
    text-decoration: none;
    background-color: #000;
    color:#fff;
}
.btn-back a i{
    margin:0 5px 0 0;
}
.btn-back a span{
    display: inline-block;
    text-transform: uppercase;
    font-size:14px;
}

.carousel-partners .slick-dots{
    bottom:-30px;
}
.carousel-partners .slick-dots li{
    padding:0;
    margin:0;
}
.carousel-partners .slick-dots li button:before{
    font-size:12px;
}
.carousel-partners .slick-dots li.slick-active button:before{
    opacity: 1;
    color:#eb434e;
    font-size:20px;
}
.btn-partner{
    display: inline-block;
}

h3.hotel{
    font-weight: bold;
    padding:0;
    margin:30px 0 45px 0;
    font-size:32px;
    color:#eb434e;
    position: relative;
}
h3.small{
    margin:0 0 30px 0;
}
h3.hotel:after{
    content:'';
    width:60px;
    position: absolute;
    left:50%;
    margin-left:-30px;
    bottom:-15px;
    background-color:#bbb;
    height:4px;
}
@media(min-width:768px){
    h3.hotel{
        margin-bottom:60px;
    }
    h3.small{
        margin:0 0 30px 0;
    }
}
@media(min-width:992px){
    h3.hotel{
        margin:45px 0 60px;
    }
    h3.small{
        margin:0 0 30px 0;
    }
}
@media(min-width:1200px){
    h3.hotel{
        margin:60px 0 60px;
    }
     h3.small{
        margin:30px 0 30px 0;
    }
}
.hotel-pics{
    float:left;
    width:100%;
}
.hotel-pics .h-col{
    float:left;
    width: 50%;
}
.hotel-pics .pic{
    float:left;
    width:calc(100% - 10px);
    background-color:#eee;
    height:100px;
    margin:5px;
}
.hotel-pics .pic-2{
    height:210px;
}
.hotel-pics .pic-3{
    height:210px;
}
.hotel-pics .pic-4{
    height:210px;
}
@media(min-width:768px){
    .hotel-pics .h-col{
        width:33.33%;
    }
    .hotel-pics .pic{
        height:180px;
    }
    .hotel-pics .pic-2{
        height:240px;
    }
    .hotel-pics .pic-4,
    .hotel-pics .pic-7{
        height:360px;
    }
    .hotel-pics .pic-5,
    .hotel-pics .pic-6{
        height:250px;
    }
}
@media(min-width:992px){
    .hotel-pics .pic{
        height:210px;
    }
    .hotel-pics .pic-2{
        height:270px;
    }
    .hotel-pics .pic-4,
    .hotel-pics .pic-7{
        height:420px;
    }
    .hotel-pics .pic-5,
    .hotel-pics .pic-6{
        height:280px;
    }
}

/*

    FAQ

------- */
.faq-item{
    border-bottom:solid 1px #eee;
    padding:1rem 0;
}
.faq-item:last-child{
    border:none;
}
.faq-item .question{
    padding:0 1rem 0 0;
    position: relative;
    font-weight:bold;
    cursor:pointer;
}
.faq-item .question i{
    position: absolute;
    top:5px;
    right:0;
}
.faq-item .answer{
    margin-top:15px;
    display:none;
    font-size:14px;
    line-height: 1.6;
}
.faq-item .answer a{
    color:#151515;
}

.section-cards{
    padding:15px;
}
.card-container{
    display: table;
    margin:0 0 15px 0;
    width:100%;
}
.card-container .card{
    display: table-cell;
    vertical-align: middle;
    padding:30px;
    text-align:center;
    border:none;
    border-radius: 20px;
    height:200px;
    position:relative;
}
.card-1{
    background-color:#000;
    color:#fff;
}
.card-2{
    background-color:#ffd840;
    color:#000;
}
.card-3{
    background-color: #eb434e;
    color:#000;
}
.card .font-lg{
    text-transform: uppercase;
    font-size:18px;
    line-height: 1.2;
}
.card .font-sm{
    font-size:14px;
    line-height: 1.4;
    text-transform: uppercase;
}
.btn-card{
    display:inline-block;
    background-color: #000;
    color:#fff;
    padding:10px;
    border-radius: 5px;
    text-decoration: none;
    text-transform: uppercase;
    font-size:12px;
    line-height: 1.2;
    margin-top:20px;
    position: relative;
    z-index: 1;
}
.btn-card:hover{
    color:#fff;
    background-color: #333;
}
.card-container .card-1 .font-lg a{
    color:#ffd840;
    text-decoration: none;
}
.card-container .card-3{
    text-align:left;
}
.card-container .card-3 .font-sm{
    width:60%;
}
.card-container .card-3 .font-sm b{
    font-size:18px;
}
.card-container .card-3 .btn-card{
    margin-top:45px;
}
.card .figure{
    width:40%;
    position: absolute;
    right:0;
    bottom:0;
    top:0;
}
.card .qr{
    width:60px;
    position: absolute;
    right:50px;
    bottom:95px;
    z-index: 2;
    border-radius: 5px;
}
.card .mobile{
    width:80px;
    position: absolute;
    right:15px;
    bottom:75px;
    z-index: 1;
}
@media(min-width:768px){
    .card-container{
        width:380px;
        margin:0 auto 15px auto;
    }
    .card-container .card-3 .btn-card{
        margin-top:20px;
    }
}
@media(min-width:992px){
    .card-container{
        width:100%;
        margin:0;
    }
}
@media(min-width:1200px){
    .card-container .card{
        padding:15px;
    }
    .card .font-lg{
        font-size:20px;
    }
    .card .font-sm{
        font-size:16px;
    }
    .card-container .card-3 .font-sm b{
        font-size:20px;
    }
    .card .mobile{
        bottom:70px;
    }
}
@media(min-width:1300px){
    .card-container .card{
        padding:15px 30px;
    }
    .btn-card{
        padding:15px;
        font-size:12px;
    }
    .card .mobile{
        bottom:80px;
        width:100px;
    }
    .card .qr{
        width:80px;
        bottom:95px;
        right: 60px;
    }
}
@media(min-width:1500px){
    .card .mobile{
        bottom:60px;
    }
    .card .qr{
        bottom:85px;
    }
}

.section-cards h3{
    text-transform: uppercase;
    margin:30px 0 60px 0;
    position: relative;
}
.section-cards h3::after{
    content:'';
    position: absolute;
    width:50px;
    height:5px;
    left:50%;
    margin-left:-25px;
    bottom:-30px;
    background-color:#ffd840;
    border-radius: 5px;
}
.block-social a{
    display: block;
    text-decoration: none;
    text-align:center;
    padding:1rem;
}
.block-social .logo{
    display:inline-block;
    width:90px;
    margin:0 0 10px 0;
}
.block-social .at{
    display:block;
    font-size:16px;
    line-height: 1;
    color:#000;
}
.block-social .pic{
    display:inline-block;
    width:100%;
    margin:15px 0 0 0;
    border-radius: 10px;
}
@media(min-width:1200px){
    .section-cards h3{
        margin:75px 0 75px 0;
    }
}

.tb-banner{
    border-radius: 10px;
    width: 100%;
}
.upgrade-qr{
    position: relative;
    height:300px;
}
.upgrade-qr .mobile{
    width:150px;
    position: absolute;
    top:-30px;
    right:15px;
    z-index: 1;
}
.upgrade-qr a{
    display:block;
    position: absolute;
    right:140px;
    bottom:45px;
    width:150px;
    border-radius: 5px;
    z-index: 2;
}
.upgrade-qr a .qr{
    border-radius: 10px;
}
.btn-upgrade{
    color:#000;
    text-transform: uppercase;
    background-color: #eb434e;
    color:#fff;
    padding:15px 20px;
    border-radius: 5px;
    text-decoration: none;
}
.btn-upgrade:hover{
    color:#fff;
    opacity: 0.9;
}
@media(min-width:768px){
    .section-upgrade{
        padding:90px 15px;
    }
    .section-upgrade .icon span{
        font-size:14px;
        padding:0;
    }
    .upgrade-qr{
        height:335px;
    }
    .upgrade-qr .mobile{
        width:240px;
        top:-150px;
        right:30px;
    }
    .upgrade-qr a{
        right:200px;
        bottom:-45px;
        width:220px;
    }
    .icon i{
        font-size:52px !important;
    }
}
