body,
main {
    max-width: 100vw;
    width: 100vw;
    background-color: var(--background-white);
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow-x: hidden;
    margin: 0;
}

:root {
    --contrast: #333333;
    --contrast-two: #666666;
    --contrast-three: #7F9DF6;
    --background-white: #FFFFFF;
    --backgroud-blue: #90acf7;
    --background-purple: #ecf2fe;
    --accent-tree: #3371f2;
}
input[type='radio']{
    accent-color:red;
}

p,
a,
li {
    font-family: 'Roboto', 'Times New Roman', 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    color: var(--contrast-two);
    font-size: 1.1rem;
    line-height: 1.6rem;
}

a {
    text-decoration: none;
    font-weight: 500;
}

section {
    display: flex;
    justify-content: center;
    width: 100vw;
}

section > div:nth-child(1) {
    width: 80vw;
    max-width: 100%;
}

h1,
h2,
h3,
h4,
h5 {
    font-family: "Raleway", 'Times New Roman', Times, serif;
    font-optical-sizing: auto;
    font-style: normal;
    margin: 0;
}

figure {
    margin: 0
}

img {
    -webkit-user-drag: none;
}

header,
footer {
    display: flex;
    justify-content: center;
}

header > div,
footer > div {
    width: 80vw;
}

header nav,
footer nav {
    visibility: hidden;
    display: none;
}

h2 {
    font-weight: 400;
}

h4 {
    font-size: clamp(1.25rem, 1.25rem + ((1vw - 0.2rem) * 1.25), 2rem);
    font-weight: 600;
    color: var(--contrast-two);
}

header {
    display: flex;
    align-items: center;
    justify-content: center;
    text-wrap: nowrap;
    padding: 2vh 0;
    background-color: var(--background-purple);
    width: 100%;
    flex-wrap: wrap;
}

header > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header input[type="button"] {
    background-color: var(--accent-tree);
    font-size: 1.1rem;
    font-weight: 400;
    color: #FFFFFF;
    padding: 1rem 1.2rem;
    border-radius: 8px;
    transition: background-color 0.3s;
    text-decoration: none;
    border: none;
}

header > nav {
    display: flex;
    gap: 3vw;
}

header > nav:nth-child(2) a:nth-child(1) {
    color: var(--accent-tree);
}

#sect1 {
    padding-top: 1vh;
    background-color: var(--background-purple);
}

#sect1 > div > p:nth-child(1) {
    font-weight: bold;
    width: 15rem;
    text-transform: uppercase;
    font-size: 1rem;
    padding-bottom: 2rem;
}

#sect1 h2 {
    font-size: clamp(1.743rem, 1.743rem + ((1vw - 0.2rem) * 2.095), 3rem);
    line-height: 1.3;
    padding-bottom: 1.5rem;
    color: var(--contrast);
    max-width: 25ch;
}

#sect1 > div > p:nth-child(3) {
    font-weight: 500;
    font-size: 1rem;
    padding-bottom: 4.25rem;
}

#sect2 {
    padding-bottom: 3vh;
    display: flex;
    margin-bottom: 8vh;
    justify-content: flex-end;
    height: 80vh;
    background: linear-gradient(0deg, var(--background-white) 50%, var(--background-purple) 50%);
}
#sect2 #arrow {
    margin-top: -1rem;
}
#sect2 #engineering {
    object-fit: contain;
    max-width: 85%;

}



#sect2 svg path {
    fill: var(--accent-tree);
}

#sect2 div:nth-child(1) {
    flex-direction: row;
    display: flex;
    align-items: center;
    font-style: normal;
    font-weight: 800;
    line-height: 1.5;
    margin-bottom: 10vh;
    gap: 1rem;
    width: 90vw;
    height: 100%;
    background-color: #90acf7;
}

#sect2 p {
    transform: rotate(180deg);
    writing-mode: vertical-rl;
    margin: 0;
    color: var(--accent-tree);
}

#sect2 > div div:nth-child(1) {
    width: 0;
    display: flex;
    flex-direction: column;
    position: relative;
    right: 1rem;
    height: 90%;
    justify-content: end;
}

#sect2 > div div:nth-child(2) {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: min-content;
}


#sect1 figure {
    display: flex;
    align-items: center;
    margin: auto;
    width: 100vw;
    background-color: #90acf7;
}

#sect3 {
    padding-top: 4vh;
    padding-bottom: 4vh;
}

#sect3 > div {
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    gap: 5%;
    width: 80vw;
    flex-wrap: wrap;
}

#sect3 p {
    text-wrap: nowrap;
}

#sect4 {

    gap: 8vh;
}

#sect4 > div > h2 {
    font-size: clamp(1.743rem, 1.743rem + ((1vw - 0.2rem) * 2.095), 3rem);
    color: var(--contrast-two);
    font-style: normal;
    font-weight: 700;
    line-height: 3.999rem;
    padding-bottom: 2.5rem;
}

#sect4 li::marker {
    font-size: 1.6rem;
    font-weight: 500;
    list-style-position: inside;
}

#sect4 p {
    font-style: normal;
}

#sect4 ol {
    display: flex;
    flex-direction: column;
    gap: 5vh;
    padding: 0;
    margin-left: 2rem;
}

table {
    max-width: 70vw;
    width: 70vw;
    border-collapse: collapse;
    font-family: 'Roboto', 'Times New Roman', 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

th, td {
    border: 1px solid #ccc;
    padding: 10px;
    text-align: center;
}

th {
    background-color: #4CAF50;
    color: white;
}

.header-row {
    background-color: #3b3f51;
    color: white;
}

.vates {
    background-color: #31b27b;
    color: white;
}

.vmware {
    background-color: #ff6f00;
    color: white;
}

.general-info {
    background-color: #7f859c;
    color: white;
    font-weight: bold;
    text-align: center;
}

#sect5 {
    gap: 2vh;
    padding-bottom: 8vh;
}
#sect5>div{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4vh;
}
#sect5 > div > #heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

#sect5 > div > #heading > h2 {
    font-size: clamp(1.743rem, 1.743rem + ((1vw - 0.2rem) * 2.095), 3rem);
    line-height: 1.3;
    color: #333;
}

#sect5 > #heading > label {
    background-color: #7F9DF6;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.button-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.carousel-container {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: start;
    width: 70vw;
}

.carousel {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.arrow-button {
    width: 2.44rem;
    height: 2.5rem;
    flex-shrink: 0;
    background-color: #7F9DF6;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.arrow-button:disabled {
    background-color: #d3d3d3;
    cursor: not-allowed;
}

.arrow-button:hover:not(:disabled) {
    background-color: #6a88d4;
}

.left-button img {
    transform: rotate(180deg);
}

#sect6 {
    padding-top: 8vh;
    padding-bottom: 8vh;
    width: 100vw;
    max-width: 100vw;
    background-color: var(--background-purple);
}

#sect6 > div {
    padding-top: 8vh;
    padding-bottom: 8vh;
    background-color: var(--accent-tree);
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: min-content;
}

#sect6 > div > div {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    max-width: 70ch;
}

#sect6 > div > div > h2 {
    font-size: clamp(1.743rem, 1.743rem + ((1vw - 0.2rem) * 2.095), 3rem);
    line-height: 1.3;
    color: #fff;
    text-align: center;
    padding-top: 48px;
}

#sect6 > div > div > p {
    color: #fff;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    text-align: center;
    width: 80%;
    text-wrap: wrap;
    max-width: 65ch;
}

.subscribe-form {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 80%;
    max-width: 50ch;
}

.subscribe-form label:nth-child(1) {
    width: 70%;
}

.subscribe-form input[type="email"] {
    padding: 1rem;
    height: 6px;
    font-size: 16px;
    border-radius: 8px;
    border: 1px solid #ECF2FE;
    background: #FFF;
    width: 100%;
}

.subscribe-form button {
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem;
    border: none;
    background-color: var(--contrast-three);
    color: #fff;
    border-radius: 0.3rem;
    cursor: pointer;
    font-size: 16px;
}

.subscribe-form button:hover {
    background-color: #004494;
}

.logo-versatus {
    object-fit: contain;
    width: 10rem;
}

footer {
    display: flex;
    align-items: center;
    justify-content: center;
    text-wrap: nowrap;
    padding-bottom: 2vh;
    background-color: var(--background-purple);
    width: 100%;
    flex-wrap: wrap;
}


#footer-infos {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
}

#footer-infos p {
    margin: 0;
    font-size: 0.8rem;
}

#social-container {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    flex-wrap: wrap;
}

@media (max-width: 700px ) {
    #sect2 {
        height: 50vh;
    }

    #sect2 p {
        font-size: 0.8rem;
    }

    #sect2 > div div:nth-child(1) {
        height: 100%;
    }
    table{
        font-size:0.6rem
    }
    td,th{
        padding: 0;
    }
}

@media (max-width: 500px ) {
    .subscribe-form label:nth-child(1) {
        width: 60%;
    }

    .logo-versatus {
        width: 8rem;
    }
}

@media (max-width: 300px ) {
    .subscribe-form label:nth-child(1) {
        width: 50%;
    }
}
