@font-face {
  font-family: "League Spartan";
  src: url("/assets/fonts/LeagueSpartan-VariableFont_wght.ttf") format("truetype");
}
@font-face {
font-family: "Nunito";
src: url("/assets/fonts/Nunito-VariableFont_wght.ttf") format("truetype");
}
@font-face {
font-family: "Nunito";
src: url("/assets/fonts/Nunito-Italic-VariableFont_wght.ttf") format("truetype");
font-style: italic;
}

:root {
  --white: #ffffff;
  --bg-white: #ffffff80;
  --light-white: #f2f2ff;
  --bg-light-white: #f2f2ff80;
  --blue: #000080;
  --bg-blue: #00008080;
  --light-blue: #3d8ee2;
  --bg-light-blue: #3d8ee280;
  --text-blue: #2F5597;
  --bg-text-blue: #2F559780;
  --orange: #ff962a;
  --bg-orange: #ff962a80;
  --light-orange: #fe9934;
  --bg-light-orange: #fe993480;
  --grey: #4c4b54;
  --bg-grey: #4c4b5480;
  --black: #000000;
  --bg-black: #00000080;
  --red: #f77d00;
  --bg-red: #fe7e0180;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video,
input, textarea {
    font-synthesis: none;
    -moz-font-feature-settings: 'kern';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0;
    padding: 0;
    border: 0;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
    display: block;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

.prio {
    font-family: "Nunito", Arial, sans-serif;
    padding: 0.5em 1em;
}

.prio.prio__high {
    background-color: var(--bg-red);
}

.prio.prio__medium {
    background-color: var(--bg-yellow);
}

a {
    color: var(--blue);
    text-decoration: none !important;
    font-family: "Nunito", Arial, sans-serif;
    transition: all 0.3s ease-in-out;
}

a:hover {
  color: var(--orange);
}

html, body, div, span, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, section, input, textarea {
    font-size: 16px;
    line-height: 24px;
    font-family: "Nunito", Arial, sans-serif;
    color: var(--black);
}

body {
    min-height: 100vh;
    width: 100vw;
    overflow: hidden;
    position: relative;
}

h1, h2, h3, h4 {
  font-family: "League Spartan", Arial, sans-serif;
}

h1 {
    font-size: 2em;
}

h1, h2 {
    color: var(--orange);
    margin: 0.5em auto;
    line-height: 1.2;
}

h3, h4 {
    color: var(--orange);
    margin: 1em auto;
}

b {
    font-weight: 600;
}

.scrollable {
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

.caps {
  text-transform: uppercase;
}

.limiter {
    width: 95%;
    max-width: 1300px;
    margin: auto;
    box-sizing: border-box;
    position: relative;
}

.flex-row {
    width: 100%;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-around;
    box-sizing: border-box;
    position: relative;
}

.pos-rel {
    position: relative;
}

.width-fill {
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.buttonSVG {
    cursor: pointer;
}

.buttonSVG svg {
    height: 1.5em;
    width: 1.5em;
}

.buttonSVG svg .str1 {
    stroke-width: 0;
    stroke: transparent;
    transition: all 0.2s ease-in-out;
}

.buttonSVG svg .fil1 {
    fill: var(--dark-blue);
    transition: all 0.2s ease-in-out;
}

.buttonSVG:hover svg .fil1 {
    fill: var(--blue);
}

section {
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
    position: relative;
    margin: 0 auto 10em;
}

button,
.button {
    color: var(--white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: auto;
    padding: 0.8em 3em;
    overflow: hidden;
    color: #fff;
    text-align: center;
    background-color: var(--blue);
    font-size: 1em;
    line-height: 1;
    border: none;
    border-radius: 3px;
    cursor: pointer;
    opacity: 0.9;
    transition: background-color 0.3s ease-in-out;
}

button:after,
.button:after {
  content: '';
  position: absolute;
  top: -50%;
  right: -25%;
  bottom: -50%;
  left: -60%;
  background: linear-gradient(to bottom, rgba(229, 172, 142, 0), rgba(255,255,255,0.5) 50%, rgba(229, 172, 142, 0));
  transform: rotateZ(60deg) translate(-5em, 7.5em);
}

button:hover,
button:focus,
.button:hover {
    background-color: var(--blue);
    color: var(--white);
    opacity: 1;
}

button:hover::after,
button:focus::after,
.button:hover::after {
    animation: sheen 1s forwards;
}

.button.cancel {

background: no-repeat;

outline: 2px solid var(--blue);

color: var(--blue);

outline-offset: -1px;

font-weight: 600;

font-family: "Nunito", Arial, sans-serif;
}

.button.cancel:hover {
  
background: var(--blue);
  
color: var(--white);
}

@keyframes sheen {
  100% {
    transform: rotateZ(60deg) translate(1em, -9em);
  }
}

button span.icon,
.button span.icon {
    display: inline-block;
    height: 1em;
    width: 1em;
    margin: 0 0.5em 0.2em 0.1em;
}

.global__wrapper {
  margin-bottom: 20em;
  background-color: var(--white);
  width: 100vw;
  min-height: 100vh;
  overflow: hidden;
  box-sizing: border-box;
}

header.fixed-hold + .global__wrapper {

padding-top: 4em;
}

.global__wrapper.fixed {
  margin: 0;
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
}

.global__wrapper.forms {
  
height: unset;
  
overflow-y: auto;
}

.spacer1 {
  padding-top: 1em;
}

.spacer3 {
    padding-top: 3em;
}

.spacer5 {
    padding-top: 5em;
}

.spacer {
    height: 8em;
}

.back__button {
    margin: auto;
    display: block;
    width: 20em;
    text-align: center;
    font-family: "Nunito", Arial, sans-serif;
    color: var(--dark-blue);
    transition: all 0.3s ease-in-out;
}

.back__button span {
    font-size: 1.5em;
    color: var(--dark-blue);
    transition: all 0.3s ease-in-out;
}

.back__button:hover {
    font-family: "Nunito", Arial, sans-serif;
    color: var(--dark-blue);
}

.back__button:hover span {
    color: var(--blue);
}

.formInput {
    outline: none;
    border-radius: 3px;
    padding: 0.5em 1em;
    display: inline-block;
    box-sizing: border-box;
    border: 1px solid var(--bg-grey);
    transition: all 0.3s ease-in-out;
    font-size: 1em;
    line-height: 1;
    height: 2.5em;
    position: relative;
}

.formInput.date-from::before {
    content: 'From';
    position: absolute;
    top: 0em;
    z-index: 1;
    color: var(--bg-black);
    font-size: 0.7em;
    font-weight: 600;
}

.formInput.date-to::before {
    content: 'To';
    position: absolute;
    top: 0em;
    z-index: 1;
    color: var(--bg-black);
    font-size: 0.7em;
    font-weight: 600;
}

.formInput.incorrect {
    border-color: var(--red);
}

.formInput:focus {
    border: 1px solid var(--blue);
}

.formInput__label {
    font-family: "Nunito", Arial, sans-serif;
    display: block;
    margin: 0.5em 0.5em 0;
    font-size: 0.8em;
}

.formInput__label--default {
    padding: 0 !important;
    margin-top: 2em;
}

.formInput__label--required {
    color: var(--red);
    font-size: 0.9em;
    margin-left: 0.3em;
    font-family: "Nunito", Arial, sans-serif;
}

.formInput__notif {
    color: var(--white);
    padding: 0.5em 1em;
    border-radius: 3px;
    font-size: 0.8em;
    position: absolute;
    left: 0;
    bottom: 100%;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

.formInput__notif.incorrect {
    background-color: var(--bg-black);
    color: var(--white);
}

.formInput__notif.correct {
    background-color: var(--green);
}

.buttonsvg {
    cursor: pointer;
}

svg .fil1 {
    fill: var(--dark-blue);
    transition: all 0.3s ease-in-out
}

.buttonsvg:hover svg .fil1 {
    fill: var(--blue);
}

.add,
.edit { 
    font-family: "Nunito", Arial, sans-serif;
    color: var(--blue);
    font-size: 0.5em;
    margin-left: 0.5em;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.add:hover,
.edit:hover {
    color: var(--dark-blue);
}

.incorrect {
  color: var(--red);
}

/*/////////////////////////////////////////////////////// HEADER
*/

header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5em 2em;
  background: transparent;
  height: 4em;
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  box-sizing: border-box;
  z-index: 99;
  transition: all 0.3s ease-in-out;
}

header.fixed,
header.fixed-hold {
  background: var(--white);
}

.header__logo {

height: 3em;

width: 3em;

position: relative;
}
.header__logo img {

height: 8em;

width: 8em;

position: absolute;

z-index: 1;

transition: all 0.3s ease-in-out;
}
header.fixed .header__logo img,
header.fixed-hold .header__logo img {

height: 3em;

width: 3em;
}
.header__nav {
}

.header__nav ul {
list-style: none;
}

.header__nav--links {

display: flex;

align-items: center;

justify-content: space-around;

gap: 2em;
}

.header__nav--link {position: relative;line-height: 1;}

.header__nav--link:not(:last-child)::after {
content: '';
display: block;
height: 1.2em;
width: 0.1px;
position: absolute;
top: 50%;
transform: translateY(-50%);
right: -1em;
background: var(--black);
}

.header__nav--sublinktxt {
cursor: default;
}

.header__nav--link a,
.header__nav--sublinktxt {
color: var(--black);
font-family: "League Spartan", Arial, sans-serif;
font-weight: 400;
font-size: 1em;
line-height: 1;
transition: all 0.3s ease-in-out;
}

.header__nav--link.active a,
.header__nav--link a:hover,
.header__nav--link.no-click.active .header__nav--sublinktxt,
.header__nav--link.no-click:hover .header__nav--sublinktxt {

color: var(--orange);
}

.header__nav--sublinks {display: block;position: absolute;top: 100%;left: -1.5em;overflow: hidden;background: var(--white);white-space: nowrap;height: 0;width: 0;opacity: 0;transition: all 0.3s ease-in-out;}

.header__nav--link.no-click:hover .header__nav--sublinks {

opacity: 1;

height: unset;

width: unset;

padding: 1em 2em;
}

.header__nav--sublink {margin-bottom: 0.5em;}

.header__cta {

display: flex;

align-items: center;

justify-content: center;

gap: 0.5em;
}

.header__cta--tour {

font-size: 0.8em;

line-height: 1;

white-space: nowrap;

display: block;

background: var(--orange);

color: var(--white);

padding: 0.7em 1.5em;

border-radius: 500px;

opacity: 0.9;

font-family: "League Spartan", Arial, sans-serif;

font-weight: 500;

transition: all 0.3s ease-in-out;
}

.header__cta--tour:hover {opacity: 1;color: var(--white);font-family: "League Spartan", Arial, sans-serif;}

.header__cta--account {

height: 2em;

display: block;
}

.header__cta--account span {
}

.header__cta--account span svg {
height: 100%;
width: 100%;
display: block;
fill: var(--orange);
opacity: 0.9;
transition: all 0.3s ease-in-out;
}

.header__cta--account:hover span svg {
opacity: 1;
}

/*/////////////////////////////////////////////////////// MAIN
*/

header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5em 2em;
    background: var(--black);
    height: 4em;
}

.header__logo-clock {
  
height: 100%;
  
display: flex;
  
align-items: center;
  
justify-content: center;
  
gap: 1em;
  
color: var(--white);
  
font-family: "League Spartan", Arial, sans-serif;
  
font-weight: 600;
  
font-size: 1.5em;
}

.header__logo-clock .header__logo {
  height: 2em;
  width: 2em;
}

.header__user {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1em;
}

.header__user--name {
    font-family: "League Spartan", Arial, sans-serif;
    color: var(--white);
    display: inline-block;
    text-align: right;
    font-weight: 600;
    line-height: 1;
    font-size: 1em;
}

.header__user--avatar {height: 2em;width: 2em;outline: 4px solid var(--bg-orange);border-radius: 500px;background: var(--dark-blue);background: linear-gradient(145deg, var(--dark-blue) 0%, var(--blue) 100%);transition: all 0.3s ease-in-out;display: flex;align-items: center;justify-content: center;color: var(--white) !important;font-weight: 700;font-size: 1.3em;}
.header__user--avatar:hover {outline-color: var(--orange);}
.header__user--avatar img {

height: 100%;

width: 100%;

object-fit: cover;

border-radius: 500px;
}

.maincontent__wrapper {
    background-color: var(--white);
    width: 100vw;
    flex-grow: 1;
    box-sizing: border-box;
    display: flex;
    overflow: hidden;
    position: relative;
    padding-top: 4em;
}

.maincontent__crest {

position: absolute;

height: 130%;

transform: rotate(15deg);

left: 3%;

top: -7%;

filter: brightness(140%) grayscale(0.7);

opacity: 0.07;
}

.maincontent {
    flex-grow: 1;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 1em;
    box-sizing: border-box;
    position: relative;
}

.menus {

height: 100%;

max-width: 50vw;

overflow: hidden;

display: flex;

flex-wrap: wrap;

align-items: center;

justify-content: center;

gap: 2em;

padding: 3em;

box-sizing: border-box;
}

.menu {

display: flex;

align-items: center;

justify-content: center;

background: var(--blue);

position: relative;

padding: 2em;

border-radius: 5px;

cursor: pointer;

overflow: hidden;

backdrop-filter: blur(5px);

transition: all 0.3s ease-in-out;

width: 12em;

height: 10em;
}

.menu:hover {
  background: var(--bg-blue);
}

.menu__img {height: 10em;}

.menu__txt {

position: absolute;

top: 50%;

left: 50%;

transform: translate(-50%, -50%);

background: var(--bg-blue);

backdrop-filter: blur(5px);

font-size: 1.5em;

line-height: 1.2;

text-align: center;

padding: 0.5em 1em;

color: var(--grey);

height: 100%;

width: 100%;

box-sizing: border-box;

display: flex;

align-items: center;

justify-content: center;

font-family: "League Spartan", Arial, sans-serif;

font-weight: 600;

line-height: 1;

opacity: 0;

transition: all 0.3s ease-in-out;
}

.menu:hover .menu__txt {
opacity: 1;
}


.dashTitle {

display: flex;

align-items: center;

gap: 1em;
}

.dashTitle h2 {

text-align: left;

margin: 0;

line-height: 1;
}
.dashUpload {

height: 2em;

width: 2em;

cursor: pointer;
}
.dashUpload svg {
  height: 100%;
  width: 100%;
  fill: var(--grey);
  transition: all 0.3s ease-in-out;
}
.dashUpload:hover svg {
  
fill: var(--orange);
}
.dashTitle__back {
  height: 2em;
}
.dashTitle__back svg {
  display: block;
  height: 100%;
  width: 100%;
}
.dashTitle__back svg .fil1 {
  fill: var(--grey);
}

.dashTitle__back:hover svg .fil1 {
  fill: var(--black);
}

.filter {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1em;
  margin: 3em 1em;
}

.filter button {
  margin: 0;
}

.table {
    width: 95%;
    text-align: center;
    margin: auto;
}

.table thead {
  position: sticky;
  top: -1em;
  left: 0;
  z-index: 1;
}

.table th {
    font-size: 1em;
    padding: 0.5em;font-family: "Nunito", Arial, sans-serif;
    border-bottom: 1px solid var(--blue);
}

.table td {
    padding: 1em;
    font-size: 0.8em;
}

.table tr:not(:last-child) {
    border-bottom: 1px solid var(--bg-grey);
}

.table td > .button {
    font-size: 0.8em;
    background-color: var(--grey);
    min-width: 7em;
    border-radius: 500px;
}

.table td > .button.new {
  background-color: var(--orange);
}

.table td > .button:hover {
    background-color: var(--blue);
}

.adminForm {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  width: 45em;
  max-width: 80vw;
  min-height: 10em;
  position: relative;
}

.global__wrapper.forms .adminForm {
  
margin: 1.5em auto;
  
min-height: calc(100vh - 11em);
  
background: var(--white);
  
border-radius: 5px;
  
justify-content: flex-start;
  
padding: 1em 3em 3em;
}

.adminForm__title {
  text-align: center;
  width: 100%;
  margin: 0.5em auto 2em;
  font-family: "League Spartan", Arial, sans-serif;
  font-size: 1.3em;
  line-height: 1;
  font-weight: 500;
  color: var(--orange);
}

.adminForm__content {
  flex-grow: 1;
  width: 100%;
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  flex-direction: column;
  position: relative;
}

.adminForm__note {
  
font-style: italic;
  
font-size: 0.8em;
  
font-weight: 600;
}

.adminForm .line {
  margin-bottom: 1.2em;
}

.adminForm .line-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.adminForm__input,
textarea.adminForm__input {
  width: 100%;
  height: 2.5em;
  box-sizing: border-box;
  margin: 0 auto 0.5em;
  display: block;
  border: 1px solid var(--bg-grey);
  color: var(--black);
  font-size: 0.8em;
  line-height: 1;
  padding: 0.5em 1em;
  border-radius: 3px;
  font-family: "Nunito", Arial, sans-serif;
}

textarea.adminForm__input {
  height: unset;
  resize: none;
}

optgroup {
  font-family: "Nunito", Arial, sans-serif;
}

.adminForm__input:focus, .adminForm__input:focus-visible,
textarea.adminForm__input:focus, textarea.adminForm__input:focus-visible {
  border: 1px solid var(--blue);
  outline: 0;
}

.adminForm__input.disabled,
textarea.adminForm__input.disabled {
    border: 1px solid var(--grey);
    color: var(--grey);
    background: var(--bg-grey);
}

button.adminForm__input, button.adminForm__input:focus, button.adminForm__input:focus-visible {
  border: 1px solid var(--blue);
  color: var(--white);
  outline: 0;
  margin: 0;
}

.adminForm__check {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  color: var(--black);
  font-size: 0.8em;
  line-height: 1;
  padding: 0.5em 1em;
  font-family: "Nunito", Arial, sans-serif;
}

.adminForm__check input {
  display: inline-block;
  margin-right: 0.5em;
}

.adminForm__input--error {

  color: var(--red);
  
  position: absolute;
  
  font-size: 0.7em;
  
  bottom: -2em;
  
  text-align: center;
  
  padding-left: 1em;
  }
  .adminForm__input.error {
    border-color: var(--red);
  }

.adminForm__notif {
  padding-left: 1em;
  min-height: 2em;
  color: var(--grey);
  font-weight: 600;
}

.adminForm__progress {

width: calc(100% - 3em);

height: 0.2em;

position: absolute;

top: 0;

left: 50%;

transform: translateX(-50%);

background: var(

--bg-grey);

border-bottom-left-radius: 500px;

border-bottom-right-radius: 500px;

overflow: hidden;

transition: all 0.3s ease-in-out;
}

.adminForm__progress:hover {
  height: 1em;
}

.adminForm__progress--bar {

height: 100%;

width: 0%;

background: var(--bg-black);
}

.adminForm__progress--text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0;
  line-height: 0;
  font-weight: 500;
  color: var(
  --white);
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.adminForm__progress:hover .adminForm__progress--text {
  font-size: 0.7em;
  line-height: 1;
  opacity: 1;
}

.adminform__button {
  margin: 0;
  box-sizing: border-box;
  position: relative;
  margin-left: auto;
}

.adminform__button--preloader {
  
position: absolute;
  
height: calc(100% + 1em);
  
width: calc(100% + 1em);
  
top: 50%;
  
left: 50%;
  
transform: translate(-50%, -50%);
  
background: var(--white);
  
display: none;
}

.line, .line15 {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  width: 98%;
  margin: 0 auto;
}

.line15 {
  margin-bottom: 15px;
}

.line--inactive {
  display: none;
}

.line__item {
  padding: 0.2em 0.5em;
  box-sizing: border-box;
  position: relative;
}

.line__title {
  width: 100%;
  color: var(--orange);
  font-size: 1.2em;
  line-height: 1;
  margin-bottom: 1em;
  font-family: "League Spartan", Arial, sans-serif;
  border-bottom: 1px solid var(--orange);
  padding: 0.5em;
  box-sizing: border-box;
  position: relative;
}

.line__subtitle {
  width: 100%;
  color: var(--black);
  font-size: 1em;
  line-height: 1;
  font-weight: 400;
  font-family: "League Spartan", Arial, sans-serif;
  padding: 0.5em;
  box-sizing: border-box;
  position: relative;
}

.line__subtitle--version {
  
padding: 0 1em;
  
width: 98%;
  
margin: auto;
  
text-align: right;
  
font-size: 0.7em;
  
font-weight: 600;
  
color: var(--grey);
  
font-style: italic;
}

.line__title--button {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 1.5em;
  cursor: pointer;
}

.line__title--button:nth-child(2) {
  right: 2em;
}

.line__title--button svg {
  display: block;
  height: 100%;
  width: 100%;
  fill: var(--orange);
  opacity: 0.9;
  transition: all 0.3s ease-in-out;
}

.line__title--button:hover svg {
  opacity: 1;
}

.line__item--title {
  color: var(--grey);
  font-size: 0.8em;
  line-height: 1;
  min-height: 1.5em;
}

.line__item--content {
  padding-left: 0.5em;
  overflow-wrap: break-word;
  min-height: 2em;
}

.line__item--content p {
  margin-bottom: 1.5em;
}

.w1 {
  width: 1% !important;
}

.w2 {
  width: 2% !important;
}

.w3 {
  width: 3% !important;
}

.w4 {
  width: 4% !important;
}

.w5 {
  width: 5% !important;
}

.w6 {
  width: 6% !important;
}

.w7 {
  width: 7% !important;
}

.w8 {
  width: 8% !important;
}

.w9 {
  width: 9% !important;
}

.w10 {
  width: 10% !important;
}

.w11 {
  width: 11% !important;
}

.w12 {
  width: 12% !important;
}

.w13 {
  width: 13% !important;
}

.w14 {
  width: 14% !important;
}

.w15 {
  width: 15% !important;
}

.w19 {
  width: 19% !important;
}

.w20 {
  width: 20% !important;
}

.w21 {
  width: 21% !important;
}

.w22 {
  width: 22% !important;
}

.w23 {
  width: 23% !important;
}

.w24 {
  width: 24% !important;
}

.w25 {
  width: 25% !important;
}

.w26 {
  width: 26% !important;
}

.w27 {
  width: 27% !important;
}

.w28 {
  width: 28% !important;
}

.w29 {
  width: 29% !important;
}

.w30 {
  width: 30% !important;
}

.w31 {
  width: 31% !important;
}

.w32 {
  width: 32% !important;
}

.w33 {
  width: 33% !important;
}

.w34 {
  width: 34% !important;
}

.w35 {
  width: 35% !important;
}

.w36 {
  width: 36% !important;
}

.w37 {
  width: 37% !important;
}

.w38 {
  width: 38% !important;
}

.w39 {
  width: 39% !important;
}

.w40 {
  width: 40% !important;
}

.w41 {
  width: 41% !important;
}

.w42 {
  width: 42% !important;
}

.w43 {
  width: 43% !important;
}

.w44 {
  width: 44% !important;
}

.w45 {
  width: 45% !important;
}

.w46 {
  width: 46% !important;
}

.w47 {
  width: 47% !important;
}

.w48 {
  width: 48% !important;
}

.w49 {
  width: 49% !important;
}

.w50 {
  width: 50% !important;
}

.w51 {
  width: 51% !important;
}

.w52 {
  width: 52% !important;
}

.w53 {
  width: 53% !important;
}

.w54 {
  width: 54% !important;
}

.w55 {
  width: 55% !important;
}

.w56 {
  width: 56% !important;
}

.w57 {
  width: 57% !important;
}

.w58 {
  width: 58% !important;
}

.w59 {
  width: 59% !important;
}

.w60 {
  width: 60% !important;
}

.w61 {
  width: 61% !important;
}

.w62 {
  width: 62% !important;
}

.w63 {
  width: 63% !important;
}

.w64 {
  width: 64% !important;
}

.w65 {
  width: 65% !important;
}

.w66 {
  width: 66% !important;
}

.w67 {
  width: 67% !important;
}

.w68 {
  width: 68% !important;
}

.w69 {
  width: 69% !important;
}

.w70 {
  width: 70% !important;
}

.w71 {
  width: 71% !important;
}

.w72 {
  width: 72% !important;
}

.w73 {
  width: 73% !important;
}

.w74 {
  width: 74% !important;
}

.w75 {
  width: 75% !important;
}

.w76 {
  width: 76% !important;
}

.w77 {
  width: 77% !important;
}

.w78 {
  width: 78% !important;
}

.w79 {
  width: 79% !important;
}

.w80 {
  width: 80% !important;
}

.w81 {
  width: 81% !important;
}

.w82 {
  width: 82% !important;
}

.w83 {
  width: 83% !important;
}

.w84 {
  width: 84% !important;
}

.w85 {
  width: 85% !important;
}

.w86 {
  width: 86% !important;
}

.w87 {
  width: 87% !important;
}

.w88 {
  width: 88% !important;
}

.w89 {
  width: 89% !important;
}

.w90 {
  width: 90% !important;
}

.w91 {
  width: 91% !important;
}

.w92 {
  width: 92% !important;
}

.w93 {
  width: 93% !important;
}

.w94 {
  width: 94% !important;
}

.w95 {
  width: 95% !important;
}

.w96 {
  width: 96% !important;
}

.w97 {
  width: 97% !important;
}

.w98 {
  width: 98% !important;
}

.w99 {
  width: 99% !important;
}

.w100 {
  width: 100% !important;
}

.h5 {
  height: 5% !important;
}

.h10 {
  height: 10% !important;
}

.h15 {
  height: 15% !important;
}

.h20 {
  height: 20% !important;
}

.h25 {
  height: 25% !important;
}

.h30 {
  height: 30% !important;
}

.h35 {
  height: 35% !important;
}

.h40 {
  height: 40% !important;
}

.h45 {
  height: 45% !important;
}

.h50 {
  height: 50% !important;
}

.h55 {
  height: 55% !important;
}

.h60 {
  height: 60% !important;
}

.h65 {
  height: 65% !important;
}

.h70 {
  height: 70% !important;
}

.h75 {
  height: 75% !important;
}

.h80 {
  height: 80% !important;
}

.h85 {
  height: 85% !important;
}

.h90 {
  height: 90% !important;
}

.h95 {
  height: 95% !important;
}

.h100 {
  height: 100% !important;
}

.margin0h {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.margin0ht {
  margin-top: 0 !important;
}

.margin0hb {
  margin-bottom: 0 !important;
}

.margin0w {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.margin0wl {
  margin-left: 0 !important;
}

.margin0wr {
  margin-right: 0 !important;
}

.margin0 {
  margin: 0 !important;
}

.padding0 {
  padding: 0 !important;
}

.pos-rel {
  position: relative;
}

.padding-right15 {
  padding-right: 15px !important;
}

.min25 {
  min-width: 25% !important;
}
.center-align {
  text-align: center;
}

.left-align {
  text-align: left;
}

.right-align {
  text-align: right;
}

.top-align {
  vertical-align: top;
}

.mid-align {
  vertical-align: middle;
}

.bottom-align {
  vertical-align: bottom;
}

.midcenter {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.midbetween {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

.midleft {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}

.midright {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
}

.fullsize {
  width: 100%;
  height: 100%;
}

.back {
    font-size: 2em;
    width: 1em;
    cursor: pointer;
    margin-right: auto;
    color: var(--dark-blue);
    transition: all 0.3s ease-in-out;
}

.back:hover {
    color: var(--blue);
}

.line__item--content OL { counter-reset: item; padding-left: 1.5em; }
.line__item--content LI {display: block;position: relative;}
.line__item--content OL LI:before {content: counters(item, ".") " ";counter-increment: item;position: absolute;left: -1.5em;text-align: right;}

/*///////////////////////////////////////////////////////////////////////////////////// PAGINATION
*/

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 5em;
}

.pgn {
    color: var(--blue);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    width: 40px;
    margin: 0 10px;
    border-radius: 3px;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.pgn:hover {
    background-color: var(--blue);
    color: var(--white);
}

.pgn:active {
    background-color: var(--dark-blue);
    color: var(--bg-blue);
}

.pgn--active,
.pgn--active:hover,
.pgn--active:active {
    color: var(--white);
    background-color: var(--grey);
    cursor: default;
}


/*/////////////////////////////////////////////////////// DROPZONE
*/

.dropzone {
  max-width: 95%;
  height: 15em;
  padding: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  color: var(--black);
  background: transparent;
  border: 2px dashed var(--blue);
  border-radius: 10px;
  transition: all 0.3s ease-in-out;
}

.dropzone:hover {
  background: var(--bg-grey);
}

.dropzone.incorrect {
  border-color: var(--red);
}

.drop-zone--over {
  border-style: solid;
  border-color: var(--blue);
  background: var(--bg-blue);
}

.drop-zone__input,
.drop-zone__input--builder {
display: none;
}

.drop-zone__thumb {
width: 100%;
height: 100%;
border-radius: 10px;
overflow: hidden;
background-color: var(--blue);
background-size: cover;
position: relative;
}

.drop-zone__thumb::after {
  content: attr(data-label);
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 5px 0;
  color: var(--white);
  background: var(--blue);
  font-size: 14px;
  text-align: center;
  opacity: 0.8;
}

/*/////////////////////////////////////////////////////// MAINCONTENT - Account Dashboard
*/
.acctDashboard {

display: flex;

align-items: center;

justify-content: center;

flex-wrap: wrap;
}

.acctDashboard__panel {
  padding: 3em;
  box-sizing: border-box;
}

.acctDashboard__student {

height: 100%;

width: 35%;

min-width: 10em;

display: flex;

flex-direction: column;

justify-content: flex-end;

position: relative;
}

.studentPanel {background: var(--bg-light-blue);border-radius: 15px;padding: 1em 2em;backdrop-filter: blur(5px);position: relative;}

.switchStudent {
  
position: fixed;
  
bottom: 0;
  
left: 0;
  
outline: none;
  
border: 1px solid transparent;
  
padding: 0.25em 1em;
  
font-family: "League Spartan", Arial, sans-serif;
  
color: var(--grey);
  
font-size: 1em;
  
line-height: 1.5;
  
cursor: pointer;
  
transition: all 0.3s ease-in-out;
}

.switchStudent:hover {
  background-color: var(--bg-light-white);
}

.acctDashboard__parent .studentPanel {margin-top: 2em;}

.studentPanel__heading {

display: flex;

align-items: center;

justify-content: center;
}

.studentPanel__heading--avatar {

width: 5em;

height: 5em;

position: relative;
}

.studentPanel__heading--avatar img {

position: absolute;

bottom: 0;

right: 0;

height: 10vw;

width: 10vw;

max-height: 8em;

max-width: 8em;

object-fit: cover;

border-radius: 500px;

border: 0.7em solid var(--orange);
}

.acctDashboard__parent .studentPanel__heading--avatar img {
  border: 0.7em solid var(--blue);
  height: 12vw;
  width: 12vw;
  max-height: 10em;
  max-width: 10em;
}

.studentPanel__heading--content {

flex-grow: 1;

padding: 1em;

text-align: center;
}

.studentPanel__heading--content-name {

font-family: "League Spartan", Arial, sans-serif;

font-size: 1.5em;

line-height: 1.5;

font-weight: 500;

position: relative;
}

.studentPanel__heading--content-id {

font-family: "League Spartan", Arial, sans-serif;

color: var(--grey);

font-size: 1em;

line-height: 1;

font-weight: 500;
}

.studentPanel__title {

text-align: center;

margin: 0.5em auto 1em;
}

.studentPanel__title--main {

font-family: "League Spartan", Arial, sans-serif;

font-size: 1.5em;

line-height: 1.2;

font-weight: 600;

color: var(--orange);

border-bottom: 1px solid var(--orange);
}

.studentPanel__title--sub {

font-family: "League Spartan", Arial, sans-serif;

font-size: 1em;

line-height: 1.5;

font-weight: 500;
}

.studentPanel__details {

}

.studentPanel__details--title {

font-family: "League Spartan", Arial, sans-serif;

font-size: 1em;

line-height: 1.2;

font-weight: 600;
}

.studentPanel__details ul {

margin: 0.2em 1em 1em;
}

.studentPanel__details ul li {

list-style: none;

font-size: 0.8em;

line-height: 1.5;

color: var(--grey);
}

.studentPanel__details ul li b {
  
font-weight: 700;
  
color: var(--black);
}

.studentInfo,
.guardianInfo,
.deleteGuardianInfo {

display: inline-block;

height: 1em;

width: 1em;

position: absolute;

left: calc(100% + 0.5em);

top: 50%;

transform: translateY(-50%);

cursor: pointer;
}

.deleteGuardianInfo {
  
left: calc(100% - 0.75em);
}

.studentInfo svg,
.guardianInfo svg,
.deleteGuardianInfo svg {
  
height: 100%;
  
width: 100%;
  
transition: all 0.3s ease-in-out;
}

.studentInfo:hover svg,
.guardianInfo:hover svg,
.deleteGuardianInfo:hover svg {
fill: var(--orange);
}

.acctDashboard__parent {

height: 100%;

width: 35%;

min-width: 10em;

display: flex;

flex-direction: column;

justify-content: flex-end;
}

.acctDashboard__parent .guardianPanel__menus {
  
position: absolute;
  
top: -9.5em;
  
left: 5em;
  
transform: translateY(100%);
  
display: flex;
  
flex-direction: row-reverse;
}
.acctDashboard__parent .guardianPanel__menu {
  filter: grayscale(0.8);
  margin-right: -1em;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}

.acctDashboard__parent .guardianPanel__menu:hover {
  filter: grayscale(0);
}

.acctDashboard__parent .guardianPanel__menu img {
  height: 5em;
  width: 5em;
  border-radius: 500px;
  border: 0.2em solid var(--blue);
  object-fit: cover;
}

.acctDashboard__parent .generateQR {
  
background: var(--orange);
  
color: var(--white);
  
text-align: center;
  
padding: 0.5em;
  
margin-top: 2em;
  
border-radius: 5px;
  
cursor: pointer;
  
opacity: 0.8;
  
transition: all 0.3s ease-in-out;
}

.acctDashboard__parent .generateQR:hover {
  opacity: 1;
}

.generateQR__image {
  
margin: auto;
  
display: block;
  
height: 15em;
}

.acctDashboard__links {

height: 100%;

width: 25%;

min-width: 5em;

padding: 3em 2em;

display: flex;

flex-direction: column;

align-items: center;

justify-content: space-between;
}

.linkPanel {

background: var(--bg-light-white);

border-radius: 5px;

padding: 1em 2em;

backdrop-filter: blur(5px);
}

.linkPanel__title {

font-family: "League Spartan", Arial, sans-serif;

font-size: 1.5em;

line-height: 1.5;

font-weight: 500;

margin-bottom: 1em;
}

.linkPanel__link {

display: flex;

align-items: center;

justify-content: flex-start;

gap: 1em;

color: var(--grey);

margin-bottom: 0.5em;
}

.linkPanel__link.c2a {
  color: var(--orange);
}

.linkPanel__link:hover {
  color: var(--orange);
}

.linkPanel__link.c2a:hover {
  color: var(--bg-orange);
}

.linkPanel__link--image {

height: 0.8em;
}

.linkPanel__footer {

font-size: 0.7em;

line-height: 1.2;

text-align: center;
}

.linkPanel__footer--logo {

height: 5em;
}

.linkPanel__footer--title {

font-family: "League Spartan", Arial, sans-serif;

font-size: 1.3em;

line-height: 1.5;

font-weight: 500;

margin-bottom: 0.5em;
}

.enrollmentTable {
  margin-top: 1em;
}
.enrollmentTable th {

font-family: "League Spartan", Arial, sans-serif;

font-size: 0.8em;
}
.enrollmentTable td {
  padding: 0.1em;
}
.enrollmentTable td input {
  margin: 0;
}

/*/////////////////////////////////////////////////////// NEED DESKTOP
*/

.stmtAccount {

}


/*/////////////////////////////////////////////////////// NEED DESKTOP
*/

.needDesktop {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    background: var(--orange);
    color: var(--orange);
    align-items: center;
    justify-content: center;
    z-index: 999999;
    padding: 5em;
    box-sizing: border-box;
    text-align: center;
    display: none;
}

.needDesktop div {
  color: var(--orange);
}

/*/////////////////////////////////////////////////////// OVERLAY FORM
*/

.copy {
    position: relative;
    display: inline-block;
    padding: 0.5em 1em;
}

.copy:after {
    content: 'Copy';
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    text-align: center;
    background-color: var(--bg-dark-blue);
    font-size: 0.8em;
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    cursor: pointer;
    font-family: "Nunito", Arial, sans-serif;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.copy:hover:after {
    opacity: 1;
}

.cookieLoader {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    z-index: 9999;
    background: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
}

.cookieLoader .loader {
    max-width: 50vw;
    max-height: 50vh;
}

.overlay--cart,
.overlay {
    height: 100vh;
    width: 100vw;
    background: var(--bg-blue);
    position: fixed;
    z-index: 200;
    top: 0;
    left: 0;
    backdrop-filter: blur(15px);
    transition: all 0.3s ease-in-out;
    display: none;
}

.overlay__preloader--cart,
.overlay__preloader {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 5em;
    width: 5em;
}

.overlayFormBox {
    position: absolute;
    min-height: 10em;
    max-height: 90vh;
    min-width: 20em;
    max-width: 90vw;
    overflow: auto;
    background: var(--white);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 5px;
    box-shadow: 2px 3px 10px -1px var(--bg-dark-blue);
    padding: 1em;
    }

.overlayFormBox__close {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8em;
    line-height: 1;
    font-family: "Nunito", Arial, sans-serif;
    height: 2em;
    width: 2em;
    border-radius: 500px;
    color: var(--grey);
    position: absolute;
    top: 1em;
    cursor: pointer;
    z-index: 5;
    transition: all 0.3s ease-in-out;
    right: 1em;
}

.overlayFormBox__close svg {
  fill: var(--bg-grey);
  transition: all 0.3s ease-in-out;
}

.overlayFormBox__close:hover svg {
    fill: var(--grey);
}

.button.overlayFormBox__close {
    color: var(--white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: auto;
    padding: 0.8em 3em;
    overflow: hidden;color: #fff;
    text-align: center;
    background-color: var(--blue);
    font-size: 1em;line-height: 1;border: none;
    border-radius: 3px;
    cursor: pointer;
    font-family: "Nunito", Arial, sans-serif;
    height: auto;
    width: auto;
    top: unset;
    transition: background-color 0.3s ease-in-out;
}

.button.overlayFormBox__close:hover {
    background-color: var(--dark-blue);
}

.overlayForm {

}

.page__notif {
    border-top: 1px solid #52525226;
    box-shadow: 0px -3px 10px #52525240;
    background-color: #FFF;
    position: fixed;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 100%;
    height: auto;
    overflow: hidden;
    opacity: 1;
    box-sizing: border-box;
    padding: 15px;
    text-align: center;
    display: -moz-flex;
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease-in-out;
    z-index: 300;
}

.page__notif--inactive {
    height: 0;
    padding: 0;
    opacity: 0;
}

.page__notif--remove {
    display: none;
}

/*/////////////////////////////////////////////////////// FOOTER
*/

footer {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100vw;
  height: 20em;
  background: var(--blue);
  color: var(--white);
  padding: 1em 5em;
  box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
}

footer .logo {
  font-size: calc((75vw - 4.5rem) / 7);
  font-family: "Nunito", Arial, sans-serif;
  line-height: 1;color: var(--white);
  margin-left: -0.3em;
}

footer .menus {
  display: flex;
  align-items: flex-start;
  flex-direction: row;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 5em;
  width: 100%;
  max-width: unset;
  height: auto;
  background: var(--blue);
  box-shadow: none;
  padding: 1em;
  }

footer .menus__panel,
footer .menus__panel h3,
footer .menus__panel ul li,
footer .menus__panel ul li a {
  color: var(--white);
  font-synthesis: none;
  -moz-font-feature-settings: 'kern';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeSpeed;
}

footer .menus__panel ul {
  list-style-type: none;
}

footer .menus__panel ul li {
  font-size: 0.8em;
}

footer .menus__panel ul li a {
  font-family: "Nunito", Arial, sans-serif;
  transition: all 0.3s ease-in-out;
}

footer .menus__panel ul li a:hover {
  opacity: 0.8;
}

footer .footer__socials-wrapper {
  margin-right: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
footer .footer__socials--logo {

height: 10em;

margin-bottom: 1em;
}
footer .footer__socials {display: flex;align-items: center;justify-content: center;gap: 1em;}
footer .footer__social {
height: 1.5em;
width: 1.5em;
display: block;
}

footer .footer__social svg {
display: block;
height: 100%;
width: 100%;
fill: var(--white);
transition: all 0.3s ease-in-out;
}

footer .footer__social:hover svg {

fill: var(--bg-light-white);
}

footer .copyright {
  font-size: 0.8em;
  color: var(--white);
  letter-spacing: 0.1em;
  text-align: center;
  box-sizing: border-box;
  background: var(--blue);
  margin-bottom: 1em;
}



/*/////////////////////////////////////////////////////// ERROR 404
*/

.errorPopup {
    width: 50vw;
    margin: 0;
}

.error {
    padding-top: 20em;
    text-align: center;
}

.errorPopup .error {
    padding: 10em 0;
    margin: auto;
}

.error a {
    margin: 1em;
}

/*/////////////////////////////////////////////////////// OVERRIDE
*/

.gap1 {
  gap: 1em;
}

.gap2 {
  gap: 2em;
}

.hide {
    opacity: 0;
}

.show {
    opacity: 1;
}

.animateOnScroll {
    opacity: 0;
}

.mobile-only {
    display: none;
}

.red {
    color: var(--red);
}

.green {
    color: var(--green);
}

.yellow {
    color: var(--yellow);
}

.blue {
    color: var(--blue);
}

.red svg .fil1 {
  fill: var(--red);
}

.green svg .fil1 {
  fill: var(--green);
}

.yellow svg .fil1 {
  fill: var(--yellow);
}

.blue svg .fil1 {
  fill: var(--blue);
}

.font-regular {
  font-family: "Nunito", Arial, sans-serif !important;
}

.font-script {
  font-family: "Script", 'Brush Script MT', cursive !important;
}

/*/////////////////////////////////////////////////////// NOJS
*/

.noscriptmsg__box {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    z-index: 1000;
    background: #00000099;
    display: flex;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(10px);
}

.noscriptmsg {
    font-family: "League Spartan", Arial, sans-serif;
    color: var(--white);
    font-size: 1.5em;
    max-width: 1200px;
    width: 50vw;
    text-align: center;
}


/*/////////////////////////////////////////////////////// ANIMATION
*/

.hover-ul {
  display: inline-block;
  position: relative;
}

.hover-ul:after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1px;
  bottom: 0;
  left: 0;
  background-color: var(--blue);
  transform-origin: bottom right;
  transition: transform 0.25s ease-out;
}

.hover-ul:hover:after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.slide-in-left {
    -webkit-animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
            animation: slide-in-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes slide-in-left {
  0% {
    -webkit-transform: translateX(-500px);
            transform: translateX(-500px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slide-in-left {
  0% {
    -webkit-transform: translateX(-500px);
            transform: translateX(-500px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

.slide-in-right {
    -webkit-animation: slide-in-right 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
            animation: slide-in-right 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes slide-in-right {
  0% {
    -webkit-transform: translateX(1000px);
            transform: translateX(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slide-in-right {
  0% {
    -webkit-transform: translateX(1000px);
            transform: translateX(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

.slide-in-bottom {
    -webkit-animation: slide-in-bottom 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
            animation: slide-in-bottom 0.7s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes slide-in-bottom {
  0% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-in-bottom {
  0% {
    -webkit-transform: translateY(100px);
            transform: translateY(100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

.slide-in-top {
    -webkit-animation: slide-in-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
            animation: slide-in-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes slide-in-top {
  0% {
    -webkit-transform: translateY(-1000px);
            transform: translateY(-1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slide-in-top {
  0% {
    -webkit-transform: translateY(-1000px);
            transform: translateY(-1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}

.slide-out-top {
    -webkit-animation: slide-out-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
            animation: slide-out-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}
@-webkit-keyframes slide-out-top {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(-150px);
            transform: translateY(-150px);
    opacity: 0;
  }
}
@keyframes slide-out-top {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  100% {
    -webkit-transform: translateY(-150px);
            transform: translateY(-150px);
    opacity: 0;
  }
}

.scale-up-center {
    -webkit-animation: scale-up-center 0.8s cubic-bezier(0.445, 0.050, 0.550, 0.950) both;
    animation: scale-up-center 0.8s cubic-bezier(0.445, 0.050, 0.550, 0.950) both;
}
@-webkit-keyframes scale-up-center {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
            opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
            opacity: 1;
  }
}
@keyframes scale-up-center {
  0% {
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
            opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
            opacity: 1;
  }
}

.zoom-out-center {
    -webkit-animation: zoom-out-center 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
            animation: zoom-out-center 1s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@-webkit-keyframes zoom-out-center {
  0% {
    -webkit-transform: translateZ(600px) scale(1.5);
            transform: translateZ(600px) scale(1.5);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0) scale(1);
            transform: translateZ(0) scale(1);
    opacity: 1;
  }
}
@keyframes zoom-out-center {
  0% {
    -webkit-transform: translateZ(600px) scale(1.5);
            transform: translateZ(600px) scale(1.5);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0) scale(1);
            transform: translateZ(0) scale(1);
    opacity: 1;
  }
}


.fade-in {
-webkit-animation: fadeIn cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s;
-moz-animation: fadeIn cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s;
-o-animation: fadeIn cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s;
-ms-animation: fadeIn cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s;
animation: fadeIn cubic-bezier(0.250, 0.460, 0.450, 0.940) 1s;
}
@keyframes fadeIn {
0% {opacity:0;}
100% {opacity:1;}
}

@-moz-keyframes fadeIn {
0% {opacity:0;}
100% {opacity:1;}
}

@-webkit-keyframes fadeIn {
0% {opacity:0;}
100% {opacity:1;}
}

@-o-keyframes fadeIn {
0% {opacity:0;}
100% {opacity:1;}
}

@-ms-keyframes fadeIn {
0% {opacity:0;}
100% {opacity:1;}
}

.fade-in-out {
animation: fadeInOut cubic-bezier(0.250, 0.460, 0.450, 0.940) 6s forwards;
-webkit-animation: fadeInOut cubic-bezier(0.250, 0.460, 0.450, 0.940) 6s forwards;
-moz-animation: fadeInOut cubic-bezier(0.250, 0.460, 0.450, 0.940) 6s forwards;
-o-animation: fadeInOut cubic-bezier(0.250, 0.460, 0.450, 0.940) 6s forwards;
-ms-animation: fadeInOut cubic-bezier(0.250, 0.460, 0.450, 0.940) 6s forwards;
}
@keyframes fadeInOut {
0%, 100% {opacity:0;}
25%, 75% {opacity:1;}
}

@-moz-keyframes fadeInOut {
0%, 100% {opacity:0;}
25%, 75% {opacity:1;}
}

@-webkit-keyframes fadeInOut {
0%, 100% {opacity:0;}
25%, 75% {opacity:1;}
}

@-o-keyframes fadeInOut {
0%, 100% {opacity:0;}
25%, 75% {opacity:1;}
}

@-ms-keyframes fadeInOut {
0%, 100% {opacity:0;}
25%, 75% {opacity:1;}
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}


/*/////////////////////////////////////////////////////// ANIMATION
*/
.preloader {
    height: 15em;
    width: 15em;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.loader {
    position: relative;
    margin: 0 auto;
    width: 100%;
}

.loader::before {
    content: '';
    display: block;
    padding-top: 100%;
}

.circular {
    animation: rotate 2s linear infinite;
    height: 100%;
    transform-origin: center center;
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.path {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
    animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
    stroke-linecap: round;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}

@keyframes color {
  100%,
  0% {
    stroke: var(--blue);
  }
  40% {
    stroke: var(--dark-blue);
  }
  66% {
    stroke: var(--bg-blue);
  }
  80%,
  90% {
    stroke: var(--bg-dark-blue);
  }
}

#preloader__inline.background {
    position: relative;
    width: 100%;
    height: 100%;
}

#preloader__inline .dots{
    
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#preloader__inline .dots span{
    -webkit-transition: all 6000ms ease;
    transition: all 6000ms ease;
    background: rgba(198,12,48,.5);
    height: 10px;
    width: 10px;
    margin: 0 2px 0 0;
    display: inline-block;
    border-radius: 50%;
    animation: wave 2s ease  infinite;
    -webkit-animation: wave 2s ease infinite;
}  

#preloader__inline .dots span:nth-child(1){  
    animation-delay: 0;
    -webkit-animation-delay: 0;
}

#preloader__inline .dots span:nth-child(2){  
    animation-delay: 100ms;
    -webkit-animation-delay: 100ms;
}

#preloader__inline .dots span:nth-child(3){  
    animation-delay: 200ms;
    -webkit-animation-delay: 200ms;
}

@-webkit-keyframes wave{
  0%, 40%, 100% { 
    -webkit-transform: translate(0, 0); 
    transform: translate(0, 0);
    background-color: var(--blue);    
  }
  10% { 
    -webkit-transform: translate(0, -15px); 
    transform: translate(0, -15px); 
    background-color: var(--dark-blue);    
  }  
}

@keyframes wave{
  0%, 40%, 100% { 
    -webkit-transform: translate(0, 0); 
    transform: translate(0, 0);
    background-color: var(--blue);    
  }
  10% { 
    -webkit-transform: translate(0, -15px); 
    transform: translate(0, -15px); 
    background-color: var(--dark-blue);    
  }  
}