/* STYLES CSS */

/* ---------------------------------------------------------------------------------------------------------------------- */

/* START RESPONSIV FUNCTIONS */

/* ---------------------------------------------------------------------------------------------------------------------- */

/* desktop */
@media (min-width: 1025px) {
    .hidden-desktop {
        display: none!important;
    }
}

/* tablette */
@media (min-width: 769px) and (max-width: 1024px) {
    .hidden-tablette {
        display: none!important;
    }
}

/* mobile */
@media (max-width: 768px) {
    .hidden-mobile {
        display: none!important;
    }
}

/* ---------------------------------------------------------------------------------------------------------------------- */

/* END RESPONSIV FUNCTIONS */

/* ---------------------------------------------------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------------------------------------------------- */

/* START FONTS */

/* ---------------------------------------------------------------------------------------------------------------------- */

/* import fonts */
@font-face {
    font-family: 'Roboto-Bold';
    src: url('../assets/fonts/Roboto-Bold.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Roboto-Medium';
    src: url('../assets/fonts/Roboto-Medium.ttf') format('truetype');
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('../assets/fonts/Roboto-Regular.ttf') format('truetype');
    font-display: swap;
}

/* ---------------------------------------------------------------------------------------------------------------------- */

/* END FONTS */

/* ---------------------------------------------------------------------------------------------------------------------- */

/* ---------------------------------------------------------------------------------------------------------------------- */

/* START SETTINGS */

/* ---------------------------------------------------------------------------------------------------------------------- */

:root {

    /* color palette */
    --white-color: #F6ECF6;
    --grey-color: #EFDDEE;
    --dark-grey-color: #423f49;
    --dark-color: #08001A;
    --lightness-color: #A7A3A7;
    --darkness-color: #36343C;

    --primary-color: #ef00d7;
    --secondary-color: #5200ff;
    --third-color: #16133e;

    --grey-bg: #6c6976;

    /* darkmode color palette */
    --primary-darkmode-color: #ffacee;
    --secondary-darkmode-color: #fb7ee5;
    --bg-body: #383545;
    --bg-darkness-element: #211e2f;
    --bg-2-darkness-element: #514e5d;
    --bg-3-darkness-element: #615469;

    /* font */
    --title-font: 'Roboto-Bold', 'sans-serif';
    --weight-text-font: 'Roboto-Medium', 'sans-serif';
    --text-font: 'Roboto', 'sans-serif';

    /* responsiv value */
    --res: calc(0.01 * 10vmin);

    /* font size base */
    --font-size-base: 14px;
    --line-height-base: 18px;

}

@media (min-width: 1920px) {
    :root {
        --font-size-base: 16px;
        --line-height-base: 24px;
    }
}

body {
    padding: 0px 8px 8px 8px;
    font-size: var(--font-size-base);
    overflow: hidden;
}

/* typographic scale */
h1 {
    font-size: calc(61.04 * var(--res));
    font-family: var(--title-font);
    line-height: 110%;
}
h2 {
    font-size: calc(48.83 * var(--res));
    font-family: var(--text-font);
    line-height: 120%;
}
h3 {
    font-size: calc(39.06 * var(--res));
    font-family: var(--text-font);
    line-height: calc(39.06 * var(--res));
}
h4 {
    font-size: calc(31.25 * var(--res));
    font-family: var(--text-font);
    line-height: calc(31.25 * var(--res));
}
h5 {
    font-size: calc(25 * var(--res));
    font-family: var(--text-font);
    line-height: calc(25 * var(--res));
}
h6 {
    font-size: calc(20px * var(--res));
    font-family: var(--text-font);
    line-height: calc(20px * var(--res));
}

a {
    font-size: var(--font-size-base);
    font-family: var(--text-font);
    line-height: 24px;
}

strong {
    font-size: var(--font-size-base);
    font-family: var(--weight-text-font);
    font-weight: 500;
}

.small {
    font-size: 12.8px;
}

p, ul, ol, li, i, a, u, b {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
}

/* text align */
.t-center {
    text-align: center;
}
.t-justify {
    text-align: justify;
}

/* hight light effect whene select text */
::selection {
    background: var(--secondary-color);
    color: var(--white-color);
}
::-moz-selection {
    background: var(--secondary-color);
    color: var(--white-color);
}
a::selection, a::-moz-selection {
    background: none;
    color: inherit;
}

/* ---------------------------------------------------------------------------------------------------------------------- */

/* END SETTINGS */

/* ---------------------------------------------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------------------------------------------- */

/* START DARKMODE */

/* ---------------------------------------------------------------------------------------------------------------------- */

body.light {
    background-color: var(--white-color);
}
body.dark {
    background-color: var(--bg-body);
}

body.dark section.hero, body.dark footer {
    background: var(--bg-darkness-element)!important;
}
body.dark section.darkness-section > div {
    background: var(--bg-darkness-element)!important;
}
body.dark .fourth-button.darkness {
    color: var(--white-color);
    border-color: var(--white-color);
    background-color: transparent;
}

/* text color whene lightmode actived */
body.light h1, body.light h2, body.light h3, body.light h4, body.light h5, body.light h6 {
    color: var(--dark-color);
}
body.light p, body.light ul, body.light ol, body.light li, body.light i, body.light u, body.light b {
    font-family: var(--text-font);
    color: var(--darkness-color);
}
body.light strong {
    font-family: var(--text-font);
    font-weight: 500;
    color: var(--dark-color);
}
/* text color whene darkmode actived */
body.dark h1, body.dark h2, body.dark h3, body.dark h4, body.dark h5, body.dark h6 {
    color: var(--white-color);
}
body.dark p, body.dark ul, body.dark ol, body.dark li, body.dark i, body.dark u, body.dark b {
    font-family: var(--text-font);
    color: var(--lightness-color);
}
body.dark strong {
    font-family: var(--text-font);
    font-weight: 500;
    color: var(--white-color);
}

body.light .lightness-element {
    background: var(--third-color);
}
body.light .lightness-element p, body.light .lightness-element strong {
    color: var(--darkness-color) !important;
}
body.dark .lightness-element {
    background: var(--bg-darkness-element);
}
body.dark .lightness-element strong {
    color: var(--white-color) !important;
}
body.dark .lightness-element p {
    color: var(--lightness-color) !important;
}

/* ---------------------------------------------------------------------------------------------------------------------- */

/* END DARKMODE */

/* ---------------------------------------------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------------------------------------------- */

/*  START ELEMENTS */

/* ---------------------------------------------------------------------------------------------------------------------- */

/* section */
main {
    transform: translateY(-100%);
}
main.apear {
    will-change: transform;
    animation: mainApear 300ms ease-in-out both;
}
@keyframes mainApear {
    to {
        transform: translateY(0%);
    }
}
main::-webkit-scrollbar {
    display: none;
}
main div#main-section {
    scroll-snap-type: y mandatory;
    overflow-y: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
    height: 100vh;
}
@media (max-width: 768px) {
    main div#main-section {
        scroll-snap-type: initial;
    }
}
main section, main footer {
    background-attachment: fixed !important;
    scroll-snap-align: start;
}

section.darkness-section {
    padding: 8px 0px;
}
section.lightness-section > div {
    height: 100vh;
    max-width: 1424px;
    padding: 0px 152px;
    margin: 0px auto;
}
section.darkness-section > div {
    height: calc(100vh - 20px);
    border-radius: 56px;
    background: radial-gradient(177.13% 121.22% at 15.66% 35.67%, rgba(82, 0, 255, 0.08) 14%, rgba(8, 0, 26, 0.08) 70.5%), radial-gradient(195.4% 114.15% at 102.12% 80.23%, rgba(239, 0, 215, 0.08) 14%, rgba(8, 0, 26, 0.08) 70.5%), var(--dark-color);
}
section.darkness-section > div > div {
    max-width: 1424px;
    padding: 152px;
    margin: 0px auto;
}

/* section line */
.line {
    display: flex;
    flex-direction: row;
}
/* section column */
.column {
    display: flex;
    flex-direction: column;
}

/* responsiv */
/* mobile */
@media (max-width: 768px) {
    section.lightness-section > div {
        padding: 72px 16px;
        height: fit-content;
        min-height: calc(100vh - 144px);
    }
    section.darkness-section > div {
        padding: 72px 16px;
        height: fit-content;
        min-height: calc(100vh - 160px);
    }
}
/* tablette */
@media (min-width: 769px) and (max-width: 1024px) {
    section.lightness-section > div {
        padding: 72px 56px;
        height: fit-content;
        min-height: calc(100vh - 144px);
    }
    section.darkness-section > div {
        padding: 72px 56px;
        height: fit-content;
        min-height: calc(100vh - 160px);
    }
    section.darkness-section > div > div {
        max-width: 1424px;
        padding: 0px;
        margin: 0px auto;
    }
}


/* ---------------------------------------------------------------------------------------------------------------------- */

/*  END ELEMENTS */

/* ---------------------------------------------------------------------------------------------------------------------- */


/* ---------------------------------------------------------------------------------------------------------------------- */

/*  START anti throuthling */

/* ---------------------------------------------------------------------------------------------------------------------- */

/* Header */
header {
    position: fixed;
    width: calc(100% - 16px);
    z-index: 999;
    transition: 300ms ease;
    opacity: 0;
}

.bottom-float-container {
    position: fixed;
    bottom: 0;
    width: calc(100% - 16px);
    z-index: 999;
    transition: 300ms ease;
    opacity: 0;
}

/* ---------------------------------------------------------------------------------------------------------------------- */

/*  END anti throuthling */

/* ---------------------------------------------------------------------------------------------------------------------- */