@font-face {
    font-family: 'montserrat-italic';
    src: url('../fonts/Montserrat-Italic-VariableFont_wght.ttf');
    font-display: swap;
}

@font-face {
    font-family: 'montserrat';
    src: url('../fonts/Montserrat-VariableFont_wght.ttf');
    font-display: swap;
}

::-webkit-scrollbar {
    width: 20px;
}

::-webkit-scrollbar-track {
    background-color: transparent;
}

::-webkit-scrollbar-thumb {
    background-color: #d6dee1;
    border-radius: 20px;
    border: 6px solid transparent;
    background-clip: content-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'montserrat';
}

.text-justify {
    text-align: justify;
}

#header__corner {
    border-style: solid;
    border-width: 0 40vw 80vh 0;
    border-color: transparent #049ce4 transparent transparent;
    right: 0;
    top: 0;
    position: absolute;
    z-index: 0;
}

#header__block {
    z-index: 1;
}

.bg-primary {
    background-color: #049ce4 !important;
}

.text-primary {
    color: #049ce4 !important;
}

.w-10rem { width: 10rem; }

.fss {
    font-size: 2.3vh;
}

.text-shadow-white {
    text-shadow: 1px 1px white;
}

.display-3 {
    font-size: 3vmax;
    letter-spacing: 3px;
}


@media screen and (max-width: 770px) {
    #header__corner {
        border-width: 0 40vw 40vh 0;
    }
}

@media screen and (max-width: 630px) {
    #header__corner {
        border-width: 0 30vw 30vh 0;
    }
}

@media screen and (max-width: 515px) {
    .fss {
        font-size: 1.75vh;
    }
}

@media screen and (max-width: 300px) {
    .fss {
        font-size: 1.25vh;
    }
}

@media screen and (min-width: 2000px) {
    .display-3 {
        font-size: 2vmax;
    }
}

@media screen and (min-width: 2400px) {
    .display-3 {
        font-size: 1.5vmax;
    }

    .fss {
        font-size: 1.5vh;
    }
}

@media screen and (min-width: 3000px) {
    .display-3 {
        font-size: 0.90vmax;
    }

    .fss {
        font-size: 1vh;
    }
}

.text-right {
    text-align: right;
}

.pl-10 {
    padding-left: 10px;
}

.zoomable {
    opacity: 0.9;
    transition: 0.3s;
}

.zoomable:hover {
   opacity: 1;
}

.btn-primary {
    background-color: #049ce4 !important;
    border: 1px solid #049ce4 !important;
}

.btn {
    opacity: 0.8;
    transition: 0.3s;
}

.btn:hover {
    opacity: 1;
}

.btn-white {
    border: 1px solid white;
    border-bottom: 5px solid white;
    transition: 0.3s;
    border-radius: 15px;
}

.btn-white:hover {
    border-bottom: 1px solid white;
}

.border-dashed-main {
    border: 5px dashed #049ce4;
}

.blue-triangle-list {
    list-style: none;
}

.blue-triangle-list li::before {
    content: ">";
    color: #049ce4;
    font-weight: bold;
    display: inline-block; 
    width: 1em;
    margin-left: -1em;
    content: "";
    border-color: transparent #049ce4;
    border-style: solid;
    border-width: 0.35em 0 0.35em 0.45em;
    display: block;
    height: 0;
    width: 0;
    top: 1.25em;
    position: relative;
}

#header__square {
    position: absolute;
    content: '';
    top: 170px;
    right: 80%;
    overflow: hidden;
    width: 800px;
    height: 800px;
    border: 5px solid #f4f4f4;
    display: block;
    border-color: #f4f4f4;
    -webkit-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    transform: rotate(30deg);
    z-index: 0;
}

#header__waves {
    position: absolute;
    width: 100%;
    height: 100%;
}

#header__waves:before {
    position: absolute;
    content: '';
    top: 750px;
    right: 0;
    width: 170px;
    height: 140px;
    background: #049ce4;
    z-index: -1;
    -webkit-clip-path: polygon(34% 32%, 64% 46%, 100% 31%, 100% 55%, 65% 70%, 33% 56%, 0 61%, 0 39%);
    clip-path: polygon(34% 32%, 64% 46%, 100% 31%, 100% 55%, 65% 70%, 33% 56%, 0 61%, 0 39%);
    -webkit-box-shadow: 0 31px 35px rgb(0 0 0 / 10%);
    box-shadow: 0 31px 35px rgb(0 0 0 / 10%);
}

#header__waves:after {
    position: absolute;
    content: '';
    top: 800px;
    right: 0;
    width: 170px;
    height: 140px;
    background: #049ce4;
    z-index: -1;
    -webkit-clip-path: polygon(34% 32%, 64% 46%, 100% 31%, 100% 55%, 65% 70%, 33% 56%, 0 61%, 0 39%);
    clip-path: polygon(34% 32%, 64% 46%, 100% 31%, 100% 55%, 65% 70%, 33% 56%, 0 61%, 0 39%);
    -webkit-box-shadow: 0 31px 35px rgb(0 0 0 / 10%);
    box-shadow: 0 31px 35px rgb(0 0 0 / 10%);
}

#articles__container img {
    max-height: 200px;
}

.loader {
    border: 16px solid #f3f3f3; 
    border-top: 16px solid #3498db;
    border-radius: 50%;
    width: 120px;
    height: 120px;
    animation: spin 2s linear infinite;
}

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

.mh-300 {
  min-height: 350px;
}

.mxh-400 {
    max-height: 350px;
}

#articles__waves:before {
    position: absolute;
    content: '';
    top: 430px;
    left: -25px;
    width: 170px;
    height: 140px;
    background: #049ce4;
    z-index: -1;
    -webkit-clip-path: polygon(34% 32%, 64% 46%, 100% 31%, 100% 55%, 65% 70%, 33% 56%, 0 61%, 0 39%);
    clip-path: polygon(34% 32%, 64% 46%, 100% 31%, 100% 55%, 65% 70%, 33% 56%, 0 61%, 0 39%);
    -webkit-box-shadow: 0 31px 35px rgb(0 0 0 / 10%);
    box-shadow: 0 31px 35px rgb(0 0 0 / 10%);
}

#articles__waves:after {
    position: absolute;
    content: '';
    top: 380px;
    left: -25px;
    width: 170px;
    height: 140px;
    background: #049ce4;
    z-index: -1;
    -webkit-clip-path: polygon(34% 32%, 64% 46%, 100% 31%, 100% 55%, 65% 70%, 33% 56%, 0 61%, 0 39%);
    clip-path: polygon(34% 32%, 64% 46%, 100% 31%, 100% 55%, 65% 70%, 33% 56%, 0 61%, 0 39%);
    -webkit-box-shadow: 0 31px 35px rgb(0 0 0 / 10%);
    box-shadow: 0 31px 35px rgb(0 0 0 / 10%);
}

#footer__level1 {
    border-top: 4px dashed #d4d4d4;
    background-color: #f2f2f2;
}

.mxh-100 {
    max-height: 100px;
}

.mxw-750 {
    max-width: 750px;
}

#newsletter {
    position: absolute;
    top: 0;
}

#newsletter__content {
    border: 4px dashed white;
}

.vertical-center {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
