@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 100;
    src: local('Montserrat Thin'), local('Montserrat-Thin'), url(fonts/montserrat-v14-latin-ext_latin-100.eot) format('embedded-opentype'), url(fonts/montserrat-v14-latin-ext_latin-100.woff2) format('woff2'), st url(fonts/montserrat-v14-latin-ext_latin-100.woff) format('woff'), url(fonts/montserrat-v14-latin-ext_latin-100.ttf) format('truetype'), url(fonts/montserrat-v14-latin-ext_latin-100.svg#Montserrat) format('svg');
    font-display: swap
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 200;
    src: local('Montserrat ExtraLight'), local('Montserrat-ExtraLight'), url(fonts/montserrat-v14-latin-ext_latin-200.eot) format('embedded-opentype'), url(fonts/montserrat-v14-latin-ext_latin-200.woff2) format('woff2'), url(fonts/montserrat-v14-latin-ext_latin-200.woff) format('woff'), url(fonts/montserrat-v14-latin-ext_latin-200.ttf) format('truetype'), url(fonts/montserrat-v14-latin-ext_latin-200.svg#Montserrat) format('svg');
    font-display: swap
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300;
    src: local('Montserrat Light'), local('Montserrat-Light'), url(fonts/montserrat-v14-latin-ext_latin-300.eot) format('embedded-opentype'), url(fonts/montserrat-v14-latin-ext_latin-300.woff2) format('woff2'), url(fonts/montserrat-v14-latin-ext_latin-300.woff) format('woff'), url(fonts/montserrat-v14-latin-ext_latin-300.ttf) format('truetype'), url(fonts/montserrat-v14-latin-ext_latin-300.svg#Montserrat) format('svg');
    font-display: swap
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: local('Montserrat Regular'), local('Montserrat-Regular'), url(fonts/montserrat-v14-latin-ext_latin-regular.eot) format('embedded-opentype'), url(fonts/montserrat-v14-latin-ext_latin-regular.woff2) format('woff2'), url(fonts/montserrat-v14-latin-ext_latin-regular.woff) format('woff'), url(fonts/montserrat-v14-latin-ext_latin-regular.ttf) format('truetype'), url(fonts/montserrat-v14-latin-ext_latin-regular.svg#Montserrat) format('svg');
    font-display: swap
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    src: local('Montserrat Medium'), local('Montserrat-Medium'), url(fonts/montserrat-v14-latin-ext_latin-500.eot) format('embedded-opentype'), url(fonts/montserrat-v14-latin-ext_latin-500.woff2) format('woff2'), url(fonts/montserrat-v14-latin-ext_latin-500.woff) format('woff'), url(fonts/montserrat-v14-latin-ext_latin-500.ttf) format('truetype'), url(fonts/montserrat-v14-latin-ext_latin-500.svg#Montserrat) format('svg');
    font-display: swap
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    src: local('Montserrat SemiBold'), local('Montserrat-SemiBold'), url(fonts/montserrat-v14-latin-ext_latin-600.eot) format('embedded-opentype'), url(fonts/montserrat-v14-latin-ext_latin-600.woff2) format('woff2'), url(fonts/montserrat-v14-latin-ext_latin-600.woff) format('woff'), url(fonts/montserrat-v14-latin-ext_latin-600.ttf) format('truetype'), url(fonts/montserrat-v14-latin-ext_latin-600.svg#Montserrat) format('svg');
    font-display: swap
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    src: local('Montserrat Bold'), local('Montserrat-Bold'), url(fonts/montserrat-v14-latin-ext_latin-700.eot) format('embedded-opentype'), url(fonts/montserrat-v14-latin-ext_latin-700.woff2) format('woff2'), url(fonts/montserrat-v14-latin-ext_latin-700.woff) format('woff'), url(fonts/montserrat-v14-latin-ext_latin-700.ttf) format('truetype'), url(fonts/montserrat-v14-latin-ext_latin-700.svg#Montserrat) format('svg');
    font-display: swap
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 800;
    src: local('Montserrat ExtraBold'), local('Montserrat-ExtraBold'), url(fonts/montserrat-v14-latin-ext_latin-800.eot) format('embedded-opentype'), url(fonts/montserrat-v14-latin-ext_latin-800.woff2) format('woff2'), url(fonts/montserrat-v14-latin-ext_latin-800.woff) format('woff'), url(fonts/montserrat-v14-latin-ext_latin-800.ttf) format('truetype'), url(fonts/montserrat-v14-latin-ext_latin-800.svg#Montserrat) format('svg');
    font-display: swap
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 900;
    src: local('Montserrat Black'), local('Montserrat-Black'), url(fonts/montserrat-v14-latin-ext_latin-900.eot) format('embedded-opentype'), url(fonts/montserrat-v14-latin-ext_latin-900.woff2) format('woff2'), url(fonts/montserrat-v14-latin-ext_latin-900.woff) format('woff'), url(fonts/montserrat-v14-latin-ext_latin-900.ttf) format('truetype'), url(fonts/montserrat-v14-latin-ext_latin-900.svg#Montserrat) format('svg');
    font-display: swap
}

:root {
    --purple: #6e3885;
    --apurple: #9d65ca;
    --mpurple: #d788d7;
    --lpurple: #f1f0fe;
    --blue: #2a3d67;
    --gray: #5c5c5c;
    --lgray: #dee2e6;
    --green: #2A855B;
    --red: #860D07;
    --red-rgb: 134,13,7;
}

/* colors */
a, a:link, a:visited {color:var(--purple)}
a:hover {color:var(--blue)}

body {
    font-family: 'Montserrat';
    font-style: normal;
    color: var(--gray);
    -moz-osx-font-smoothing: grayscale;
}
body, small, .fw-normal {font-weight:400}
h1, h2, h3, h4, h5, h6, strong, b, .fw-black, h1 small {font-weight:600;line-height:inherit;}
h1, h2, h3, h4, h5, h6 {line-height:1.2}
.fw-medium {font-weight:500}
.fw-100 {font-weight:100}
.fw-200 {font-weight:200}
.fw-300 {font-weight:300}
.fs-0 {font-style:0!important}
.fs-1 {font-size:.75rem!important}
.fs-2 {font-size:1rem!important}
.fs-3 {font-size:1.25rem!important}
.fs-4 {font-size:1.5rem!important}
.fs-5 {font-size:1.75rem!important}
.fs-6 {font-size:2.5rem!important}
.fs-7 {font-size:3.25rem!important}
.fs-8 {font-size:6rem!important}
.fs-9 {font-size:8rem!important}
body.institute .entry-content h2 {margin-bottom:2rem;font-size:3.25rem!important;font-weight:300}

/* colors */
.text-purple {color:var(--purple)!important}
.text-apurple {color:var(--apurple)!important}
.text-mpurple {color:var(--mpurple)!important}
.text-lpurple {color:var(--lpurple)!important}
.text-gray {color:var(--gray)!important}
.text-black {color:black!important}
.text-blue {color:var(--blue)!important}
.text-green {color:var(--green)!important}

.alert-purple {background-color:var(--apurple);color:white}
.alert-purple .text-lpurple a {color:var(--lpurple)!important}
.alert-lpurple {background-color:var(--lpurple);color:var(--gray)}
.alert-blue {background-color:var(--blue);color:white}
.alert-green {background-color:var(--green);color:white}
.alert-red {background-color:var(--red);color:white}

.bg-lpurple {background-color:var(--lpurple)}
.bg-mpurple {background-color:var(--mpurple)}
.bg-apurple {background-color:var(--apurple)}
.bg-purple {background-color:var(--purple)}
.bg-black {background-color:#000000}

.border-gray {border-color:var(--gray)}

.qc-cmp2-persistent-link {background:var(--purple)!important;color:white!important}

/* buttons */
.btn-continue {color:var(--blue)!important;background-color:var(--lpurple);border-color:var(--lpurple);font-weight:300;font-size:1em;padding:.5em 1.5em;margin-top:1em;border-radius:1em;line-height:1}
.btn-continue:hover, .btn-continue.active {color:white!important;background-color:var(--blue);border-color:var(--blue)}
.btn-purple-continue {
    color:white!important;
    background-color:var(--apurple);
    border-color:var(--apurple);
    font-weight:400;
    font-size:1em;
    padding:.5em 2.5em;
    border-radius:1.7em;
    line-height:1.7em;
    letter-spacing:1px;
    transition:all 300ms ease 0ms;
}
.btn-purple-continue:hover, .btn-purple-continue.active {color:white!important;background-color:var(--blue);border-color:var(--blue)}
.btn-lpurple {
    color:var(--blue)!important;
    background-color:var(--lpurple);
    border-color:var(--lpurple);
    font-weight:400;
    font-size:1em;
    padding:.5em 2.5em;
    border-radius:1.7em;
    line-height:1.7em;
    letter-spacing:1px;
    transition:all 300ms ease 0ms;
}
.btn-lpurple:hover, .btn-lpurple.active {color:white!important;background-color:var(--blue);border-color:var(--blue)}
.btn-green {color:white!important;background-color:var(--green);border-color:var(--green)}
.btn-green:hover {opacity:.8}
.btn-white {
    color:var(--purple)!important;
    background-color:white;
    border-color:white;
    font-weight:400;
    font-size:1em;
    padding:.5em 2.5em;
    border-radius:1.7em;
    line-height:1.7em;
    letter-spacing:1px;
    transition:all 300ms ease 0ms;
}
.btn-white:hover, .btn-white.active {color:white!important;background-color:var(--blue);border-color:var(--blue)}
.btn-blue {
    color:white!important;
    background-color:var(--blue);
    border-color:var(--blue);
    font-weight:400;
    font-size:1em;
    padding:.5em 2.5em;
    border-radius:1.7em;
    line-height:1.7em;
    letter-spacing:1px;
    transition:all 300ms ease 0ms;
}
.btn-blue:hover, .btn-blue.active {color:white!important;background-color:var(--mpurple);border-color:var(--mpurple)}
.btn-empty {
    color:var(--gray)!important;
    background-color:white;
    border-color:var(--purple);
    font-weight:400;
    font-size:1em;
    padding:.25em 1.25em;
    border-radius:1.7em;
    line-height:1.7em;
    letter-spacing:1px;
    transition:all 300ms ease 0ms;
    margin:.25rem .5rem;
}
.btn-empty:hover, .btn-empty.active {color:white!important;background-color:var(--purple);border-color:var(--purple)}
.btn-pager {
    color:var(--gray)!important;
    background-color:white;
    border-color:var(--purple);
    font-weight:400;
    font-size:1em;
    padding:.25em 1.25em;
    line-height:1.7em;
    letter-spacing:1px;
    transition:all 300ms ease 0ms;
}
.btn-pager:hover, .btn-pager.active {color:white!important;background-color:var(--purple);border-color:var(--purple)}
.btn-purple {
    color:white!important;
    background-color:var(--purple);
    border-color:var(--purple);
    font-weight:400;
    font-size:1em;
    padding:.25em 1.25em;
    line-height:1.7em;
    letter-spacing:1px;
    transition:all 300ms ease 0ms;
}
.btn-purple:hover, .btn-purple.active {color:white!important;background-color:var(--blue);border-color:var(--blue)}
.btn-danger {
    color:white!important;
    background-color:var(--red);
    border-color:var(--red);
    font-weight:400;
    font-size:1em;
    padding:.25em 1.25em;
    line-height:1.7em;
    letter-spacing:1px;
    transition:all 300ms ease 0ms;
}
.btn-danger:hover, .btn-danger.active {color:white!important;background-color:rgba(var(--red-rgb),.8);border-color:rgba(var(--red-rgb),.8)}

.btn-youtube {cursor:pointer}

.btn-over .load-modal {padding:.125rem .25rem;margin-top:.125rem}
.alert-purple .btn-transparent {color:white}

/* timetable */
.timetable-div button {border:0 none;padding:0;background:transparent}

/* modal */
#timetable-modal .modal-content {border-radius:0;border:0 none;}
#timetable-modal .modal-footer, #timetable-modal .modal-header {padding:0;background:var(--lpurple)}
#timetable-modal .modal-footer .btn {border-radius:0;margin:0;}
#timetable-modal .modal-title h4 {margin:0;display:flex;flex-direction:row;}
#timetable-modal .modal-title small {padding:.5rem 1.25rem;text-align:center;justify-content:center;background:var(--apurple);border-right:1px solid white;color:white}
#timetable-modal .modal-title small:first-child {background:var(--purple)}
#timetable-modal .modal-header .close {margin:0;padding:.5rem 1rem}

/* default */
.fixed-video {
    width:226px;
    height:425px;
    position:fixed;
    top:175px;
    right:0px;
    background-image:url(images/nyilkunkor.png);
    background-repeat:no-repeat;
    background-position:right bottom;
    z-index:100;
}
.fixed-video > div:first-child {
    width:150px;
    height:425px;
    float:left;
    font-size:.875rem;
    color:var(--purple);
    padding-top:75px;
}
.random-img {
    max-width:722px;
    min-height:682px;
    width:auto!important;
    height:auto!important;
    display:block;
    background-position:center center;
    background-repeat:no-repeat;
    background-size:contain;
}
.position-relative .alert-purple {
    position:absolute;
    z-index:1000;
    top:3em;
    left:1.5em;
    max-width:17em!important;
}
.downholder {
    width: 110px;
    height: 60px;
    float: right;
    text-align: center;
    margin-top: 250px;
}
.downholder a {
    color:var(--blue);
    font-size:1.125rem;
}
.video-div {
    border-radius: 25px;
    width: 100%;
    height: 185px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-box-shadow: 0px 0px 20px -5px rgba(47,44,44,0.45);
    -moz-box-shadow: 0px 0px 20px -5px rgba(47,44,44,0.45);
    box-shadow: 0px 0px 20px -5px rgba(47,44,44,0.45);
    margin-bottom: 1.5rem;
}
.graymask {
    background-repeat: repeat;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 25px;
    padding: 60px;
    text-align: center;
    position: relative;
}
.graymask:hover {background:none!important;}
.video-nr {
    position: absolute;
    top: 20px;
    left: 25px;
    font-weight: 500;
    color: #fff;
    text-shadow: 0px 0px 11px rgba(201,201,201,0.95);
    font-size: 20px;
}
.profil-div {
    border-radius: 25px;
    max-width: 100%;
    height: 406px;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-box-shadow: 0px 0px 20px -5px rgba(47,44,44,0.35);
    -moz-box-shadow: 0px 0px 20px -5px rgba(47,44,44,0.35);
    box-shadow: 0px 0px 20px -5px rgba(47,44,44,0.35);
    margin-bottom: 1.5rem;
}
.check-list {padding:0}
.check-list li {
    font-size:1.125rem;
    margin-bottom:1.625rem;
    position:relative;
    padding:.5rem 0 0 3.5rem;
    list-style: none;
    line-height: 1.4;
}
.check-list i {
    border-radius:50%;
    border: 4px solid var(--blue);
    color:var(--blue);
    padding:.375rem;
    position:absolute;
    left:0;
    top:1.75rem;
}

/* user */
.user-qr {text-align:center}
.user-qr svg {width:10rem;height:auto}

/* footer */
footer {
    position: relative;
    padding-top: 100px !important;
    padding-bottom: 60px !important;
    background-repeat: no-repeat;
    background-size: cover;
}
footer h4 {
    position: relative;
    margin-bottom: 3rem;
    color: var(--blue);
    font-weight: normal;
}
footer h4::after {
    content: "";
    position: absolute;
    background-color: var(--mpurple);
    bottom: -24px;
    width: 40px;
    height: 5px;
    left: 0px;
}
footer li a {vertical-align:text-bottom;}
footer li::marker {
    color: var(--mpurple);
    font-size: 2rem
}
footer #footer-contact .text {
    font-size: .75rem;
    display: grid;
    align-items: center;
    padding-left: 0;
}
footer #footer-contact .icon {
    font-size: 1.25rem;
    color: var(--mpurple)
}

/* cart */
#cart {
    position:fixed;
    top:20vh;
    right:calc(6rem - 60vw);
    width:60vw;
    z-index:1100;
    display: inline-flex;
    -webkit-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
}
#cart.open .cart-tab {
    position:absolute;
    top:0;
}
#cart .close-i {display:none;position:relative;z-index:9999}
#cart.open {right:0}
#cart.open .close-i {display:block}
#cart.open .open-i {display:none}
#cart .open-cart {display:inline-block;color:white!important;font-size:3rem;margin-right:2.75rem;position:relative;background:var(--purple);padding:.25rem .75rem;border-radius:1rem}
#cart.open .open-cart {padding:0 0 0 1rem;}
#cart .float-cart {
    display:inline-block;
    max-height:80vh;
    overflow-y:scroll;
    width:100%;
    background-color:var(--purple);
    border-radius:1rem;
    padding:1rem
}
#cart .btn-cart > small {
    position:absolute;
    top:-.25rem;
    left:-.25rem;
    width:1.5rem;
    height:1.5rem;
    border-radius:1rem;
    font-size:1rem;
    background-color:var(--apurple);
    text-align:center;
}
#cart.open .btn-cart > small {display:none}
#cart .q-div {display:inline}
.btn-q {color:var(--purple)!important;background-color:white;border-color:white;padding:0 .25rem;margin:0 .125rem}

#cart-editor hr {margin:.25rem 0;}
#cart-editor div.row div button {margin:0!important;height:100%}

/* animations */
a {
-webkit-transition: all .2s ease-in-out;
-moz-transition: all .2s ease-in-out;
-o-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
}
.a-grow:hover {
-webkit-transform: scale(1.1);
transform: scale(1.1);
}
.a-pulse {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px rgba(0,0,0,0);
}
.a-pulse:hover {
-webkit-animation-name: a-pulse;
animation-name: a-pulse;
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-timing-function: linear;
animation-timing-function: linear;
-webkit-animation-iteration-count: infinite;
animation-iteration-count: infinite;
}
.a-bounce-in {
display: inline-block;
vertical-align: middle;
-webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
box-shadow: 0 0 1px rgba(0,0,0,0);
-webkit-transition-duration: .5s;
transition-duration: .5s;
}
.a-bounce-in:hover {
-webkit-transform: scale(1.2);
transform: scale(1.2);
-webkit-transition-timing-function: cubic-bezier(0.47,2.02,.31,-.36);
transition-timing-function: cubic-bezier(0.47,2.02,.31,-.36);
}
@keyframes a-pulse {
    25% {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }
    75% {
        -webkit-transform: scale(0.9);
        transform: scale(0.9);
    }
}

@media screen and (max-width:1439px){
    .fixed-video {
        width:76px;
        background-image:none;
    }
    .fixed-video > div:first-child {display:none}
}
@media screen and (max-width:1199px){
    #cart {right:calc(6rem - 70vw);width:70vw}
}
@media screen and (max-width:991px){
    #cart {right:calc(6rem - 85vw);width:85vw}
    .fs-7, body.institute .entry-content h2 {font-size:2rem!important}
    .row.align-middle a {max-width:150px}
    .downholder {display:none}
    .check-list i {top:1rem}
}
@media screen and (max-width:768px){
    #cart {right:calc(4rem - 90vw);width:90vw}
    #cart .open-cart {font-size:2rem}
    .position-relative .alert-purple {
        position:relative;
        top:1rem;
        left:0;
        max-width:100%!important;
    }
    .fixed-video {display:none}
    .random-img {min-height:320px;}
    .row.align-middle a {max-width:100px}
}
@media screen and (max-width:480px){
    .fs-3 {font-size:1rem!important}
    #cart {right:calc(4rem - 100vw);width:100vw}
}
