@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,600,0,0');
@import url('https://fonts.googleapis.com/css?family=Google+Sans:100,200,300,400,500,600,700,800,900&display=swap&subset=latin-ext');

:root { color-scheme: dark; }
:root[data-theme="light"] { color-scheme: light; }

* { box-sizing: border-box; margin: 0; padding: 0; outline: 0; }

[hidden] { display: none !important; }

::-webkit-scrollbar { width: 3px; height: 3px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(120, 62, 147, .78); border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background: #783E93; }

* { scrollbar-width: thin; scrollbar-color: rgba(120, 62, 147, .78) transparent; }

html {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;
}

body {
    position: relative;
    width: 100vw;
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    font-family: 'Google Sans', Arial, Helvetica, sans-serif;
    font-weight: 400;
    letter-spacing: 0;
}

figure, img { display: inline-block; }
figcaption { text-align: center; }
textarea { resize: none; font-family: inherit; }
textarea:placeholder-shown,
input[type="text"]:placeholder-shown,
input[type="tel"]:placeholder-shown,
input[type="email"]:placeholder-shown { font-style: italic; }

input, textarea, a, .button { transition: .4s; }
input[type="button"], button, .button { cursor: pointer; }
li { list-style: none; }
a { display: block; text-decoration: none; cursor: pointer; }
p { font-weight: 300; }

.error { color: #e35b5b; }
.success { color: #A3C16C; }
.warn { color: #d97747; }

.inlineError,
.inlineSuccess,
.inlineWarn { display: inline-block; padding: 20px; }

icon, .icon {
    display: inline-block;
    width: 22px;
    height: 22px;
    overflow: hidden;
}

.material-symbols-outlined {
    display: inline-block;
    width: fit-content;
    height: fit-content;
    overflow: hidden;
    font-size: 16px;
    line-height: 1;
    font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 48;
}

loader {
    position: fixed;
    z-index: 99999;
    width: 64px;
    height: 64px;
    top: 50%;
    left: 50%;
    margin: -32px 0 0 -32px;
    display: none;
    opacity: 0;
}

.loaderActive {
    display: inline-block;
    animation: loaderCome .3s linear forwards;
}

.loaderActive:after {
    content: "";
    display: block;
    width: 46px;
    height: 46px;
    margin: 1px;
    border-radius: 50%;
    border: 5px solid #783E93;
    border-color: #783E93 transparent #783E93 transparent;
    animation: loaderActive 1.2s linear infinite;
}

.loaderGone {
    animation: loaderGone .3s linear forwards;
}

@keyframes loaderActive {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes loaderCome {
    0% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes loaderGone {
    0% { opacity: 1; }
    100% { opacity: 0; }
}
