/* 1. base
--------------------------------------------------------------------------------*/
@font-face {
  font-family: 'TT Firs Neue';
  /* Name you'll use in CSS */
  src: url('../fonts/TT_Firs_Neue_Light.woff2');
  font-weight: normal;
  /* or bold, 100–900 */
  font-style: normal;
  /* or italic */
  font-display: swap;
  /* Improves performance and avoids invisible text */
}


:root {
      --quirso-gradient: linear-gradient(150deg,
      hsl(344deg 96% 53%) 0%,
      hsl(344deg 82% 45%) 0%,
      hsl(343deg 77% 37%) 1%,
      hsl(343deg 71% 30%) 2%,
      hsl(343deg 65% 22%) 4%,
      hsl(343deg 58% 14%) 7%,
      hsl(345deg 80% 6%) 12%,
      hsl(327deg 74% 5%) 22%,
      hsl(305deg 61% 4%) 55%,
      hsl(273deg 53% 5%) 82%,
      hsl(239deg 47% 5%) 91%,
      hsl(218deg 77% 4%) 97%,
      hsl(208deg 100% 3%) 100%);
    --quirso-gradient-2: linear-gradient(
    150deg,
    hsl(344, 96%, 55%) 0%,   /* tiny bright flare at top-left */
    hsl(344, 85%, 30%) 5%,   /* starts darkening almost immediately */
    hsl(344, 80%, 25%) 10%,  /* very quick darkening */
    hsl(343, 75%, 20%) 15%,  
    hsl(343, 70%, 16%) 25%,  
    hsl(343, 65%, 12%) 35%,  
    hsl(330, 55%, 8%) 50%,   
    hsl(305, 50%, 5%) 75%,   
    hsl(208, 100%, 3%) 100%  /* darkest corner */
  );
}

a[disabled], input[disabled], button[disabled], textarea[disabled] {
    cursor: not-allowed !important;
    opacity: .5 !important;
}

a:focus, input:focus, button:focus, textarea:focus {
    outline: none;
}

p {
    margin-top: 0;
    margin-bottom: 10px;
}

img {
    max-width: 100%;
    height: auto;
    border: 0;
}

.page-wrap {
    overflow: hidden;
}

.md-section {
    position: relative;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    z-index: 9;
    padding-top: 50px;
    padding-bottom: 50px;
}

@media (min-width: 320px) {
    .md-section {
        padding-top: calc(6.81818vw + 28.18182px);
        padding-bottom: calc(6.81818vw + 28.18182px);
    }
}

@media (min-width: 1200px) {
    .md-section {
        padding-top: 110px;
        padding-bottom: 110px;
    }
}

.md-text-left, .text-left {
    text-align: left !important;
}

.md-text-center, .text-center {
    text-align: center !important;
}

.md-text-right, .text-right {
    text-align: right !important;
}

.md-text-underline {
    text-decoration: underline !important;
}

.md-round {
    border-radius: 5px !important;
}

.md-pill {
    border-radius: 50% !important;
}

.md-tb {
    display: table;
    width: 100%;
    height: 100%;
}

.md-tb__cell {
    display: table-cell;
    vertical-align: middle;
}

.md-overlay, [data-gradient-bg] > canvas {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

.md-overlay {
    background-color: rgba(0, 0, 0, .4);
}

.bg-fixed {
    background-attachment: fixed;
}

.md-bg-cover {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.full {
    width: 100%;
    height: 100vh;
}

.embed-responsive {
    position: relative;
    display: block;
    height: 0;
    padding: 0;
    overflow: hidden;
}

.embed-responsive.embed-responsive-4by3 {
    padding-bottom: 75%;
}

.embed-responsive.embed-responsive-16by9 {
    padding-bottom: 56.25%;
}

.embed-responsive .embed-responsive-item, .embed-responsive iframe,
.embed-responsive embed, .embed-responsive object {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

a {
    color: #fff;
}

a:hover {
    text-decoration: none;
    color: #e23653;
}

a:focus {
    text-decoration: none;
    color: #e23653;
}

::-moz-selection {
    color: #fff;
    background-color: #380b15;
}

::selection {
    color: #fff;
    background-color: #380b15;
}

.md-section {
    padding-top: 65px;
    padding-bottom: 65px;
}

@media (min-width: 320px) {
    .md-section {
        padding-top: calc(13.63636vw + 21.36364px);
        padding-bottom: calc(13.63636vw + 21.36364px);
    }
}

@media (min-width: 1200px) {
    .md-section {
        padding-top: 185px;
        padding-bottom: 185px;
    }
}


/* Typography */

body {
    margin: 0;
    padding: 0;
    line-height: 1.6;
    font-size: 16px;
    font-weight: 400;
    font-family: "TT Firs Neue", sans-serif;
    color: #fff;
    background: var(--quirso-gradient-2);
}

body.md-skin-dark {
    background-color: #fff;
}

.md-skin-dark {
    color: rgba(255, 255, 255, .9);
}

.md-skin-dark h1, .md-skin-dark h2, .md-skin-dark h3, .md-skin-dark h4,
.md-skin-dark h5, .md-skin-dark h6 {
    color: #fff;
}

a {
    transition: all .3s ease;
}

a, input, textarea, select {
    outline: none;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 400;
    line-height: 1.4em;
    color: #0c0c0e;
    font-family: "Work Sans", sans-serif;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: inherit;
    text-decoration: none;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    color: inherit;
    text-decoration: none;
}

h1 {
    font-size: 65px;
}

h2 {
    font-size: 50px;
}

h3 {
    font-size: 40px;
}

h4 {
    font-size: 35px;
}

h5 {
    font-size: 25px;
}

h6 {
    font-size: 20px;
}

h3, h1, h2, h3 {
    margin-top: 30px;
    margin-bottom: 15px;
}

h4, h5, h6 {
    margin-top: 15px;
    margin-bottom: 10px;
}

img {
    max-width: 100%;
}

blockquote {
    border: 0;
    font-size: 25px;
    padding: 0 0 0 40px;
    margin: 15px 20px 20px;
    position: relative;
    line-height: 1.4;
    color: #03358f;
    font-family: "Roboto", sans-serif;
}

@media (min-width: 992px) {
    blockquote {
        padding: 0 0 0 70px;
    }
}

blockquote:before {
    content: "\F10D";
    font-family: FontAwesome;
    font-size: 30px;
    line-height: 1.2;
    top: 0;
    left: 0;
    position: absolute;
    color: #c9c9cf;
}

@media (min-width: 992px) {
    blockquote:before {
        font-size: 50px;
    }
}

blockquote p:last-child {
    margin-bottom: 0;
}

blockquote i {
    font-size: 40px !important;
    margin-bottom: 20px;
}

blockquote cite {
    display: block;
    font-size: 16px;
    font-style: normal;
    font-family: "Roboto", sans-serif;
    margin-top: 15px;
}

@media (min-width: 768px) {
    blockquote {
        font-size: 25px;
        margin: 15px 40px 20px;
    }
}

abbr {
    color: #67dee8;
    border-width: 2px;
}

mark, .mark {
    background-color: #03358f;
    color: #f1f1f3;
}

/* 3. general_header
--------------------------------------------------------------------------------*/

.header {
    padding: 15px 15px;
}

.header__left {
    display: none;
}

.header__left > span {
    font-weight: 300;
}

.header__left > span + span:before {
    content: '|';
    display: inline-block;
    margin: 0 40px;
}

.header__social {
    text-align: center;
}

.header__social a {
    width: 30px;
    height: 30px;
    line-height: 28px;
    font-size: 12px;
    border-color: rgba(255, 255, 255, .5);
}

.header__social a:hover {
    background-color: #fff;
    color: #e23653;
    border-color: #fff;
}

.header__social a:visited {
    background-color: #fff;
    color: #fff;
    border-color: #fff;
}

@media (min-width: 993px) {
    .header {
        padding: 20px 40px;
        margin-bottom: 0;
    }
}

@media (min-width: 1201px) {
    .header__left {
        display: block;
    }

    .header__social {
        text-align: right;
    }
}

@media (min-width: 1401px) {
    .header {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center;
        padding: 20px 70px;
    }
}

/* 4. general_service
--------------------------------------------------------------------------------*/

.service {
    text-align: center;
}

.service__title {
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 10px;
}

.service__text {
    font-size: 14px;
}

.service-wrapper {
    overflow: hidden;
}

.service-wrapper .service {
    padding: 30px 20px;
}

.service-wrapper .service:not(:last-child) {
    border-bottom: 1px solid rgba(255, 255, 255, .5);
}

@media (min-width: 1201px) {
    .service-wrapper .service {
        width: 33.333333%;
        float: left;
        padding: 0 55px;
    }

    .service-wrapper .service:not(:last-child) {
        border-bottom: 0;
        border-right: 1px solid rgba(255, 255, 255, .5);
    }
}

/* 5. general_hero
--------------------------------------------------------------------------------*/

.hero {
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 9;
}

.hero:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    opacity: .5;
    z-index: -1;
}

.hero.no-overlay:after {
    display: none;
}

.hero.bg-video {
    background-color: transparent;
}

.hero .header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}

.hero__title_inner {
    text-align: center;
}

.hero__icon {
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 36px;
    border: 2px solid #fff;
    border-radius: 50%;
    font-family: "Work Sans", sans-serif;
    font-size: 20px;
    font-weight: 300;
    color: #fff;
}

.hero__title {
    font-size: 30px;
    font-weight: 300;
    color: #fff;
}

@media (min-width: 320px) {
    .hero__title {
        font-size: calc(2.04545vw + 23.45455px);
    }
}

@media (min-width: 1200px) {
    .hero__title {
        font-size: 48px;
    }
}

.hero__wrapper {
    position: relative;
    padding: 120px 0 50px;
    z-index: 99;
    min-height: 100vh;
}

.hero__wrapper .countdown__module {
    max-width: 800px;
    margin: 40px auto;
}

@media (min-width: 769px) {
    .hero__wrapper .countdown__module {
        max-width: 800px;
        margin: 80px auto;
    }
}

@media (min-width: 1401px) {
    .hero__wrapper {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .hero__icon {
        font-size: 36px;
        width: 60px;
        height: 60px;
        line-height: 56px;
    }
}

.social-icon {
    display: inline-block;
    text-align: center;
    font-size: 16px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border-radius: 3px;
    border: 1px solid #778;
    margin: 3px;
}

.social-icon__text {
    margin-left: 6px;
}

.social-icon__rounded {
    border-radius: 50%;
}

.social-icon__no-border {
    border: 0;
}

.btn {
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 2px;
    padding: 0 15px;
    height: 50px;
    line-height: 48px;
    min-width: 170px;
}

.btn > i {
    margin: 0 5px;
}

.btn-sm {
    height: 40px;
    line-height: 38px;
    min-width: 130px;
}

.btn-w140 {
    min-width: 140px;
}

.grid-css .grid-item .grid-item__inner .grid-item__content-wrapper {
    background-color: transparent;
}

.no-gutters {
    margin: 0;
}

.no-gutters > .col, .no-gutters > [class*="col-"] {
    padding-right: 0;
    padding-left: 0;
}

.show-md {
    display: none;
}

@media (min-width: 992px) {
    .hidden-md {
        display: none;
    }

    .show-md {
        display: block;
    }
}

/* 14. Reset Row Boostrap
--------------------------------------------------------------------------------*/

.row-grap {
    margin: 0;
}

.row-grap > [class*="col-"] {
    padding: 0;
}

.pull-left {
    float: left;
}

.pull-right {
    float: right;
}

/* 15. Margin Padding
--------------------------------------------------------------------------------*/

.pd-0 {
    padding: 0 !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.mb-20 {
    margin-bottom: 20px;
}

.mt-20 {
    margin-top: 20px;
}

.mb-25 {
    margin-bottom: 25px;
}

.mt-25 {
    margin-top: 25px;
}

.mb-30 {
    margin-bottom: 30px;
}

.mt-30 {
    margin-top: 30px;
}

.mb-35 {
    margin-bottom: 35px;
}

.mt-35 {
    margin-top: 35px;
}

.mb-40 {
    margin-bottom: 40px;
}

.mt-40 {
    margin-top: 40px;
}

.mb-45 {
    margin-bottom: 45px;
}

.mt-45 {
    margin-top: 45px;
}

.mb-50 {
    margin-bottom: 50px;
}

.mt-50 {
    margin-top: 50px;
}

.mb-55 {
    margin-bottom: 55px;
}

.mt-55 {
    margin-top: 55px;
}

.mb-60 {
    margin-bottom: 60px;
}

.mt-60 {
    margin-top: 60px;
}

.mb-65 {
    margin-bottom: 65px;
}

.mt-65 {
    margin-top: 65px;
}

.mb-70 {
    margin-bottom: 70px;
}

.mt-70 {
    margin-top: 70px;
}

.mb-75 {
    margin-bottom: 75px;
}

.mt-75 {
    margin-top: 75px;
}

/* 16. CountDown
--------------------------------------------------------------------------------*/

.countdown__module {
    display: table;
    width: 100%;
    margin: 20px 0;
    color: #c2c2c2;
}

.countdown__module p {
    display: table-cell;
    vertical-align: middle;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 3px;
    width: 25%;
}

@media (min-width: 320px) {
    .countdown__module p {
        font-size: calc(.68182vw + 7.81818px);
    }
}

@media (min-width: 1200px) {
    .countdown__module p {
        font-size: 16px;
    }
}

.countdown__module span {
    display: block;
    font-family: "Work Sans", sans-serif;
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
    color: #fff;
    margin-bottom: 10px;
}

@media (min-width: 320px) {
    .countdown__module span {
        font-size: calc(6.81818vw + 8.18182px);
    }
}

@media (min-width: 1200px) {
    .countdown__module span {
        font-size: 90px;
    }
}
