/*--------------------------------------------------------------
Reset CSS
--------------------------------------------------------------*/
html{-webkit-text-size-adjust:100%}html,body{width:100%;height:100%;background:#ffff}html,html a{text-shadow:1px 1px 1px rgba(0,0,0,.004);-webkit-font-smoothing:antialiased;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-smooth:always}body,html,div,ul,ol,li,h1,h2,h3,h4,h5,h6,form,fieldset,input,button,textarea,select,p,xmp{margin:0;padding:0}img,button,input,textarea,fieldset{border:0}button{background:none;cursor: pointer}button,input,option,select,textarea{font:inherit}li{list-style:none}h1,h2,h3,h4,h5,h6{font-size:100%}a,xmp{display:inline-block;text-decoration:none}textarea,button,input{outline:none}img{image-rendering:-webkit-optimize-contrast}*{font:normal 13px 'Montserrat', sans-serif;color:#fff}

*, *::before, *::after{box-sizing: border-box}
b{font-weight:bold}
img{
    max-width: 100%;
    height: auto;
    min-height: 100%
}


/*--------------------------------------------------------------
Animations
--------------------------------------------------------------*/
.arrow-jump{
    -webkit-animation: arrow-jump 1s infinite; /* Safari 4+ */
    -moz-animation:    arrow-jump 1s infinite; /* Fx 5+ */
    animation:         arrow-jump 1s infinite; /* IE 10+, Fx 29+ */
}

@keyframes arrow-jump 
{
    0%   { opacity: 0;}
    100% { opacity: 1; 
          -webkit-transform: translateX(10px);
          -moz-transform: translateX(10px);
          transform: translateX(10px);
      }
}

@-webkit-keyframes arrow-jump 
{
    0%   { opacity: 0;}
    100% { opacity: 1; 
          -webkit-transform: translateX(10px);
          -moz-transform: translateX(10px);
          transform: translateX(10px);
      }
}

.quiz-progress-bg{
    width: 0;
    overflow: hidden;
    position: relative
}
  
.quiz-progress-bg:after{
    content: '';
    position: absolute;
    top: 0; 
    left: 0; 
    bottom: 0; 
    right: 0;
    
    background-image: linear-gradient(
      -45deg, 
      rgba(255, 255, 255, .2) 25%, 
      transparent 25%, 
      transparent 50%, 
      rgba(255, 255, 255, .2) 50%, 
      rgba(255, 255, 255, .2) 75%, 
      transparent 75%, 
      transparent
    );
    
    z-index: 1;
    background-size: 50px 50px;
    animation: move 2s linear infinite;
    overflow: hidden;
}
  
@keyframes move {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: 50px 50px;
    }
  }


/*--------------------------------------------------------------
Preloader
--------------------------------------------------------------*/
.preloader{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    z-index: 100;
    opacity: 1!important
}

.loader-circle {
    border: 5px solid #fff;
    border-top-color: #e4003a;
    height: 40px;
    width: 40px;
    border-radius: 100%;
    -webkit-animation: spin 1.5s linear infinite;
    -o-animation: spin 1.5s linear infinite;
    animation: spin 1.5s linear infinite;
    z-index: 101
}

.preloader span{
    margin-top: 20px;
    color: #888
}
  
@keyframes spin {
    from {transform: rotate(0deg)}
    to {transform: rotate(360deg)}
}


/*--------------------------------------------------------------
SweetAlert2
--------------------------------------------------------------*/
html.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown),
body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {overflow-y: initial !important}

html.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown):not(.kt-sweetalert2--nopadding),
body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown):not(.kt-sweetalert2--nopadding) {padding-right: 0 !important}

@media screen\0 {
    html.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown),
    body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {overflow: visible } 
}

.swal2-popup {
    border-radius: 4px;
    padding: 3rem 
}

.swal2-popup .swal2-title {
    font-weight: 700;
    font-size: 1.2rem;
    margin: 0 0 1rem
}

.swal2-popup #swal2-content {
    font-weight: 500;
    font-size: 1.1rem;
    color: #888!important;
}

.swal2-popup #swal2-content b {color: #888}

.swal2-popup .btn {margin: 15px 5px 0}
.swal2-popup .swal2-styled:focus {
    -webkit-box-shadow: none;
    box-shadow: none
}

.swal2-container {overflow-y: hidden !important}

body.swal2-height-auto {height: 100% !important}

.swal2-container.swal2-shown {background-color: rgba(0, 0, 0, 0.2)}
.swal2-popup .swal2-title {color: #464457}
.swal2-popup .swal2-content {color: #a7abc3}

.swal-wide{width: 525px}

/*--------------------------------------------------------------
Global classes
--------------------------------------------------------------*/
.page{
    width: 100%;
    min-height: 100%;
    display: flex;
    background-size: contain
}

.page-content{
    position: relative;
    width: 750px;
    min-height: 100%;
    z-index: 10;
    box-shadow: 0 0 12px 0 rgba(0,0,0,.1);
    margin: 0 auto
}

.overflow-hidden{overflow: hidden}

.btn{
    width: 60%;
    border-radius: 60px;
    height: 60px;
    position: relative;
    box-shadow: 0 0 24px 0 rgba(0,0,0,.15)
}

.btn > span{
    font-size: 20px;
    font-weight: 500;
    text-shadow: 0 0 12px rgba(0,0,0,.15)
}

.btn-bg-red{
    background-image: -moz-linear-gradient( -90deg, rgb(212,13,59) 1%, rgb(186,10,60) 100%);
    background-image: -webkit-linear-gradient( -90deg, rgb(212,13,59) 1%, rgb(186,10,60) 100%);
    background-image: -ms-linear-gradient( -90deg, rgb(212,13,59) 1%, rgb(186,10,60) 100%);
}

.btn-bg-white{background: #fff}
.btn-bg-white > span, .btn-bg-white i{color: #cc0c3b}

.btn-icon > div{
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.btn-icon > div > i{font-size: 30px}

.btn-icon-right > div{right: 20px}
.btn-icon-left > div{left: 20px}

a.btn{
    display: flex;
    align-items: center;
    justify-content: center
}


/*--------------------------------------------------------------
HOME PAGE
--------------------------------------------------------------*/
.home-page{
    background-size: contain;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center
}

.home-page-wrapper{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    width: 100%;
    text-align: center;
    padding: 40px 30px
}

.home-page-content{margin: 60px 0}

.home-page-content h1{
    font-weight: bold;
    font-size: 40px;
    color: #2e313c
}

.home-page-content p{
    font-weight: 800;
    font-size: 35px;
    color: #e4003a;
    margin-top: 50px
}


/*--------------------------------------------------------------
Quiz
--------------------------------------------------------------*/
.quiz-container{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    background:#fff
}

.quiz-wrapper{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    width: 100%;
    height: 100%
}

/* TOP */
.quiz-top{position: relative}
.quiz-top img{margin-top: -170px}

.quiz-top .btn-prev-question{
    position: absolute;
    top: 20px;
    left: 25px;
    z-index: 10;
    padding: 10px;
    border-radius: 3px;
    background: rgba(255,255,255,.2)
}

.quiz-top .btn-prev-question > span{
    font-weight: 500
}

.quiz-top-wrapper{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    margin: 0 auto;
    padding: 40px 30px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-direction: column
}

/* -HEADER */
.quiz-top-header{margin-top: 15px}
.quiz-top-header h1{
    font-size: 28px;
    font-weight: 700
}

.quiz-top-header div{margin-top: 15px}
.quiz-top-header div > *{
    font-size: 20px;
    font-weight: 300
}

/* -QUESTION */
.quiz-top-question p{
    font-weight: 400;
    font-size: 30px;
    max-width: 700px
}


/* CENTER */
.quiz-center{
    width: 100%;
    height: 100%;
    margin: 30px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.quiz-center > div{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%
}

input.radio{display: none}

.quiz-center label.radio:not(:first-child){margin-top: 15px}
label.radio{
    border: 1px solid #e5e5e5;
    background: #fff;
    border-radius: 10px;
    width: 80%;
    padding: 20px;
    text-align: center;
    cursor: pointer
}

label.radio span{
    font-weight: 400;
    font-size: 18px;
    color: #2e313c
}

label.radio:hover, input.radio:checked + label{background: #ebebeb}
input.radio:checked + label{border: 3px solid #094fa8}


.quiz-center > .btn{margin: 50px 0 20px}



/* BOTTOM */
.quiz-bottom{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 15px;

    background: rgba(255,255,255,1);
    background: -moz-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 51%, rgba(248,248,249,1) 52%, rgba(248,248,249,1) 100%);
    background: -webkit-gradient(left top, left bottom, color-stop(0%, rgba(255,255,255,1)), color-stop(51%, rgba(255,255,255,1)), color-stop(52%, rgba(248,248,249,1)), color-stop(100%, rgba(248,248,249,1)));
    background: -webkit-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 51%, rgba(248,248,249,1) 52%, rgba(248,248,249,1) 100%);
    background: -o-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 51%, rgba(248,248,249,1) 52%, rgba(248,248,249,1) 100%);
    background: -ms-linear-gradient(top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 51%, rgba(248,248,249,1) 52%, rgba(248,248,249,1) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 51%, rgba(248,248,249,1) 52%, rgba(248,248,249,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f8f8f9', GradientType=0 );
}

/* -PROGRESS */
.progress{
	width: 115px;
    height: 115px;
    background: #fff;
    border-radius: 100%
}

.progress .track, .progress .fill{
	fill: rgba(0, 0, 0, 0);
	stroke-width: 10;
	transform: rotate(90deg) translate(0px, -80px);
}

.progress .track{stroke: #f8f8f9}
.progress .fill {
	stroke: rgb(255, 255, 255);
	stroke-dasharray: 219.99078369140625;
	stroke-dashoffset: -219.99078369140625;
	transition: stroke-dashoffset 1s;
}

.progress.blue .fill {stroke: #094ea5}

.progress .value {
    font: 700 18px 'Montserrat';
	fill: #2e313c;
	text-anchor: middle;
}


/*--------------------------------------------------------------
Form
--------------------------------------------------------------*/
.quiz-contact-form .quiz-top-question{margin: 85px 0 40px}
.quiz-contact-form .quiz-top-question > span{
    font-size: 20px;
    font-weight: 300
}

.quiz-contact-form .quiz-top-question p{margin-bottom: 35px}

.quiz-contact-form form{width: 60%}

.quiz-contact-form .input-container{width: 100%}
.quiz-contact-form .input-container label{
    position: relative;
    display: block;
    margin-bottom: 15px
}

.quiz-contact-form .input-container input{
    width: 100%;
    text-align: left;
    padding: 28px 0;
    border-bottom: 1px solid #e5e5e5;
    font-size: 16px;
    color: #2e313c;
    transition: all 0.2s ease-in-out;
}

.quiz-contact-form .input-container input::placeholder{
    transition: all 0.2s ease-in-out;
    color: #575962;
    font-weight: 400
}

.quiz-contact-form .input-container input:focus{
    padding-top: 28px 0;
    padding-bottom: 12px;
}

.quiz-contact-form .input-container input:focus::placeholder{color: transparent}
.quiz-contact-form .input-container input:focus + span{
    opacity: 1;
    top: 10px
}

.quiz-contact-form .input-container span{
    font-size: .8rem;
    color: #575962;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: all 0.2s ease-in-out;
}

.checkbox-container{
    width: 100%;
    margin-top: 25px
}

.quiz-contact-form .checkbox-container > div {
    display: flex;
    margin-bottom: 15px
}

.quiz-contact-form .checkbox-container label{
    color: #4d4d4d;
    z-index: 10;
    padding-left: 40px;
    cursor: pointer;
    position: absolute
}

.quiz-contact-form .checkbox-container label > *{
    font-size: 13px;
    font-weight: 500
}

.quiz-contact-form .checkbox-container label > b{color: #000}
.quiz-contact-form .checkbox-container label > a{
    color: #7a7a7a;
    text-decoration: underline;
    margin-left: 10px
}

.quiz-contact-form .checkbox-container input{
    opacity: 0;
    visibility: hidden;
    position: absolute;
}

.quiz-contact-form .checkbox-container input:checked ~ .check{
    border-color: #e4003a;
    box-shadow: 0px 0px 0px 15px #e4003a inset;
}

.quiz-contact-form .checkbox-container input:checked ~ .check::after {
    opacity: 1;
    transform: scale(1);
}

.quiz-contact-form .checkbox-container .check {
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border-radius: 100px;
    background-color: #fff;
    border: 2px solid #e4003a;
    box-shadow: 0px 0px 0px 0px #e4003a inset;
    transition: all 0.15s cubic-bezier(0, 1.05, 0.72, 1.07);
}

.quiz-contact-form .checkbox-container .check::after {
    content: '\F12C';
    font: normal normal normal 13px/1 "Material Design Icons";
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 4;
    transition: all 0.25s cubic-bezier(0, 1.05, 0.72, 1.07);
    display: flex;
    align-items: center;
    justify-content: center
}

.quiz-contact-form .btn {margin: 26px 0 20px}


/*--------------------------------------------------------------
Scores
--------------------------------------------------------------*/
.quiz-scores{
    width: 100%;
    min-height: 100%;
    background: #0a4b9e;
    display: flex;
    align-items: center;
    justify-content: center
}

.quiz-scores-wrapper{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    width: 100%;
    height: 80%;
    padding: 40px 20px
}

.quiz-scores-wrapper > img{max-width: 50%}

.quiz-scores-content{
    text-align: center;
    margin: 60px 0
}

.quiz-scores-content h1{
    font-weight: 700;
    font-size: 50px;
    margin-bottom: 20px
}

.quiz-scores-content p{
    font-weight: 400;
    font-size: 22px;
    margin-top: 12px
}

.quiz-scores-buttons{
    width: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column
}

.quiz-scores-buttons button:first-child{margin-bottom: 20px}
.quiz-scores-buttons img{height: 20px}



@media screen and (max-width: 750px){
    .btn{
        width: 400px;
        height: 50px
    }

    .btn > span{font-size: 18px}

    .page-content{
        width: 100%;
        box-shadow: none
    }

    /* HOME PAGE */ 
    .logo img{height: 85px}
    .home-page-wrapper{
        padding: 30px 0;
        height: auto
    }

    .home-page-content{margin: 50px 0}
    .home-page-content h1{font-size: 35px}
    .home-page-content p{font-size: 30px}

    /* QUIZ */
    .quiz-top img{margin-top: 0}
    .quiz-top-header{margin-top: 30px}

    .quiz-top-question{margin-top: 50px}
    .quiz-top-question p{font-size: 27px}

    label.radio{width: 90%}
    label.radio span{font-size: 16px}

    .progress{
        width: 100px;
        height: 100px
    }

    .quiz-contact-form form{width: 80%}
    .quiz-contact-form .quiz-top-question{margin-top: 60px}

    .quiz-scores-content{margin: 45px 0}
    .quiz-scores-content h1{font-size: 45px}
}


@media only screen and (max-device-width: 499px){
    .page-content, .quiz-top{width: 100%}

    .logo img{height: 80px}
    .btn{width: 80%}
    .btn > span{font-size: 16px}

    .home-page{background-size: contain}
    .home-page-content h1{font-size: 35px}
    .home-page-content p{
        font-size: 30px;
        margin-top: 35px
    }

    .quiz-top img{display: none}
    .quiz-top-wrapper{
        position: relative;
        background-image:url('../images/bg_pytanie_mobile.png');
        background-size: contain
    }

    .quiz-top-header{margin-top: 40px}
    .quiz-top-question{margin-top: 35px}

    .quiz-contact-form .quiz-top-wrapper{background-image:url('../images/bg_formularz_mobile.png')!important}

    .quiz-top-header h1, .quiz-top-question p{font-size: 20px}
    .quiz-top-header div > *{font-size: 17px}

    label.radio span{font-size: 14px}

    .quiz-contact-form .quiz-top-question{margin: 55px 0 0 }
    .quiz-contact-form .quiz-top-question > span{font-size: 15px}

    .quiz-contact-form .input-container input{
        padding: 16px 0;
        font-size: 14px
    }

    .quiz-contact-form .input-container input:focus{padding-bottom: 16px}
    .quiz-contact-form .input-container span{display: none}

    .quiz-scores-buttons > *{width: 100%}
    .quiz-scores-buttons span{font-size: 15px}
    .quiz-scores-buttons .btn-share-quiz span{margin-left: 30px}

    .quiz-scores-content h1{font-size: 33px}
    .quiz-scores-content p{
        font-size: 18px;
        margin-top: 8px
    }
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    img {max-height: 100%}
    .page{height: 100%}
}
