@import "https://fonts.googleapis.com/css?family=Roboto:300,400,700";
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:focus {
    outline: 0;
}

img {
    border: none;
    display: block;
}

ol,
ul {
    list-style: none;
}

iframe {
    border: none !important;
    width: 0 !important;
    height: 0 !important;
}

a {
    text-decoration: none;
    cursor: pointer !important;
}

html {
    font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: roboto, Arial, sans-serif;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.3;
    background: #fff;
    color: #7b7b7e;
}

.wrapper {
    min-height: 400px;
    min-width: 760px;
    overflow: hidden;
}

.center {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 100vh;
    max-width: 1280px;
    margin: 0 auto;
}

.toggleDirection .center {
    flex-direction: row-reverse;
}

.content-block {
    position: relative;
    z-index: 2;
    flex-grow: 1;
}

.shapes-block {
    position: absolute;
    z-index: 3;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 30rem;
    height: 70rem;
    pointer-events: none;
}

.wrapper:not(.toggleDirection) .shapes-block {
    left: 0;
}

.toggleDirection .shapes-block {
    right: 6.5rem;
}

.reverseAnim .shapes-block {
    -webkit-animation: fadeOut 1s both;
    animation: fadeOut 1s both;
}

.shape-item {
    display: inline-block;
    position: absolute;
    top: 0%;
    width: 100%;
    height: 100%;
}

.shape-item .shape {
    position: absolute;
    width: 8rem;
    height: 8rem;
    margin: -4rem 0 0 -4rem;
    background: url(shapes.png) 0 0 no-repeat;
    background-size: 48rem 8rem;
    top: 50%;
    left: 50%;
    -webkit-transform: translateX(-15rem);
    transform: translateX(-15rem);
    will-change: transform;
}

.shape-item-2 {
    height: 50%;
    -webkit-transform: rotateZ(-30deg);
    transform: rotateZ(-30deg);
}

.shape-item-3 {
    -webkit-transform: rotateZ(30deg);
    transform: rotateZ(30deg);
}

.shape-item-4 {
    height: 45%;
    -webkit-transform: rotateZ(-50deg);
    transform: rotateZ(-50deg);
}

.shape-item-5 {
    -webkit-transform: rotateZ(50deg);
    transform: rotateZ(50deg);
}

.shape-item-6 {
    height: 40%;
    -webkit-transform: rotateZ(60deg);
    transform: rotateZ(60deg);
}

.shape-item-1 .shape {
    background-position: 0 0;
    -webkit-animation: movingShape 12s 0s linear infinite;
    animation: movingShape 12s linear 0s infinite;
}

.shape-item-2 .shape {
    background-position: -8rem 0;
    -webkit-animation: movingShape 8s 0s linear infinite;
    animation: movingShape 8s 0s linear infinite;
}

.shape-item-3 .shape {
    background-position: -16rem 0;
    -webkit-animation: movingShapeReverce 10s 0s linear infinite;
    animation: movingShapeReverce 10s 0s linear infinite;
}

.shape-item-4 .shape {
    background-position: -24rem 0;
    -webkit-animation: movingShapeReverce 20s 0s linear infinite;
    animation: movingShapeReverce 20s 0s linear infinite;
}

.shape-item-5 .shape {
    background-position: -32rem 0;
    -webkit-animation: movingShapeReverce 16s 0s linear infinite;
    animation: movingShapeReverce 16s 0s linear infinite;
}

.shape-item-6 .shape {
    background-position: -40rem 0;
    -webkit-animation: movingShapeReverce 14s 0s linear infinite;
    animation: movingShapeReverce 14s 0s linear infinite;
}

.step-block {
    position: relative;
    z-index: 4;
    padding: 2.5rem;
    padding-left: 15rem;
}

.step-item {
    display: none;
}

.step-item.visible {
    display: block;
}

.step-header,
.step-inner,
.buttons-block {
    -webkit-animation: zoomIn .5s both;
    animation: zoomIn .5s both;
}

.step-header {
    font-weight: 700;
    margin: 0 0 3rem;
    text-transform: uppercase;
    line-height: 1.2;
    font-size: 4.4rem;
    color: #000;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

.step-header span {
    display: block;
}

.step-inner {
    margin: 0 0 3rem;
    font-size: 2.5rem;
}

.step-inner,
.buttons-block {
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
}

.reverseAnim .step-header,
.reverseAnim .step-inner,
.reverseAnim .buttons-block {
    -webkit-animation-name: fadeOut;
    -webkit-animation-delay: 0s;
    animation-name: fadeOut;
    animation-delay: 0s;
}

.question-notice {
    text-transform: uppercase;
    font-size: 1.8rem;
    color: #666;
    margin-bottom: 1.5rem;
}

.checkbox-block {
    max-width: 450px;
    margin: 0 0 2rem;
}

.checkbox-item {
    position: relative;
    padding: 1rem 1rem 1rem 5rem;
    text-align: left;
    line-height: 2.5rem;
    cursor: pointer;
    transition: all .3s linear;
}

.checkbox-item-error {
    background-color: #ffccd6
}

.checkbox-item:before {
    content: "";
    position: absolute;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 5px;
    border: 3px solid #3b78d2;
    color: #7b7b7e;
    top: .7rem;
    left: .5rem;
    z-index: 1;
    line-height: 2.2rem;
    font-weight: 700;
    font-size: 2rem;
    text-align: center;
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
    background-color: #fff;
}

.checkbox-item.checked:before {
    background-color: #3b78d2;
}

.checkbox-block.two-cols {
    display: flex;
    flex-wrap: wrap;
}

.two-cols .checkbox-item {
    width: 50%;
}

.buttons-block {
    display: flex;
}

.step-btn {
    display: block;
    min-width: 15.5rem;
    height: 5.2rem;
    line-height: 5.2rem;
    padding: 0 2rem;
    cursor: pointer;
    transition: all .3s linear;
    border-radius: 2.6rem;
    background-color: #ff3c4d;
    box-shadow: 0 .8rem .6rem rgba(255, 60, 77, .24);
    text-transform: uppercase;
    text-align: center;
    font-size: 2rem;
    font-weight: 300;
    color: #fff;
}

.step-btn:hover {
    background: #ff5664;
}

.step-btn:active {
    background: #b52b37;
}

.yes-btn,
.no-btn {
    width: 25%;
}

.no-btn {
    margin-left: 2rem;
    background-color: #fdf4f5;
    color: #ff3c4d;
}

.no-btn:hover {
    background: #fff;
}

.no-btn:active {
    background: #f3c0c6;
}

.submit-btn {
    text-transform: uppercase;
}

.slider-block {
    position: relative;
    flex-shrink: 0;
    width: 68rem;
    height: 75.2rem;
}

.slider-item {
    width: 83rem;
    height: 100%;
    position: absolute;
    top: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 0;
    will-change: transform;
}

.slider-item.active {
    opacity: 1;
}

.slider-item.item-1.preload {
    background-image: url(photo11.jpg);
}

.slider-item.item-2.preload {
    background-image: url(photo12.jpg);
}

.slider-item.item-3.preload {
    background-image: url(photo13.jpg);
}

.slider-item.item-4.preload {
    background-image: url(photo14.jpg);
}

.slider-item.item-5.preload {
    background-image: url(photo15.jpg);
}

.slider-item.item-6.preload {
    background-image: url(photo16.jpg);
}

.slider-item.item-7.preload {
    background-image: url(photo17.jpg);
}

.wrapper:not(.toggleDirection) .slider-item {
    left: 0;
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
    -webkit-animation: slide-inRightToLeft .5s forwards;
    animation: slide-inRightToLeft .5s forwards;
}

.wrapper:not(.toggleDirection).reverseAnim .slider-item {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
    -webkit-animation: slide-outRightToLeft .5s forwards;
    animation: slide-outRightToLeft .5s forwards;
}

.toggleDirection .slider-item {
    right: 0;
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
    -webkit-animation: slide-inRightToLeft .5s forwards;
    animation: slide-inRightToLeft .5s forwards;
}

.toggleDirection.reverseAnim .slider-item {
    -webkit-transform: translateX(200%);
    transform: translateX(200%);
    -webkit-animation: slide-outLeftToRight .5s forwards;
    animation: slide-outLeftToRight .5s forwards;
}

@-webkit-keyframes fadeOut {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@keyframes fadeOut {
    0% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

@-webkit-keyframes movingShape {
    from {
        -webkit-transform: rotate(0deg) translate(-350%) rotate(0)
    }
    to {
        -webkit-transform: rotate(360deg) translate(-350%) rotate(-360deg)
    }
}

@keyframes movingShape {
    from {
        transform: rotate(0deg) translate(-350%) rotate(0)
    }
    to {
        transform: rotate(360deg) translate(-350%) rotate(-360deg)
    }
}

@-webkit-keyframes movingShapeReverce {
    from {
        -webkit-transform: rotate(0deg) translateX(-350%) rotate(0)
    }
    to {
        -webkit-transform: rotate(-360deg) translateX(-350%) rotate(360deg)
    }
}

@keyframes movingShapeReverce {
    from {
        transform: rotate(0deg) translateX(-350%) rotate(0)
    }
    to {
        transform: rotate(-360deg) translateX(-350%) rotate(360deg)
    }
}

@-webkit-keyframes zoomIn {
    0% {
        opacity: 0;
        -webkit-transform: scale(.3)
    }
    50% {
        opacity: 1
    }
}

@keyframes zoomIn {
    0% {
        opacity: 0;
        transform: scale(.3)
    }
    50% {
        opacity: 1
    }
}

@-webkit-keyframes slide-inRightToLeft {
    0 {
        -webkit-transform: translateX(200%)
    }
    100% {
        -webkit-transform: translateX(0%)
    }
}

@keyframes slide-inRightToLeft {
    0 {
        transform: translateX(200%)
    }
    100% {
        transform: translateX(0%)
    }
}

@-webkit-keyframes slide-outRightToLeft {
    0% {
        -webkit-transform: translateX(0%)
    }
    100% {
        -webkit-transform: translateX(200%)
    }
}

@keyframes slide-outRightToLeft {
    0% {
        transform: translateX(0%)
    }
    100% {
        transform: translateX(200%)
    }
}

@-webkit-keyframes slide-outLeftToRight {
    0% {
        -webkit-transform: translateX(0%)
    }
    100% {
        -webkit-transform: translateX(-200%)
    }
}

@keyframes slide-outLeftToRight {
    0% {
        transform: translateX(0%)
    }
    100% {
        transform: translateX(-200%)
    }
}

/* Smaller Desktop */

@media screen and (min-width: 1024px) and (max-width:1600px) {
    html {
        font-size: 55%;
    }
    .step-header {
        font-size: 4rem;
    }
    .step-block {
        min-width: 360px;
        padding: 2rem;
    }
    .small-padding-left {
        margin-left: 10%;
    }
    .small-padding-right {
        margin-right: 15%;
    }
}

/* iPad */

@media all and (device-width: 768px) and (device-height: 1024px) {
    html {
        font-size: 48%
    }
    .wrapper {
        min-width: 0;
    }
    .center {
        flex-direction: column-reverse !important;
        justify-content: flex-end;
        align-items: stretch;
        padding: 2rem 0 0;
    }
    .content-block {
        position: static;
    }
    .shapes-block {
        overflow: hidden;
        width: 100%;
        height: 100%;
        left: 0;
        right: 0;
    }
    .step-block {
        min-width: 0;
        padding: 2.5rem;
    }
    .step-header {
        margin: 0 0 2rem;
        font-size: 3rem;
        text-align: center;
    }
    .question-notice {
        text-align: center;
    }
    .slider-block {
        width: 83vw;
        height: 75vw;
        margin: 0 auto;
        margin-top: 15%;
    }
    .slider-item {
        width: 100%;
        height: 100%;
    }
    .yes-btn,
    .no-btn,
    .step-btn {
        width: 100%;
    }
    .checkbox-block {
        display: flex;
        flex-wrap: wrap;
        font-size: 15px;
    }
    .checkbox-item {
        flex: 0 1 50%
    }
    .step-inner {
        font-size: 3rem;
        text-align: center;
    }
}

@media only screen and (min-width: 481px) and (max-width: 1366px) and (orientation:portrait) {
    html {
        font-size: 60%
    }
    .wrapper {
        min-width: 0;
    }
    .center {
        flex-direction: column-reverse !important;
        justify-content: flex-end;
        align-items: stretch;
        padding: 2rem 0 0;
    }
    .content-block {
        position: static;
    }
    .shapes-block {
        overflow: hidden;
        width: 100%;
        height: 100%;
        left: 0;
        right: 0;
    }
    .step-block {
        min-width: 0;
        padding-left: 0;
    }
    .step-header {
        margin: 0 0 2rem;
        font-size: 3rem;
        text-align: center;
    }
    .question-notice {
        text-align: center;
    }
    .slider-block {
        width: 83vw;
        height: 75vw;
        margin: 0 auto;
        margin-top: 15%;
    }
    .slider-item {
        width: 100%;
        height: 100%;
    }
    .yes-btn,
    .no-btn,
    .step-btn {
        width: 100%;
    }
    .checkbox-block {
        display: flex;
        flex-wrap: wrap;
        font-size: 15px;
    }
    .checkbox-item {
        flex: 0 1 50%
    }
    .step-inner {
        font-size: 3rem;
        text-align: center;
    }
    .small-padding-left {
        padding-left: 5%;
        margin-left: 0;
    }
    .small-padding-right {
        padding-left: 5%;
        margin-right: 0;
    }
}

@media only screen and (min-width: 481px) and (max-width: 768px) and (orientation:landscape) {
    html {
        font-size: 48%
    }
    .wrapper {
        min-width: 0;
    }
    .step-block {
        min-width: 0;
        padding: 2.5rem;
    }
    .item-1 {
        margin-left: -7%;
    }
    .item-2 {
        margin-right: -10%;
    }
    .item-3 {
        margin-left: -7%;
    }
}

/*Mobile Query*/

@media only screen and (max-width: 480px) {
    html {
        font-size: 48%
    }
    .wrapper {
        min-width: 0;
    }
    .center {
        flex-direction: column-reverse !important;
        justify-content: flex-end;
        align-items: stretch;
        padding: 2rem 0 0;
    }
    .content-block {
        position: static;
    }
    .shapes-block {
        overflow: hidden;
        width: 100%;
        height: 100%;
        left: 0;
        right: 0;
    }
    .step-block {
        min-width: 0;
        padding: 2.5rem;
    }
    .step-header {
        margin: 0 0 2rem;
        font-size: 3rem;
        text-align: center;
    }
    .question-notice {
        text-align: center;
    }
    .slider-block {
        width: 83vw;
        height: 75vw;
        margin: 0 auto;
        margin-top: 15%;
    }
    .slider-item {
        width: 100%;
        height: 100%;
    }
    .yes-btn,
    .no-btn,
    .step-btn {
        width: 100%;
    }
    .checkbox-block {
        display: flex;
        flex-wrap: wrap;
        font-size: 15px;
    }
    .checkbox-item {
        flex: 0 1 50%
    }
    .step-inner {
        font-size: 3rem;
        text-align: center;
    }
}