html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden; /* Prevent normal scrolling */
}

body {
    font-family: "Sometype Mono", Geneva, Tahoma, sans-serif;
    display: flex;
    background-color: #ffffff;
    flex-direction: column;
    margin: 0;
}

.scroll-container {
    height: 100vh; /* Full viewport height */
    scroll-snap-type: y mandatory; /* Vertical scroll snap */
    overflow-y: scroll; /* Enable scrolling */
}

.scroll-section {
    scroll-snap-align: center; /* Snap to the top of each section */
}

.section-1 {
    height: 100vh; /* Full viewport height for each section */
    background-color: #1f1f1f;
    display: flex;
    flex-direction: column; /* Arrange items vertically */
    justify-content: center; /* Center the text content vertically */
    align-items: center; /* Center the content horizontally */
    position: relative; /* Allows positioning the arrow at the bottom */
    color: white;

    h1 {
        font-size: 36pt;
    }

    p {
        font-size: 0.85vw;
    }
}

.section-2 {
    height: 100vh; /* Full viewport height for each section */
    display: flex;
    flex-direction: column; /* Arrange items vertically */
    justify-content: center; /* Center the text content vertically */
    align-items: center; /* Center the content horizontally */
    position: relative; /* Allows positioning the arrow at the bottom */

    p {
        font-size: 0.85vw;
    }
}

.section-4 {
    height: 100vh; /* Full viewport height for each section */
    display: flex;
    flex-direction: column; /* Arrange items vertically */
    justify-content: center; /* Center the text content vertically */
    align-items: center; /* Center the content horizontally */
    position: relative; /* Allows positioning the arrow at the bottom */

    p {
        font-size: 0.85vw;
    }
}

.main {
    margin-left: 1.5rem;
    margin-right: 1.5rem;
    padding-top: 2em;
}

.bad-example-card {
    border: 3px solid #f76457;
    border-radius: 12px;
    background-color: #fffedb;
    color: #f76457;

}

.good-example-card {
    border: 3px solid #519143;
    border-radius: 12px;
    background-color: #fffedb;
    color: #519143;

}

.aiaas-border {
    border: 5px solid #fce57e;
    border-radius: 12px;
    padding: 1em;
    margin-bottom: 10px;
    position: relative;
}

.aiaas-utilize-border {
    border: 3px solid #fc8e4e;
    border-radius: 12px;
    padding: 1em;
    margin-bottom: 5px;
    position: relative;
}

.aiaas-integrate-border {
    border: 3px solid #f76457;
    border-radius: 12px;
    padding: 1em;
    margin-bottom: 5px;
    position: relative;
}

.ind-border {
    border: 5px solid #73beff;
    border-radius: 12px;
    padding: 1em;
    position: relative;
}

.planning-card {
    border: 3px solid #519143;
    border-radius: 12px;
    background-color: #fffedb;
    color: #519143;
}

.utilize-card {
    border: 3px solid #fc8e4e;
    border-radius: 12px;
    background-color: #fffedb;
    color: #fc8e4e;
    width: 30%;
}

.integrate-card {
    border: 3px solid #f76457;
    border-radius: 12px;
    background-color: #fffedb;
    color: #f76457;
    width: 22%;
}

.ind-card {
    border: 3px solid #63a1f7;
    border-radius: 12px;
    background-color: #fffedb;
    color: #63a1f7;
    width: 22%;
}

.section-label {
    position: absolute;
    top: 50%; /* Vertically center it */
    transform: translateY(-50%) rotate(-90deg); /* Rotate text and center it vertically */
    font-size: 14pt;
    font-weight: bold;
    margin-left: -5em;
    text-align: center;
    width: 240px;
    white-space: nowrap;
}

.sub-section-label {
    position: absolute;
    top: 50%; /* Vertically center it */
    transform: translateY(-50%) rotate(-90deg); /* Rotate text and center it vertically */
    font-size: 12pt;
    font-weight: 600;
    margin-left: -5em;
    text-align: center;
    width: 120px;
    white-space: nowrap;
}

.arrow-down {
    position: absolute;
    bottom: 40px; /* Distance from the bottom */
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0); /* Initial position */
    }
    50% {
        transform: translateY(-10px); /* Move up by 10px */
    }
}

.arrow-down i {
    color: black;
    animation: bounce 1.5s infinite; /* Apply the bounce animation */
}

.chevron-right {
    align-content: center;
    font-size: 10pt;
}

.chevron-green {
    color: #519143;
    margin-left: 0.5em;
}

.chevron-orange {
    color: #fc8e4e;
}

.chevron-red {
    color: #f76457;
}

.chevron-blue {
    color: #63a1f7;
}

.card:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Adds a hover effect */
}

.card {
    font-size: 0.9vw;
    cursor: pointer;
}

.card-title {
    font-size: 1vw;
    font-weight: bold;
}

.table-bordered {
    border: 1px solid #dee2e6;
}

.table th, .table td {
    vertical-align: middle;
}

.modal-title {
    font-size: 24px;
    font-weight: 600;
}

.modal-header-planning {
    background-color: #519143;
}

.modal-header-ind {
    background-color: #63a1f7;
}

.modal-header-integrate {
    background-color: #f76457;
}

.modal-header-use {
    background-color: #fc8e4e;
}

.modal-header-popup {
    background-color: black;
}

.modal-lg {
    max-width: 1300px;
}

ul {
    padding-left: 20px;
}

.close {
    color: white;
}

.close:hover {
    color: white;
}

.principles {
    justify-content: center;
}

.line {
    width: 2px;
    height: 100%;
    background-color: black;
    display: inline-block;
    vertical-align: top; /* Align with the top of the boxes */
    margin: 0 20px;
}

@media only screen and (min-width: 1350px) {
    .main {
        margin-left: 9em;
        margin-right: 9em;
    }
}