html, body {
    overflow: initial;
}


.process-continue .step-click:not(:last-child) .step-num {
    background: #d3e5f4;
} 


.process-continue .step-click:after {
    background: #d3e5f4 !important;
} 


.process-continue .step-click:not(:last-child) .step-name {
    opacity: .2
}

.process-continue .step-click:not(:last-child),
.process-continue .step-click:last-child:after {
    pointer-events: none;
}

#applySteps {
    min-height: 100vh;
}

/*
SETUP
--------------------------------------------------------------------------------------------- */

/*
Definitions
--------------------------------------------------- */v

.apply-steps_outer {
    width: 350px;
}

.apply-steps_outer .sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 125px;
}

.apply-info_outer {
    width: calc(100% - 350px);
}

.apply-info {
    display: none;
}

.apply-info.step-1 {
    display: block;
}

.parent .apply-margin,
.apply-margin {
    margin-bottom: 80px;
}

/*
NEXT STEP
--------------------------------------------------- */

.apply-next-click2 {
    cursor: pointer;
    padding: 30px 50px;
    border-radius: 12px;
    overflow: hidden;
}

.apply-next-click2 .bg {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}

.apply-next-click .content .icon-wrap svg {
    position: absolute;
    top: 50%;
    right: 0;
    height: 50px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.apply-next-click .content h4,
.apply-next-click .content h5 {
    position: relative;
    white-space: nowrap;
    text-overflow: ellipsis;
    padding-right: 70px;
    overflow: hidden;
}

#formSubmit.apply-next-click2 .bg,
.apply-next-click2.click-enable .bg {
    -webkit-filter: grayscale(0%);
    filter: grayscale(0%);
}

.apply-next-click2.click-enable:hover .bg {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

/*
AJAX ERROR
--------------------------------------------------- */

.popup-message {
    position: fixed;
    bottom: 0;
    left: 30px;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    background: #2b2a2a;
    width: 600px;
    padding: 15px 20px;
    box-shadow: 0 0 3px -1px rgba(255,255,255,.3);
    font-size: 14px;
    animation: popUpMessage .25s ease forwards;
    z-index: 1000;
    max-width: calc(100vw - 60px);
}

.popup-message .icon {
    width: 40px;
    margin-right: 10px;
    color: #f00;
}

.popup-message .icon svg {
    display: block;
}

@keyframes popUpMessage {
    0% {
        bottom: 0;
        transform: translateY(100%);
    }
    100% {
        bottom: 30px;
        transform: translateY(0%);
    }
}

@-webkit-keyframes popUpMessage {
    0% {
        bottom: 0;
        -webkit-transform: translateY(100%);
    }
    100% {
        bottom: 30px;
        -webkit-transform: translateY(0%);
    }
}

/*
Loading Box
--------------------------------------------------- */

.loading-box svg {
    display: block;
    height: 60px;
    margin: 0 auto 30px;
}

/*.loading-box .loading-text {
    animation: fading 1.8s ease-in-out infinite;
}

@keyframes fading{
    0%,100% {
        opacity: 1
    }
    50%{
        opacity: .4
    }
}

/*
Animation
--------------------------------------------------- */

.apply-anim {
    position: relative;
    top: 50px;
    opacity: 0;
    visibility: hidden;
    transition: all .4s ease-out;
}

.shown .apply-anim {
    top: 0;
    opacity: 1;
    visibility: visible;
}

/*
INTRODUCTION
--------------------------------------------------------------------------------------------- */

.application-cta {
    padding: 30px;
    background: #0081c9;
    cursor: pointer;
    -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.61, 1.8, 0.89, 1.62),background-color 0.12s ease-out;
    transition: transform 0.2s cubic-bezier(0.61, 1.8, 0.89, 1.62),background-color 0.12s ease-out;
    border-radius: 20px;
}

.application-cta:not(.application-cta-big):hover {
    -webkit-transform: scale(1.06);
    transform: scale(1.06);
}

.application-cta .button {
    display: inline-block;
    max-width: 100%;
    border: solid 1px #fff;
    font-size: 14px;
}

.application-cta .button:hover {
    background-color: #fff;
    color: #0081c9 !important;
}

/*
Big
--------------------------------------------------- */

.application-cta-big {
    padding: 140px 0;
    margin-bottom: -72px;
    border-radius: 0;
}

.application-cta-big:before {
    z-index: 10;
    top: 0;
    border-bottom: none;
    border-top: solid 72px #fff;
}

.application-cta-big .parent:before {
    content: '';
    position: absolute;
    top: 0;
    right: 25%;
    bottom: 0;
    left: 0;
    background: #000000;
    background: -moz-linear-gradient(left, #000000 0%, rgba( 0, 0, 0, 0 ) 100%);
    background: -webkit-linear-gradient(left, #000000 0%, rgba( 0, 0, 0, 0 ) 100%);
    background: linear-gradient(to right, #000000 0%, rgba( 0, 0, 0, 0 ) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='transparent',GradientType=1 );
    z-index: 2;
}

/*
Extras
--------------------------------------------------- */

.apply-initial .apply-extra-toggle {
    position: relative;
    padding: 0;
    border-radius: 8px;
    border: solid 1px #efefef;
    overflow: hidden;
}

.apply-initial .apply-extra-toggle .content {
    padding: 12px;
}

.apply-initial .apply-extra-toggle .content h5 {
    position: relative;
    padding-right: 20px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.apply-initial .apply-extra-toggle .content svg {
    position: absolute;
    bottom: 15px;
    right: 12px;
    height: 20px;
    color: #0081c9;
}

/*
Videos
--------------------------------------------------- */

/*
Quick Slide */

.videos__wrap .icon-anim {
    position: absolute;
    transform: rotate(-90deg) translateY(-0%);
    transform-origin: bottom left;
    margin: 0;
    bottom: 0;
    left: 0;
    padding: 15px 7px;
    cursor: pointer;
}

.videos__wrap .icon-anim svg {
    height: 30px;
    color: rgba(0, 173, 165, 1);
}

.videos__wrap .icon-anim .icon-wrap {
    position: relative;
    display: block;
    animation: fadeInDown 2s ease infinite;
}
         
@keyframes fadeInDown {
   0% {
      opacity: 0;
      transform: translateX(50px);
   }
   60% {
      opacity: 1;
      transform: translateX(0);
   }
   100% {
      opacity: 1;
      transform: translateX(0);
   }
}

/*
Toggles */

.video-toggles {
    position: relative;
    margin: 0 -5px;
}

.video-toggles .video-toggle-item {
    position: relative;
    padding-top: 200px;
    width: 25%;
    float: left;
    cursor: pointer;
    overflow: hidden;
    border: solid 5px #fff;
    border-width: 0 5px;
}

.video-toggles .video-toggle-item:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,.3);
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
}

/* Name */

.video-toggles .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80%;
    font-family: korolev, sans-serif;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.video-toggles .name {
    color: #fff;
    text-align: center;
    /*-webkit-transform: translateX(-100%);
    transform: translateX(-100%);*/
    padding: 2px 12px;
    width: 100%;
    font-size: 22px;
}

.video-toggles .active .name {
    background: rgba(0, 173, 165, 1);
}

/* Play Icon */

.video-toggles .svg-circle {
    display: none !important;
}

.video-toggles .play-icon-wrap {
    justify-content: center;
}

.video-toggles .play-icon {
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
}

.video-toggles .play-icon svg {
    display: block;
    width: 20px;
    height: 20px;
    color: #fff;
    margin: 0 auto 10px;
    padding: 0;
}

.video-toggles .active:before,
.video-toggles .active .play-icon {
    display: none;
}

/*
Video Items
-------------------------------------------------- *

.video-items .toggle-play-video {
    cursor: pointer;
    z-index: 2
}

.video-items .play-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120px;
    height: 120px;
    margin: -60px 0 0 -60px;
    background: rgba(0, 173, 165, .8);
    color: #fff;
    border-radius: 50%;
    z-index: 2;
    cursor: pointer;
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
}

.video-items .play-video:before {
    content: '';
    position: absolute;
    top: -8px;
    right: -8px;
    bottom: -8px;
    left: -8px;
    border: solid 2px rgba(0, 173, 165, 1);
    border-radius: 50%;
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
}

.video-items .play-video svg {
    display: block;
    width: 120px;
    height: 120px;
    padding: 40px;
    margin: auto;
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
}

.video-items video {
    display: block;
    width: 100%;
    height: auto;
    outline: none !important;
}

.video-items .toggle-play-video:hover .play-video {
    width: 100px;
    height: 100px;
    margin: -50px 0 0 -50px;
}

.video-items .toggle-play-video:hover .play-video:before {
    top: -23px;
    right: -23px;
    bottom: -23px;
    left: -23px;
}

.video-items .toggle-play-video:hover .play-video svg {
    width: 100px;
    height: 100px;
    padding: 30px;
}

.video-items .toggle-play-video.playing .play-video {
    -webkit-transform: scale(0);
    transform: scale(0);
}

.video-items .toggle-play-video.playing {
    visibility: hidden;
    transition-delay: .6s;
}

/*
AGE MODAL
--------------------------------------------------------------------------------------------- */

.step-age {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1000;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    opacity: 0;
    visibility: hidden;
}

.step-age .bg {
    background: rgba(0,0,0,.75);
}

.step-age.showing {
    opacity: 1;
    visibility: visible;
}

.step-age .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 800px;
    max-width: 90%;
    background: #fff;
    padding: 40px;
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    -webkit-transition: transform 0.4s cubic-bezier(0.61, 1.3, 0.89, 1.2),background-color 0.12s ease-out;
    transition: transform 0.4s cubic-bezier(0.61, 1.3, 0.89, 1.2),background-color 0.12s ease-out;
    overflow: hidden;
}

.step-age.showing .inner {
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
}

/*
Default Input */

.step-age label {
    display: block;
    font-family: 'Montserrat', sans-serif;
    text-transform: uppercase;
    color: #3c3c3b;
    font-weight: 500;
    letter-spacing: 2.4px;
    margin-bottom: 10px;
}

.step-age .flex > div {
    margin-right: 20px;
}

.step-age input[type="number"] {
    background: transparent;
    border: solid 1px #ccc;
    border-radius: 40px;
    line-height: 46px;
    height: 48px;
    padding: 0 20px;
    width: 100px;
    text-align: center;
    /*line-height: 40px;
    color: #0081c9;*/
}

.step-age input:focus {
    outline: none;
}

/* Chrome, Safari, Edge, Opera */
.step-age input::-webkit-outer-spin-button,
.step-age input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
.step-age input[type=number] {
  -moz-appearance: textfield;
}

/*
Over 18 Input */

.step-age .over-18 {
    cursor: pointer;
    font-family: 'Open Sans', sans-serif;
    font-size: 13px;
    color: #878787;
    letter-spacing: .6px;
    margin-top: 15px;
    text-transform: none;
}

.over-18 {
    position: relative;
    padding-left: 35px;
}

.over-18 input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}


/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 23px;
    width: 23px;
    background-color: #d2d1d1;
    border-radius: 2px;
}

/* On mouse-over, add a grey background color */
.over-18:hover input ~ .checkmark {
    background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.over-18 input:checked ~ .checkmark {
    background-color: #0081c9;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark svg {
    position: absolute;
    display: none;
    color: #fff;
    left: 3.5px;
}

/* Show the checkmark when checked */
.over-18 input:checked ~ .checkmark svg {
    display: block;
}

/*
Loader Bar */

.step-age .bar {
    width: 100%;
    position: absolute;
    height: 5px;
    bottom: 0;
    left: -100%;
    background-color: #0081c9;
}

.step-age.loading .bar {
    animation: loader-animation 2.4s ease-in-out infinite;
}

@keyframes loader-animation {
    0% {
        left: -100%;
    }
    49% {
        left: 100%;
    }
    50% {
        left: 100%;
    }
    100% {
        left: -100%;
    }
}

/*
STEPS
--------------------------------------------------------------------------------------------- */

/*
Setup
--------------------------------------------------- */

.step-click {
    position: relative;
    margin-bottom: 30px;
}

.step-click:not(:first-of-type):before,
.step-click:not(:first-of-type):after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 19px;
    width: 2px;
    height: 30px;
    background: #f4f4f4;
}

.step-click:not(:first-of-type):after {
    top: -30px;
    height: 0;
    background: #0081c9;
    -webkit-transition: all .8s linear;
    transition: all .8s linear;
}

/*
Numbers
--------------------------------------------------- */

.step-num {
    width: 40px;
    line-height: 40px;
    background: #f4f4f4;
    color: #878787;
    border-radius: 50%;
    margin-right: 15px;
    font-family: 'Montserrat', sans-serif;
}

/*
Active
--------------------------------------------------- */

.step-click.active {
    cursor: pointer;
}

.active .step-num {
    color: #fff;
    background: #0081c9;
    transition-delay: .8s;
}

.step-click.active:not(:first-of-type):after {
    height: 30px;
}

/*
PREV NEXT STEPS
--------------------------------------------------------------------------------------------- */

.apply-next-prev {
    background: #f4f4f4;
    border: solid 1px #ccc;
}

.apply-next-prev:after {
    content: '';
    display: table;
    clear: both;
}

.apply-next-prev > div {
    padding: 10px 30px;
    cursor: pointer;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

.apply-next-prev > div.disabled {
    opacity: 0;
    visibility: hidden;
}

.apply-prev-click {
    border-right: solid 1px #ccc;
}

.apply-next-prev > div:not(.disabled):hover {
    background: #0081c9;
    color: #fff;
}

/*
STEP 2 ( GENRE NEW )
--------------------------------------------------------------------------------------------- */

/*
Sixth Form
--------------------------------------------------- */

.genre-sixth-form {
    background: #6f2c91;
    padding: 50px 30px;
    margin-top: 50px;
}

/*
Active
--------------------------------------------------- */

.apply-genre-item.initial-item {
    position: relative;
    padding-top: 75%;
    cursor: pointer;
    overflow: hidden;
    border-radius: 20px;
}

.col-md-6 .apply-genre-item.initial-item {
    padding-top: 47.5%;
}

.apply-genre-item.initial-item .bg {
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
}

.apply-genre-item.initial-item h3 {
    position: absolute;
    width: 95%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #fff;
}

.apply-genre-item.initial-item .bg:after {
    content: '';
    background: rgba(0,0,0,.3);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.apply-genre-item.initial-item.checked .bg,
.apply-genre-item.initial-item:hover .bg {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

/*
Tick */

.apply-genre-item.initial-item .tick {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100px;
    height: 100px;
    margin: -50px 0 0 -50px;
}

.apply-genre-item.initial-item .svg-circle {
    display: block;
    width: 100%;
    height: auto;
}

.apply-genre-item.initial-item circle {
    stroke: #fff;
    stroke-width: 1px;
    fill: none;
    stroke-dasharray: 70;
    stroke-dashoffset: 70;
}

.apply-genre-item.initial-item .icon-check {
    position: absolute;
    display: block;
    margin: 0 auto;
    height: 100px;
    padding: 20px 0;
    left: 50%;
    -webkit-transform: translateX(-50%) scale(0);
    transform: translateX(-50%) scale(0);
    color: #fff;
}

/*
Checked */

.apply-genre-item .bg:after {
    transition: all .6s ease;
}

.apply-genre-item .icon-check {
    -webkit-transition: -webkit-transform 0.22s cubic-bezier(0.61, 1.8, 0.89, 1.62);
    transition: transform 0.22s cubic-bezier(0.61, 1.8, 0.89, 1.62);
}

.apply-genre-item h3,
.apply-genre-item circle {
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.apply-genre-item.checked .bg:after {
    background: rgba(0, 129, 201, .6);
}

.apply-genre-item.checked h3 {
    padding-top: 30px;
    opacity: 0;
}

.apply-genre-item.checked .tick circle {
    stroke-dashoffset: 0;
    transition-delay: .3s;
}

.apply-genre-item.checked .icon-check {
    -webkit-transform: translateX(-50%) scale(1);
    transform: translateX(-50%) scale(1);
    transition-delay: .6s;
}

/*
.apply-genre-item.initial-item .tick span:nth-of-type(1) {
    position: absolute;
    background: #fff;
    bottom: 25%;
    left: 25%;
    width: 20px;
    height: 2.5px;
    transform: rotate(40deg);
}

.apply-genre-item.initial-item .tick span:nth-of-type(2) {
    position: absolute;
    background: #fff;
    bottom: 38.5%;
    left: 34%;
    width: 60px;
    height: 2.5px;
    transform: rotate(-40deg);
}

/*
Main items
--------------------------------------------------- */

.apply-genre-vid video {
    display: block;
    width: 100%;
}

/*
Team */

.genre-main-item .team-loop_item {
    margin-bottom: 60px !important;
}

@media ( min-width: 992px ) {
    .genre-main-item .single-teacher .team-loop_item {
        width: 100% !important;
        margin-bottom: 0 !important;
    }
}

.genre-main-item .team-loop_item a {
    pointer-events: none;
}

.genre-main-item .team-loop_item .image {
    margin-bottom: 0;
}

.genre-main-item .team-loop_item .image img {
    height: auto;
}

.genre-main-item .team-loop_item .content {
    background: #0081c9;
    padding: 20px 10px;
}

.genre-main-item .team-loop_item .jt {
    font-size: 12px;
    color: #eee;
}

.genre-main-item .team-loop_item h4 {
    font-size: 16px;
    color: #fff;
}

.genre-main-item .team-wrap .v_arrow {
    top: auto;
    bottom: -00px;
    background: transparent;
    color: #0081c9;
    left: 0;
    margin: 0;
}

.genre-main-item .team-wrap .v_arrow.slide-right {
    left: auto;
    right: 0;
}

/*
Add Genre Button */

.button.add-genre {
    color: #6f2c91;
    background: transparent;
    border: solid 1px #6f2c91;
}

.checked .button.add-genre {
    background: #6f2c91;
    color: #fff;
}

/*
Carousel
--------------------------------------------------- */

.genre-carousel {
    border-top: solid 1px #eee;
}

.genre-carousel .genre-quick-select {
    cursor: pointer;
}

.genre-carousel .genre-quick-select.visited:not(.active) {
    opacity: .6;
}

.genre-carousel .image {
    padding-top: 40%;
}

.genre-carousel .content {
    padding: 10px;
}

/*
STEP 2 ( GENRE )
--------------------------------------------------------------------------------------------- *

.apply-genre {
    position: relative;
    overflow: hidden;
    margin-bottom: 80px;
}

.apply-genre_inner {
    position: relative;
    overflow: hidden;
}

/*
Image
--------------------------------------------------- */

.apply-genre_img_wrap {
    position: relative;
    padding-top: 40%;
    width: calc(100% - 400px);
    overflow: hidden;
}

.odd .apply-genre_img_wrap {
    order: 2;
}

.apply-genre_img,
.apply-video-play,
.apply-video-play .svg-wrap,
.apply-video-play .svg-wrap:after,
.apply-video-play svg {
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
}

.apply-video-play {
    cursor: pointer;
    opacity: .675;
}

.apply-video-play .svg-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100px;
    height: 100px;
    color: #0081c9;
    background: #0081c9;
    margin: -50px 0 0 -50px;
    border-radius: 50%;
}

.apply-video-play .svg-wrap:after {
    content: '';
    position: absolute;
    top: -7px;
    right: -7px;
    bottom: -7px;
    left: -7px;
    border: solid 1px currentColor;
    border-radius: 50%;
}

.apply-video-play svg {
    display: block;
    width: auto;
    height: 100px;
    padding: 30px 0;
    margin: 0px auto;
}

/*
Hover */

.apply-video-play:hover {
    opacity: 1;
}

.apply-video-play:hover .svg-wrap {
    height: 90px;
    width: 90px;
    margin: -45px 0 0 -45px;
}

.apply-video-play:hover .svg-wrap:after {
    top: -15px;
    right: -15px;
    bottom: -15px;
    left: -15px;
}

.apply-video-play:hover svg {
    height: 90px;
    padding: 25px 0;
}

/*
Apply Button
--------------------------------------------------- */

.apply-button {
    cursor: pointer;
    display: inline-block;
    text-transform: uppercase;
    border: solid 1px #fff;
    border-radius: 20px;
    line-height: 30px;
    padding-right: 15px;
}

.apply-button span {
    display: inline-block;
    width: 30px;
    line-height: 30px;
    border: solid 1px #fff;
    border-left: none;
    text-align: center;
    border-radius: 50%;
    margin-right: 7.5px;
}

/*
STEP 3 ( CLASSES )
--------------------------------------------------------------------------------------------- */

.apply-class-item {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
}

.apply-class-item .featured-image {
    padding-top: 60%;
}

.apply-genre_inner {
    position: relative;
    overflow: hidden;
}

/*
Class Filter
--------------------------------------------------- */

.class-filter {
    display: inline-block;
    border-radius: 20px;
    padding: 0 16px;
    border: solid 1px #0081c9;
    color: #0081c9;
    margin-right: 10px;
    cursor: pointer;
    letter-spacing: 0.6px;
}

.class-filter.active {
    background: #0081c9;
    color: #fff;
}

/*#applyClasses.filtered-classes  .apply-anim {
    top: 50px !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

#applyClasses.show-filtered .apply-anim {
    top: 0 !important;
    opacity: 1 !important;
    visibility: visible!important;
}

/*.show-filtered .apply-class-item_wrap {
    top: 50px;
    opacity: 0;
    visibility: hidden;
}

/*
Class Loop
--------------------------------------------------- */

.apply-class-item .content {
    padding: 20px;
}

.apply-class-item h4 {
    margin-bottom: 10px;
}

.apply-class-item p {
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    height: 56px;
    max-height: 56px;
}

/*
Video Modal
--------------------------------------------------- */

.video-modal.showing {
    visibility: visible;
    opacity: 1;
}

.video-modal.showing video {
    transform: translate(-50%, -50%) scale(1)
}

.video-modal.showing .modal-bg {
    opacity: 1;
    visibility: visible;
}

/*
Extra Info
--------------------------------------------------- */

.close-info {
    position: absolute;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    left: -30px;
    line-height: 30px;
    -webkit-transform-origin: top right;
    transform-origin: top right;
    margin-bottom: 0;
    cursor: pointer;
    font-size: 12px;
}

.apply-classes-info {
    position: fixed;
    top: var(--headerHeight);
    right: 0;
    bottom: 0;
    left: 0;
    visibility: hidden;
    opacity: 0;
    z-index: 100;
}

.apply-classes-info.showing {
    opacity: 1;
    visibility: visible;
}

.apply-classes-info .bg {
    background: rgba(0,0,0,.65);
}

.apply-classes-info .inner {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    padding: 30px 60px;
    width: 950px;
    max-width: 100%;
    background: var(--purple);
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    overflow: auto;
}

.apply-classes-info .inner::-webkit-scrollbar {
    display: none;
}

.apply-classes-info.showing .inner {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    transition-delay: .4s;
}

/*
Class Loop
--------------------------------------------------- */

.gallery-wrap {
    margin-left: -60px;
    margin-right: -60px;
}

/*
Testimonials
--------------------------------------------------- */

.sidebar-testimonial .quote {
    font-style: italic;
}

.sidebar-testimonial .quote p:first-of-type:before,
.sidebar-testimonial .quote p:last-of-type:after {
    content: '"';
}

.sidebar-testimonial h5 {
    margin-bottom: 0;
}

.sidebar-testimonial:not(:last-child) {
    padding-bottom: 30px;
    border-bottom: solid 1px #fff;
}

/*
STEP 4 ( FORM )
--------------------------------------------------------------------------------------------- */

.apply-form-title {
    border-left: solid 2px;
    padding: 10px 0 10px 20px;
}

/*
REPEATER
--------------------------------------------------- */

.add {
    display: inline-block;
    text-decoration: none;
    font-size: 13px;
    line-height: 26px;
    height: 28px;
    margin: 0;
    padding: 0 10px 1px;
    cursor: pointer;
    border-width: 1px;
    border-style: solid;
    -webkit-appearance: none;
    border-radius: 3px;
    white-space: nowrap;
    box-sizing: border-box;
}

.add:hover {
    background: #878787;
    color: #fff;
}

.repeater {
	width: 700px;
	max-width: 100%;
}

.repeater > .row {
	margin-bottom: 16px;
}

.repeater input {
	height: 30px;
}

.repeater .remove {
	position: absolute;
	top: 50%;
	left: 15px;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	background: #f00;
	color: #fff;
	border-radius: 50%;
	line-height: 24px;
	width: 24px;
	text-align: center;
	cursor: pointer;
}

.repeater .remove:hover {
	opacity: .7;
}

/*
STEP 5 ( CALENDAR )
--------------------------------------------------------------------------------------------- */

.calendar-title {
    background: #6f2c91;
    justify-content: space-between;
    margin-bottom: 30px;
}

.calendar-title .month-trigger {
    width: 50px;
    height: 50px;
    background: rgba(0,0,0,.2);
    cursor: pointer;
}

.calendar-title .month-trigger svg {
    display: block;
    top: 0;
    height: 20px;
    margin: 15px auto;
}

/*
Calendar Head
--------------------------------------------------- */

.calendar th,
.calendar td {
    width: 14.2857143%;
}

.calendar th {
    font-weight: 600;
    border-bottom: solid 1px #ccc;
    padding-bottom: 20px;
}

.calendar-day {
    position: relative;
    height: 100px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.calendar-day.unavailable:not(.today) {
    opacity: .2;
    text-decoration: line-through;
}

.calendar-day.today .date {
    display: inline-block;
    background: #6f2c91;
    color: #fff;
    width: 30px;
    line-height: 30px;
    text-align: center;
    border-radius: 50%;
}

.calendar-day.available.hovering,
.calendar-day.available:not(.today):hover {
    background: rgba(111, 44, 145,.2);
    cursor: pointer;
}

/*
Month Loader
--------------------------------------------------- */

.calendar-loader {
    position: absolute;
    top: 50px;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(255,255,255,.3);
    z-index: 10;
}

.calendar-loader svg {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

/*
Appointment Times
--------------------------------------------------- */

#appointmentTimes {
    position: absolute;
    top: 0;
    right: 0;
    width: 25%;
    padding-left: 30px;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}

.appointment-slots_wrap:after {
    content: '';
    clear: both;
    display: table;
}

.appointment-slots_wrap p {
    clear: both;
    
}

.appointment-slot {
    display: block;
    text-align: center;
    padding: 12px 8px;
    border-radius: 26px;
    border: solid 1px #ccc;
    cursor: pointer;
}

.appointment-slot.selected {
    background: #ad208e;
    color: #fff;
    border-color: #ad208e;
}

.calendar-select-date svg {
    position: absolute;
    height: 40px;
    width: 40px;
    top: 4px;
    left: 240px;
}

/*
Clicked
--------------------------------------------------- */

#calendarOuter {
    position: relative;
    overflow: hidden;
}

#calendarWrap {
    width: 100%;
}

#calendarOuter.clicked {
    padding-bottom: 0;
}

#calendarOuter.clicked #calendarWrap {
    width: 75%;
}

#calendarOuter.clicked #appointmentTimes {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

/*
Booked message
--------------------------------------------------- */

.time-booked-message {
    display: block;
    margin: 80px 0 -30px;
    background: #f00;
    color: #fff;
    padding: 12px;
}

.time-booked-message svg {
    display: inline-block;
    height: 20px;
    position: relative;
    top: 4px;
}

/*
CONFIRMATION
--------------------------------------------------------------------------------------------- */

.confirm-contact-method {
    padding: 40px;
    border-radius: 20px;
    cursor: pointer;
    height: 100%;
}

.confirm-contact-method:hover {
    -webkit-transform: scale(1.06);
    transform: scale(1.06);
    color: #fff;
}

.confirm-contact-method .icon-wrap {
    display: block;
    width: 80px;
    max-width: none;
    margin: 0 auto 30px;
    border: solid 1px #fff;
    border-radius: 50%;
}

.confirm-contact-method .icon-wrap svg {
    display: block;
    height: 78px;
    padding: 19px 0;
}

/*
SUCCESS ICONS
--------------------------------------------------------------------------------------------- */

.success-icon {
    width: 140px;
    height: 140px;
    background: #0081c9;
    margin: 0 auto 30px;
    border-radius: 50%;
    color: #fff;
}

.success-icon svg {
    display: block;
    height: 140px;
    width: auto;
    padding: 30px 0;
    margin: 0 auto;
    top: 0;
}

.success-small-icons svg {
    display: block;
    color: #0081c9;
    height: 40px;
    top: 0;
    margin: 0 auto 30px !important;
}

.success-small-icons p {
    margin-top: -10px;
    font-family: 'Montserrat', sans-serif;
}

/*
EXTRAS
--------------------------------------------------------------------------------------------- */

.apply-extras .sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 75px;
}

.apply-extras h4 svg {
    display: none;
}

.online-school-bar .apply-extras .sticky {
    top: 115px;
}

.apply-extras .line {
    position: absolute;
    width: 2px;
    background: #6f2c91;
    height: 28px;
    left: 0;
    top: 0;
}

.txt-white .apply-extras .line {
    background: #fff;
}

.apply-extra-toggle {
    margin-bottom: 20px;
    padding-left: 20px;
    cursor: pointer;
}

.apply-extra-toggle.active {
    font-weight: 600;
}

/*
ADMIN
--------------------------------------------------------------------------------------------- */

/*
List Table
--------------------------------------------------- */

.apply-admin table {
    width: 100%;
}

.apply-admin table th {
    background: #0081c9;
    text-align: left;
    padding: 12px;
    font-weight: 500;
    color: #fff;
}

.apply-admin table td {
    padding: 12px;
}

.apply-admin table tr:nth-child(even) td {
    background: #f7f7f7;
}

.apply-admin table .actions span {
    margin: 0 6px;
}

.apply-admin table svg {
    height: 20px;
}

.apply-admin table .actions span:hover {
    cursor: pointer;
    color: #0081c9;
}

/*
List Table Search
--------------------------------------------------- */

.future-bookings-search .icon-wrap > svg {
    position: absolute;
    top: 14px;
    height: 20px;
    left: 15px;
}

#bookingSearch {
    display: block;
    padding: 0 16px 0 41px;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    line-height: 16px;
    color: #482B11;
    width: 400px;
    height: 48px;
    border: solid 1px #ccc;
    background: #fff;
    border-radius: 44px;
    outline: none;
    margin-right: 30px;
}

/*
Today Bookings
--------------------------------------------------- */

.today-booking {
    background: #f7f7f7;
    padding: 20px;
    border-left: solid 4px #0081c9;
    cursor: pointer;
}

.today-booking:hover {
    background: #0081c9;
}

.today-booking:hover * {
    color: #fff;
}

/*
Apply Quickview
--------------------------------------------------- */

.apply-quickview  {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    overflow: auto;
    width: 600px;
    max-width: 100%;
    box-shadow: 0 0 32px -12px rgba(0,0,0,.3);
    background: #fff;
    z-index: 1000;
    padding: 50px 30px;
    -webkit-transform: translate(-100%);
    transform: translate(-100%);
}

.apply-quickview label {
    color: #3c3c3b;
    font-weight: 600;
}

.apply-quickview.showing {
    -webkit-transform: translate(-0%);
    transform: translate(-0%);
}

.apply-quickview .close {
    position: absolute;
    top: 50px;
    right: 30px;
    cursor: pointer;
}

.apply-quickview .close svg {
    height: 23px;
}

/*
RESPONSIVE
--------------------------------------------------------------------------------------------- */

@media ( max-width: 1200px ) {
    
    .apply-initial .new-carousel .arrows {
        height: 60px;
        margin-top: 40px;
    }
    
    .apply-initial .arrow {
        bottom: -0;
        left: 5px;
        top: auto;
    }
    
    .apply-initial .arrow.right {
        left: auto;
        right: 5px;
    }
    
}

@media ( max-width: 1024px ) {

    /*
    Step 1
    --------------------------------------------------- */
 
    .genre-first-show .col-md-4:first-of-type {
        width: 100%;
    }
 
    .genre-first-show .col-md-4 {
        width: 50%;
    }
 
    .genre-first-show .col-md-4:first-of-type .apply-genre-item.initial-item {
        padding-top: 30%;
    }
 
    .genre-first-show .col-md-6 .apply-genre-item.initial-item,
    .genre-first-show .col-md-4 .apply-genre-item.initial-item {
        padding-top: 55%;
    }
    
}

@media ( max-width: 991px ) {

    /*
    Apply Extras
    --------------------------------------------------- */
    
    #applyExtras .sticky {
        display: none;
    }
    
    #applyExtras h4 {
        font-size: 20px;
    }

    #applyExtras h4 svg {
        display: inline-block;
        top: 0;
        margin-right: 10px;
    }
    
    #applyExtras .extra-step {
        display: block !important;
        margin-bottom: 50px;
    }

    /*
    Apply Steps
    --------------------------------------------------- */
    
    .apply-steps_outer,
    .apply-info_outer {
        width: 100%;
    }
    
    .apply-steps_outer {
        margin-bottom: 80px;
    }
    
    .apply-steps_outer:after {
        content: '';
        clear: both;
        display: table;
    }
    
    .apply-steps_outer .step-click {
        width: 25%;
        float: left;
        text-align: center;
        font-size: 14px;
        margin-bottom: 0;
    }
    
    .apply-steps_outer .step-click .step-num {
        margin: 0 auto 20px;
    }
    
    .step-click:not(:first-of-type):before, .step-click:not(:first-of-type):after {
        content: '';
        position: absolute;
        top: 19px;
        bottom: auto;
        left: -50%;
        width: 100%;
        height: 2px;
        z-index: -1;
    }
    
    .step-click:not(:first-of-type):after {
        height: 2px !important;
        width: 0;
    }
    
    .step-click.active:not(:first-of-type):after {
        width: 100%;
    }

    /*
    Step 1 Genre
    --------------------------------------------------- */
    
    .genre-main-item .single-teacher .col-md-3,
    .genre-second-show .team-wrap {
        padding: 50px 0 0;
    }

    /*
    Step 2 - Classes
    --------------------------------------------------- */
    
    .apply-video-play .svg-wrap {
        height: 80px;
        width: 80px;
        margin: -40px 0 0 -40px;
    }
    
    .apply-video-play svg {
        height: 80px;
        width: 80px;
        padding: 24px 0;
    }

    /*
    Step 4 - Calendar
    --------------------------------------------------- */
    
    #calendarOuter.clicked #calendarWrap {
        width: 100%;
    }
    
    #appointmentTimes {
        position: static;
        -webkit-transform: none;
        transform: none;
        padding-left: 0;
        width: 100%;
    }
    
    .appointment-slots_wrap {
        margin: 0 -15px;
    }
    
    .appointment-slot {
        margin: 0 15px 30px;
        width: calc(50% - 30px);
        float: left;
    }
    
    .appointment-slot:last-of-type {
        margin-bottom: 0;
    }
    
}

@media ( min-width: 766px ) {
    
    #applySteps {
        padding-top: 80px;
        padding-bottom: 50px;
    }
    
}

@media ( max-width: 767px ) {
    
    #applyWrap {
        margin-bottom: 0 !important;
    }

    /*
    Intro
    --------------------------------------------------- */
    
    .video-items .play-video {
        height: 80px;
        width: 80px;
        margin: -40px 0 0 -40px;
    }
    
    .video-items .play-video svg {
        height: 80px;
        width: 80px;
        padding: 24px;
    }
    
    .video-toggles .video-toggle-item {
        padding-top: 27%;
    }
    
    .video-toggles .name {
        font-size: 17px;
    }
    
    .video-toggles .active .name {
        background: rgba(0, 173, 165, .6);
    }
    
    .apply-initial .new-carousel .arrows {
        height: 50px;
    }
    
    .apply-initial .new-carousel .arrow {
        height: 50px;
        width: 50px;
    }

    /*
    Step 1
    --------------------------------------------------- */
    
    .genre-first-show .col-md-4,
    .genre-first-show .col-md-6 {
        width: 100%;
    }
    
    .genre-first-show .col-md-4 .apply-genre-item.initial-item,
    .genre-first-show .col-md-6 .apply-genre-item.initial-item {
        padding-top: 65% !important;
    }
    
    .apply-genre-item.initial-item .tick {
        width: 80px;
        height: 80px;
        margin: -40px 0 0 -40px;
    }
    
    .apply-genre-item.initial-item .tick circle {
        stroke-width: .5px;
    }
    
    .apply-genre-item.initial-item .icon-check {
        height: 80px;
    }

    /*
    Step Age
    --------------------------------------------------- */
    
    .step-age .inner {
        padding: 20px;
    }
    
    .step-age .flex > div {
        margin-right: 0 !important;
    }
    
    .step-age .flex-full {
        display: block;
    }
    
    .step-age .over-18 {
        margin: 30px 0;
    }
    
    .step-age .button {
        width: 100%;
        text-align: center;
    }

    /*
    Step 2 ( Classes )
    --------------------------------------------------- */
    
    .apply-classes-info .inner {
        padding: 30px
    }
    
    .close-info {
        position: static;
        -webkit-transform: none;
        margin-bottom: 10px;
        transform: none;
    }
    
    .genre-sixth-form {
        padding: 30px;
    }
    
    .genre-sixth-form a:not(.button) {
        display: block;
        margin: 15px 0 0 0 !important;
    }

    /*
    Step 4 ( Calendar )
    --------------------------------------------------- */
    
    .calendar-day {
        height: 60px;
        font-size: 13px;
    }
    
    .appointment-slot {
        width: calc(100% - 30px);
    }
    
    
    
}