@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 300;
    src: url(../fonts/montserrat-v12-latin-300.eot);
    src: local("Montserrat Light"), local("Montserrat-Light"), url(../fonts/montserrat-v12-latin-300.eot?#iefix) format("embedded-opentype"), url(../fonts/montserrat-v12-latin-300.woff2) format("woff2"), url(../fonts/montserrat-v12-latin-300.woff) format("woff"), url(../fonts/montserrat-v12-latin-300.ttf) format("truetype"), url(../fonts/montserrat-v12-latin-300.svg#Montserrat) format("svg")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/montserrat-v12-latin-regular.eot);
    src: local("Montserrat Regular"), local("Montserrat-Regular"), url(../fonts/montserrat-v12-latin-regular.eot?#iefix) format("embedded-opentype"), url(../fonts/montserrat-v12-latin-regular.woff2) format("woff2"), url(../fonts/montserrat-v12-latin-regular.woff) format("woff"), url(../fonts/montserrat-v12-latin-regular.ttf) format("truetype"), url(../fonts/montserrat-v12-latin-regular.svg#Montserrat) format("svg")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 500;
    src: url(../fonts/montserrat-v12-latin-500.eot);
    src: local("Montserrat Medium"), local("Montserrat-Medium"), url(../fonts/montserrat-v12-latin-500.eot?#iefix) format("embedded-opentype"), url(../fonts/montserrat-v12-latin-500.woff2) format("woff2"), url(../fonts/montserrat-v12-latin-500.woff) format("woff"), url(../fonts/montserrat-v12-latin-500.ttf) format("truetype"), url(../fonts/montserrat-v12-latin-500.svg#Montserrat) format("svg")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 600;
    src: url(../fonts/montserrat-v12-latin-600.eot);
    src: local("Montserrat SemiBold"), local("Montserrat-SemiBold"), url(../fonts/montserrat-v12-latin-600.eot?#iefix) format("embedded-opentype"), url(../fonts/montserrat-v12-latin-600.woff2) format("woff2"), url(../fonts/montserrat-v12-latin-600.woff) format("woff"), url(../fonts/montserrat-v12-latin-600.ttf) format("truetype"), url(../fonts/montserrat-v12-latin-600.svg#Montserrat) format("svg")
}

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/montserrat-v12-latin-700.eot);
    src: local("Montserrat Bold"), local("Montserrat-Bold"), url(../fonts/montserrat-v12-latin-700.eot?#iefix) format("embedded-opentype"), url(../fonts/montserrat-v12-latin-700.woff2) format("woff2"), url(../fonts/montserrat-v12-latin-700.woff) format("woff"), url(../fonts/montserrat-v12-latin-700.ttf) format("truetype"), url(../fonts/montserrat-v12-latin-700.svg#Montserrat) format("svg")
}

/*@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 800;
    src: url(../fonts/montserrat-v12-latin-800.eot);
    src: local("Montserrat ExtraBold"), local("Montserrat-ExtraBold"), url(../fonts/montserrat-v12-latin-800.eot?#iefix) format("embedded-opentype"), url(../fonts/montserrat-v12-latin-800.woff2) format("woff2"), url(../fonts/montserrat-v12-latin-800.woff) format("woff"), url(../fonts/montserrat-v12-latin-800.ttf) format("truetype"), url(../fonts/montserrat-v12-latin-800.svg#Montserrat) format("svg")
}*/

@font-face {
    font-family: Montserrat;
    font-style: normal;
    font-weight: 900;
    src: url(../fonts/montserrat-v12-latin-900.eot);
    src: local("Montserrat Black"), local("Montserrat-Black"), url(../fonts/montserrat-v12-latin-900.eot?#iefix) format("embedded-opentype"), url(../fonts/montserrat-v12-latin-900.woff2) format("woff2"), url(../fonts/montserrat-v12-latin-900.woff) format("woff"), url(../fonts/montserrat-v12-latin-900.ttf) format("truetype"), url(../fonts/montserrat-v12-latin-900.svg#Montserrat) format("svg")
}

@font-face {
    font-family: Playfair Display;
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/playfair-display-v13-latin-700.eot);
    src: local("Playfair Display Bold"), local("PlayfairDisplay-Bold"), url(../fonts/playfair-display-v13-latin-700.eot?#iefix) format("embedded-opentype"), url(../fonts/playfair-display-v13-latin-700.woff2) format("woff2"), url(../fonts/playfair-display-v13-latin-700.woff) format("woff"), url(../fonts/playfair-display-v13-latin-700.ttf) format("truetype"), url(../fonts/playfair-display-v13-latin-700.svg#PlayfairDisplay) format("svg")
}

@font-face {
    font-family: Lora;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/lora-v12-latin-regular.eot);
    src: local("Lora Regular"), local("Lora-Regular"), url(../fonts/lora-v12-latin-regular.eot?#iefix) format("embedded-opentype"), url(../fonts/lora-v12-latin-regular.woff2) format("woff2"), url(../fonts/lora-v12-latin-regular.woff) format("woff"), url(../fonts/lora-v12-latin-regular.ttf) format("truetype"), url(../fonts/lora-v12-latin-regular.svg#Lora) format("svg")
}

@font-face {
    font-family: Lora;
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/lora-v12-latin-700.eot);
    src: local("Lora Bold"), local("Lora-Bold"), url(../fonts/lora-v12-latin-700.eot?#iefix) format("embedded-opentype"), url(../fonts/lora-v12-latin-700.woff2) format("woff2"), url(../fonts/lora-v12-latin-700.woff) format("woff"), url(../fonts/lora-v12-latin-700.ttf) format("truetype"), url(../fonts/lora-v12-latin-700.svg#Lora) format("svg")
}

section.home-cover {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: 50%;
    justify-content: 50%;
    -ms-flex-align: center;
    align-items: center;
    height: 640px;
    /*background-image:linear-gradient(to top right, #450b7c, #563cc9, #49e9fb)*/
    background-image:linear-gradient(45deg, rgba(68,68,68,1) 0%, rgba(101,89,165,1) 34%, rgba(226,51,132,1) 67%, rgba(242,182,53,1) 100%);
}

.bg-gradient-custom {
    background-image:linear-gradient(45deg, rgba(68,68,68,1) 0%, rgba(101,89,165,1) 34%, rgba(226,51,132,1) 67%, rgba(242,182,53,1) 100%);
}

@media (min-width: 768px) {
    section.home-cover {
        height:592px
    }
}

@media (min-width: 992px) {
    section.home-cover {
        height:710px
    }
}

@media (min-width: 1200px) {
    section.home-cover {
        height:820px
    }
}

@media (min-width: 1999.98px) {
    section.home-cover {
        height:1040px
    }
}


.cover-bg {
    width: 100%;
    height: 100%;
    z-index:0
}

.cover-bg, .cover-pattern-bg {
    position: absolute;
    top: 0;
    left: 50%;
    transform:translateX(-50%)
}

.cover-pattern-bg {
    width:1340px
}

.cover-pattern-bg img {
    display: block;
    width:100%
}

@media (min-width: 992px) {
    .cover-pattern-bg {
        width:1440px
    }
}

@media (min-width: 1200px) {
    .cover-pattern-bg {
        width:1920px
    }
}

@media (min-width: 1999.98px) {
    .cover-pattern-bg {
        width:2874px
    }
}

@media (min-width: 1999.98px) {
    .cover-pattern-bg .cover-pattern-img__default {
        display:none
    }
}

.cover-pattern-bg .cover-pattern-img__large {
    display:none
}

@media (min-width: 1999.98px) {
    .cover-pattern-bg .cover-pattern-img__large {
        display:block
    }
}

.cover-character .cover-element01, .cover-character .cover-mask, .cover-character .cover-element02, .cover-character .cover-element03 {
    position: absolute;
    z-index:1
}

.cover-character .cover-element01 img, .cover-character .cover-mask img, .cover-character .cover-element02 img, .cover-character .cover-element03 img {
    display: block;
    width:100%
}

.cover-character {
    width: 656px;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 50%;
    transform:translateX(-50%)
}

.cover-character .cover-mask {
    bottom: -8px;
    left: 50%;
    width: 850px;
    transform:translateX(-50%)
}

@media (min-width: 768px) {
    .cover-character .cover-mask {
        bottom: -13px;
        width:992px
    }
}

@media (min-width: 992px) {
    .cover-character .cover-mask {
        bottom: -15px;
        width:1280px
    }
}

@media (min-width: 1200px) {
    .cover-character .cover-mask {
        bottom: -20px;
        width:1920px
    }
}

@media (min-width: 1999.98px) {
    .cover-character .cover-mask {
        width:2774px
    }
}

@media (min-width: 2700px) {
    .cover-character .cover-mask {
        width:100vw
    }
}

@media (min-width: 1999.98px) {
    .cover-character .cover-mask .cover-mask__default {
        display:none
    }
}

.cover-character .cover-mask .cover-mask__large {
    display:none
}

@media (min-width: 1999.98px) {
    .cover-character .cover-mask .cover-mask__large {
        display:block
    }
}

.cover-character .cover-element02 {
    display: none;
    width:118px
}

@media (min-width: 768px) {
    .cover-character .cover-element02 {
        display: block;
        top: 72px;
        left:60px
    }
}

@media (min-width: 992px) {
    .cover-character .cover-element02 {
        top: 56px;
        width:144px
    }
}

@media (min-width: 1200px) {
    .cover-character .cover-element02 {
        display: block;
        top: 50px;
        left: 180px;
        width:360px;
        opacity: 0.5;
    }
}

@media (min-width: 1680px) {
    .cover-character .cover-element02 {
        top:92px
    }
}

.cover-character .cover-element03 {
    right: 186px;
    bottom: 72px;
    width:92px
}

@media (min-width: 768px) {
    .cover-character .cover-element03 {
        right: 86px;
        bottom:112px
    }
}

@media (min-width: 992px) {
    .cover-character .cover-element03 {
        width:128px
    }
}

@media (min-width: 1200px) {
    .cover-character .cover-element03 {
        right: 256px;
        bottom: 121px;
        width:146px
    }
}

.cover-character .cover-element01 {
    top: 70px;
    right: 50%;
    width: 200px;
    transform:translateX(50%)
}

@media (min-width: 768px) {
    .cover-character .cover-element01 {
        top: 50px;
        right: 10px;
        transform:translateX(0)
    }
}

@media (min-width: 992px) {
    .cover-character .cover-element01 {
        top: 50px;
        right: -20px;
        width:250px
    }
}

@media (min-width: 1200px) {
    .cover-character .cover-element01 {
        top: 64px;
        right: 135px;
        width:380px;
        opacity: 0.5;

    }
}

@media (min-width: 1680px) {
    .cover-character .cover-element01 {
        top:80px
    }
}

@media (min-width: 992px) {
    .cover-character {
        width: 768px;
        height:100%
    }
}

@media (min-width: 1200px) {
    .cover-character {
        width: 1440px;
        height:100%
    }
}

.cover-overlay {
    width: 100%;
    height: 200px;
    position: absolute;
    z-index: 2;
    top: 0;
    left:0
}

@media (min-width: 992px) {
    .cover-overlay {
        background-image:linear-gradient(180deg, rgba(13, 0, 32, .3) -40px, rgba(53, 0, 58, 0) 200px)
    }
}

.cover-section {
    position: relative;
    z-index: 4;
    width:100%
}

.cover-text {
    width: 100%;
    margin:0 auto
}

.cover-text h1 {
    font-family: Montserrat;
    font-weight: 700;
    font-size: 45px;
    line-height: 0.9;
    letter-spacing: -1px;
    text-align: center;
    color:#fff
}

.cover-text h1 span.red {
    color:#ef4b6c
}

@media (min-width: 768px) {
    .cover-text h1 {
        font-size:70px
    }
}

@media (min-width: 1200px) {
    .cover-text h1 {
        font-size: 95px;
        letter-spacing:-1.8px
    }
}

.cover-text p {
    width: 100%;
    max-width: 300px;
    margin: 15px auto 0;
    color: #fff;
    font-size: 14px;
    text-align:center
}

@media (min-width: 768px) {
    .cover-text p {
        max-width: 100%;
        margin: 30px auto 0;
        font-size:18px
    }
}

@media (min-width: 768px) {
    .cover-text {
        margin:0
    }
}

.cover-button {
    position: relative;
    height: 90px;
    padding: 20px 0;
    box-sizing: border-box;
    text-align:center
}

.cover-button .btn.btn-primary, .cover-button .btn.btn-white {
    right: calc(50% - 110px);
    width: 220px;
    margin: 0 auto;
    padding: 0;
    transition: all .5s ease-in-out;
    visibility: visible;
    overflow: hidden;
    transform:translateZ(0)
}

.cover-button .btn.btn-primary i, .cover-button .btn.btn-white i {
    visibility: hidden;
    position: relative;
    font-size: 0;
    color: transparent;
    transition:all .5s ease-in-out
}

.cover-button .btn.btn-primary span, .cover-button .btn.btn-white span {
    visibility: visible;
    position: relative;
    font-size: 12px;
    color: #fff;
    transition:all .5s ease-in-out
}

.cover-button .btn.btn-primary:hover, .cover-button .btn.btn-white:hover {
    opacity:.9
}

.cover-button .btn.btn-white span {
    color:#5238b1
}

@media (min-width: 768px) {
    .cover-button {
        height: 130px;
        padding:40px 0
    }
}

@media (min-width: 992px) {
    .cover-button {
        height: 170px;
        padding:40px 0 80px
    }
}

@media (min-width: 1200px) {
    .cover-button {
        height: 190px;
        padding:40px 0 100px
    }
}

.cover-button-float {
    position: relative;
    height: 90px;
    padding: 20px 0;
    box-sizing: border-box;
    text-align:center
}

.cover-button-float .btn {
    box-shadow:none
}

.cover-button-float .btn.btn-primary, .cover-button-float .btn.btn-white {
    position: absolute;
    bottom: calc(100vh - 70px);
    left: calc(50% - 110px);
    width: 220px;
    margin: 0 auto;
    padding: 0;
    transition: all .5s ease-in-out;
    visibility: visible;
    overflow: hidden;
    transform:translateZ(0)
}

.cover-button-float .btn.btn-primary i, .cover-button-float .btn.btn-white i {
    visibility: hidden;
    position: relative;
    font-size: 0;
    color: transparent;
    transition:all .5s ease-in-out
}

.cover-button-float .btn.btn-primary span, .cover-button-float .btn.btn-white span {
    visibility: visible;
    position: relative;
    font-size: 12px;
    color: #fff;
    transition:all .5s ease-in-out
}

.cover-button-float .btn.btn-primary:hover, .cover-button-float .btn.btn-white:hover {
    opacity:.9
}

@media (min-width: 768px) {
    .cover-button-float .btn.btn-primary, .cover-button-float .btn.btn-white {
        bottom:calc(100vh - 90px)
    }
}

.cover-button-float .btn.btn-white span {
    color:#5238b1
}

.cover-button-float.floating .btn {
    box-shadow:none
}

.cover-button-float.floating .btn.btn-primary, .cover-button-float.floating .btn.btn-white {
    position: fixed;
    z-index: 9;
    bottom: 15px;
    left: calc(100% - 75px);
    width: 60px;
    height: 60px;
    padding: 22px 17px;
    transition: all .5s ease-in-out;
    visibility: visible;
    background-color: #ef4b6c;
    border-radius: 50%;
    transform:translateZ(0)
}

.cover-button-float.floating .btn.btn-primary i, .cover-button-float.floating .btn.btn-white i {
    visibility: visible;
    font-size: 16px;
    color: #fff;
    transition:all .5s ease-in-out
}

@media (min-width: 768px) {
    .cover-button-float.floating .btn.btn-primary i, .cover-button-float.floating .btn.btn-white i {
        font-size:20px
    }
}

.cover-button-float.floating .btn.btn-primary span, .cover-button-float.floating .btn.btn-white span {
    visibility: hidden;
    font-size: 0;
    color: transparent;
    transition:all .5s ease-in-out
}

.cover-button-float.floating .btn.btn-primary:hover, .cover-button-float.floating .btn.btn-white:hover {
    opacity:.9
}

@media (min-width: 768px) {
    .cover-button-float.floating .btn.btn-primary, .cover-button-float.floating .btn.btn-white {
        bottom: 30px;
        left: calc(100% - 94px);
        width: 64px;
        height: 64px;
        padding:22px 17px
    }
}

.cover-button-float.floating.hide .btn.btn-primary, .cover-button-float.floating.hide .btn.btn-white {
    bottom:-75px
}

.cover-button-float.floating.hide .btn.btn-primary i, .cover-button-float.floating.hide .btn.btn-primary span, .cover-button-float.floating.hide .btn.btn-white i, .cover-button-float.floating.hide .btn.btn-white span {
    visibility:hidden
}

@media (min-width: 768px) {
    .cover-button-float.floating.hide .btn.btn-primary, .cover-button-float.floating.hide .btn.btn-white {
        bottom:-94px
    }
}

@media (min-width: 768px) {
    .cover-button-float {
        height: 130px;
        padding:40px 0
    }
}

@media (min-width: 992px) {
    .cover-button-float {
        height: 170px;
        padding:40px 0 80px
    }
}

@media (min-width: 1200px) {
    .cover-button-float {
        height: 190px;
        padding:40px 0 100px
    }
}

.cover-button-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height:100vh
}

.cover-button-fixed {
    position:relative
}

.cover-button-fixed .btn.btn-primary {
    position: fixed;
    z-index: 9;
    top: calc(100% + 50px);
    right: 15px;
    width: 50px;
    height: 50px;
    padding: 17px 16px;
    transition: all .5s ease-in-out;
    visibility: visible;
    background-color: #ef4b6c;
    border-radius:50%
}

.cover-button-fixed .btn.btn-primary i {
    visibility: visible;
    font-size: 16px;
    color: #fff;
    transition:all .5s ease-in-out
}

@media (min-width: 768px) {
    .cover-button-fixed .btn.btn-primary i {
        font-size:20px
    }
}

.cover-button-fixed .btn.btn-primary span {
    visibility: hidden;
    font-size: 0;
    color: transparent;
    transition:all .5s ease-in-out
}

.cover-button-fixed .btn.btn-primary:hover {
    opacity:.9
}

@media (min-width: 768px) {
    .cover-button-fixed .btn.btn-primary {
        top: calc(100% + 50px);
        right: 40px;
        width: 64px;
        height: 64px;
        padding:22px 21px
    }
}

.cover-button-fixed.show .btn.btn-primary {
    top:calc(100% - 65px)
}

@media (min-width: 768px) {
    .cover-button-fixed.show .btn.btn-primary {
        top:calc(100% - 94px)
    }
}


.section-title h2 {
    position: relative;
    font-family: Montserrat, serif;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.357;
    opacity:.9
}

@media (min-width: 768px) {
    .section-title h2 {
        font-size: 50px;
        line-height: 1.06;
        letter-spacing: 1.88px;
        opacity:1
    }
}
