/* ---------- Index ---------- */

.index {
    width: 1024px;
    margin: 0;
    padding: 150px calc(50% - 512px) 0 calc(50% - 512px);
}

/* ---------- Container ---------- */

.container {
    display: flex;
    margin: 0px 0;
    padding: 0;
}

.container_left, .container_right {
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: center;
    width: 50%;
    margin: 0;
    padding: 0;
}

/* ---------- Texte ---------- */

.container_title {
    width: 450px;
    margin: 0;
    padding: 0;
    color: var(--ilo-black);
    font-family: 'poppins', 'IBM Plex Sans', 'IBM Plex Sans Arabic', 'IBM Plex Sans JP', 'IBM Plex Sans KR', sans-serif;
    font-size: var(--ilo-large);
    text-align: right;
}

.container_text {
    width: 450px;
    margin: 16px 0 0 0;
    padding: 0;
    color: var(--ilo-black);
    font-family: 'montserrat', 'Noto Sans', 'Noto Sans Arabic', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans SC', sans-serif;
    font-size: var(--ilo-light);
    text-align: right;
    line-height: 32px;
}

/* ---------- Button ---------- */

.container_button {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 16px 0 0 0;
    padding: 8px 12px;
    outline: none;
    border: 2px solid var(--ilo-blue);
    border-radius: 7px;
    background-color: var(--ilo-white);
    color: var(--ilo-blue);
    font-family: 'poppins', 'IBM Plex Sans', 'IBM Plex Sans Arabic', 'IBM Plex Sans JP', 'IBM Plex Sans KR', sans-serif;
    font-size: var(--ilo-extra-extra-light);
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition-duration: 150ms;
}

.container_button svg {
    width: 24px;
    height: 24px;
    margin: 0;
    padding: 0;
    fill: var(--ilo-blue);
}

.container_button:hover {
    background-color: var(--ilo-blue);
    color: var(--ilo-white);
}

.container_button:hover svg {
    fill: var(--ilo-white);
}

/* ---------- Image ---------- */

.container_img {
    width: 500px;
    margin: 0;
    padding: 0;
    border-radius: 30px;
}

/* ---------- Resize ---------- */

@media only screen and (max-width: 1148px) {
    .index {
        width: 90%;
        padding: 150px 5% 0 5%;
    }

    .container {
        flex-direction: column-reverse;
        justify-content: center;
    }

    .container_left, .container_right {
        width: 100%;
        align-items: center;
    }

    .container_title, .container_text {
        width: 500px;
        text-align: left;
    }

    .container_img {
        margin: 20px 0 0 0;
    }
}

@media only screen and (max-width: 778px) {
    .container_title {
        width: 100%;
        font-size: var(--ilo-medium);
    }
    
    .container_text {
        width: 100%;
        font-size: var(--ilo-extra-light);
    }

    .container_img {
        width: 100%;
        height: 100%;
    }
}