/* Import CSS Variables */
@import url(../css/partials/_variables.css);

/* Import CSS Global */
@import url(../css/partials/_global.css);

/* Import CSS Addons */
@import url(../css/partials/_addons.css);

/* Import CSS Header */
@import url(../css/header.css);

/* Import CSS Footer */
@import url(../css/footer.css);

main {
    width: 100%;
    display: flex;
    flex-direction: column;
    padding: 0rem;
}

main p {
    font-size: 15px;
    text-align: justify;
    text-align-last: center;
}

main h1 {
    font-size: 3rem;
}

main h2 {
    font-size: 2.2rem;
}

main .top-div {
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: 35% 65%;
    grid-template-rows: max-content;
    border-bottom: 3px solid var(--color-dark);
}

main .mid-div {
    display: flex;
    width: 100%;
    height: max-content;
    background: rgba(10, 0, 140, 0.3);
    padding: 5rem 0 4rem;
    border-bottom: 3px solid var(--color-dark);
}

main .bottom-div {
    padding: 3rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    width: 100%;
    background: linear-gradient(160deg, #09008c77 30%, #0046c84f), radial-gradient(circle at 50% 50%, rgba(81, 238, 255, 0.3) 1px, transparent 1px);
    background-size: cover, 30px 30px;
}

main .bottom-div h1 {
    width: 100%;
    text-align: center;
}


/* ============================== Top Div ============================== */

/* Left Div */
main .top-div .lef-div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    min-height: calc(100dvh - 8rem);
    width: 100%;
    position: relative;
    overflow: hidden;
    border-right: 2px solid var(--color-dark);
}

main .top-div .lef-div .img-div {
    height: 100%;
    width: 100%;
}

main .top-div .lef-div img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

main .top-div .lef-div .img-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
    width: 100%;
    background-color: var(--color-dark);
    padding: 1rem;
    border-top: 2px solid var(--color-dark);
}

main .top-div .lef-div .img-text b {
    color: var(--color-primary);
    font-size: 15px;
}

main .top-div .lef-div .img-text .bg-cont {
    position: absolute;
    display: flex;
    justify-content: space-between;
    width: 110%;
    height: 100%;
    overflow: hidden;
}

main .top-div .lef-div .img-text .bg-cont .outer {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    height: 100%;
    width: 10rem;
    transform: skewX(-30deg);
    background-color: var(--color-primary);
}

main .top-div .item1 {
    background-color: var(--color-logo-grey);
}

main .top-div .item2 {
    background-color: var(--color-logo-blue1);
}

main .top-div .item3 {
    background-color: var(--color-logo-blue2);
}

main .top-div .item4 {
    background-color: var(--color-logo-blue3);
}


/* Right Div */
main .top-div .rig-div {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
    max-width: 100rem;
    margin: 0 auto;
    padding: 2rem;
    gap: 2rem;
}

main .top-div .rig-div h1 {
    text-align: center;
}

main .top-div .rig-div .content {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2rem;
    text-align: center;
}

main .top-div .rig-div .insights-cont {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
}

main .top-div .insights-cont .insight {
    display: grid;
    grid-template-rows: max-content 1fr;
    grid-template-columns: 100%;
    justify-content: center;
    align-items: center;
    gap: 2rem;
    padding: 1rem;
}

main .top-div .insights-cont .insight .icon-div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    height: auto;
    padding: 2rem;
    margin: 0 auto;
    aspect-ratio: 1/1;
    border: 2px solid var(--color-dark);
    border-radius: 50%;
}

main .top-div .insights-cont .insight .icon-div span {
    font-size: 5rem;
}

main .top-div .insights-cont .insight .text-div {
    height: 100%;
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: max-content 1fr;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    text-align: center;
}

main .top-div .insights-cont .insight .text-div h3 {
    font-size: 2rem;
}

main .top-div .insights-cont .insight .text-div b {
    font-size: 17px;
}


/* ============================== Mid Div ============================== */
main .mid-div .mid-container {
    width: 100%;
    max-width: 90rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 5rem;
}

main .mid-div h1 {
    width: 100%;
    text-align: center;
}

main .mid-div .item {
    background-color: var(--color-secondary);
    border: 4px solid var(--color-dark);
    margin-right: 5rem;
}

main .mid-div .item:nth-child(odd) {
    margin: 0 0 0 5rem;
}

main .mid-div .content {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
    text-align: center;
    background-color: var(--color-secondary);
    transform: translate(-10px, -10px);
    transition: all 0.2s;
}

main .mid-div .content::before {
    z-index: -1;
    position: absolute;
    left: -4px;
    content: '';
    width: 100%;
    height: 100%;
    border: 4px solid var(--color-dark);
}

main .mid-div .content:hover {
    transform: translate(0, 0);
}

main .mid-div .content img {
    width: 30rem;
    height: auto;
    min-height: 100%;
    box-shadow: -1rem 0rem 1rem 0rem var(--color-light);
}

main .mid-div .item:nth-child(odd) .content img {
    box-shadow: 1rem 0rem 1rem 0rem var(--color-light);
}

main .mid-div .content .text {
    display: inline-block;
    padding: 2rem;
}

main .mid-div .content .text a {
    width: max-content;
    cursor: pointer;
    margin: 0 auto;
}

main .mid-div .content .text h2 {
    text-decoration: underline solid transparent 2px;
    text-underline-offset: 2px;
    transition: all 300ms linear;
    margin-bottom: 1rem;
}

main .mid-div .content .text a:hover h2 {
    text-decoration: underline solid var(--color-dark) 2px;
}


/* ============================== Timeline ============================== */
main .timeline {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
}

main .timeline::after {
    content: '';
    position: absolute;
    width: 6px;
    background-color: var(--color-dark);
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -3px;
}

main .timeline .tl-container {
    position: relative;
    background-color: inherit;
    width: 50%;
}

/* The circles on the timeline */
main .timeline .tl-container::after {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    right: -17px;
    background-color: var(--color-dark);
    border: 4px solid var(--color-primary);
    top: 15px;
    border-radius: 50%;
    z-index: 1;
}


/* Arrows */
main .timeline .tl-lef {
    padding: 15px 40px 15px 0;
    left: 0;
}

main .timeline .tl-rig {
    padding: 15px 0 15px 40px;
    left: 50%;
}

/* Add arrows to the left container (pointing right) */
main .timeline .tl-lef::before {
    content: " ";
    height: 0;
    position: absolute;
    top: 32px;
    width: 0;
    z-index: 1;
    right: 30px;
    border: medium solid var(--color-primary);
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent var(--color-dark);
    transition: all 300ms ease;
}

/* Add arrows to the right container (pointing left) */
main .timeline .tl-rig::before {
    content: " ";
    height: 0;
    position: absolute;
    top: 32px;
    width: 0;
    z-index: 1;
    left: 30px;
    border: medium solid var(--color-primary);
    border-width: 10px 10px 10px 0;
    border-color: transparent var(--color-dark) transparent transparent;
    transition: all 300ms ease;
}

/* Fix the circle for containers on the right side */
main .timeline .tl-rig::after {
    left: -16px;
}

/* Change color of arrow for hover event */
main .timeline .tl-larr-changer::before {
    border-color: transparent transparent transparent var(--color-primary) !important;
}

main .timeline .tl-rarr-changer::before {
    border-color: transparent var(--color-primary) transparent transparent !important;
}


/* The actual content */
main .timeline .tl-content {
    padding: 20px 30px;
    background-color: var(--color-dark);
    position: relative;
    border-radius: 6px;
    border: 4px solid var(--color-dark);
    transition: all 300ms ease;
}

main .timeline .tl-content:hover {
    border-color: var(--color-primary);
}


/* Content styles */
main .timeline .tl-content h2 {
    color: var(--color-primary);
}

main .timeline .tl-content p {
    color: var(--color-white);
    text-align: left;
    text-align-last: left;
}


/* ============================== Media Query ============================== */

@media only screen and (max-width: 1400px) {
    main .top-div .rig-div .insights-cont {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: max-content;
        gap: 1rem;
    }

    main .top-div .rig-div .insights-cont .insight {
        height: 100%;
        gap: 1rem;
    }

    main .top-div .insights-cont .insight .icon-div {
        padding: 1.5rem;
    }

    main .top-div .insights-cont .insight .icon-div span {
        font-size: 3rem;
    }

    main .top-div .insights-cont .insight .text-div {
        gap: 0.5rem;
    }

    main .top-div .insights-cont .insight .text-div h3 {
        font-size: 1.5rem;
    }

    main .top-div .insights-cont .insight .text-div b {
        font-size: 16px;
    }


    main .mid-div {
        display: flex;
        width: 100%;
        height: max-content;
    }

    main .mid-div .mid-container {
        width: 100%;
        max-width: none;
        padding: 0 2rem 0 2.5rem;
    }

    main .mid-div .item {
        margin: 0 !important;
    }
}

/* Medium devices (landscape tablets, 1024 and up) */
@media only screen and (max-width: 1024px) {
    main p {
        font-size: 14px;
    }

    main h1 {
        font-size: 2rem;
    }

    main h2 {
        font-size: large;
    }

    main .top-div {
        display: flex;
        flex-direction: column-reverse;
    }

    main .top-div .lef-div {
        border-right: none;
    }

    main .top-div img {
        width: auto !important;
        min-width: auto !important;
        max-width: 100%;
    }

    main .top-div .rig-div {
        border-bottom: 2px solid var(--color-dark);
    }

    main .top-div .insights-cont .insight .text-div h3 {
        font-size: 1.3rem;
    }

    main .top-div .insights-cont .insight .text-div b {
        font-size: 15px;
    }

    main .mid-div .content {
        flex-direction: column;
        height: max-content;
        gap: 0;
    }

    main .mid-div .item:nth-child(odd) .content {
        flex-direction: column-reverse;
    }

    main .mid-div .content::before {
        top: -4px;
    }

    main .mid-div .content img {
        width: 100%;
        max-width: 100%;
        height: auto;
        box-shadow: none;
        object-fit: cover;
    }


    /* ============================== Timeline ============================== */
    main .timeline::after {
        left: 31px;
    }

    main .timeline .tl-container {
        width: 100%;
        padding-left: 70px;
        padding-right: 1rem;
    }

    main .timeline .tl-container::before {
        left: 60px;
        border: medium solid var(--color-dark);
        border-width: 10px 10px 10px 0;
        border-color: transparent var(--color-dark) transparent transparent;
    }

    main .timeline .tl-lef::after,
    main .timeline .tl-rig::after {
        left: 15px;
    }

    main .timeline .tl-rig {
        left: 0%;
    }

    main .timeline .tl-larr-changer::before {
        border-color: transparent var(--color-primary) transparent transparent !important;
    }
}


/* Extra small devices (phones, 413px and down) */
@media only screen and (max-width: 600px) {
    main .top-div .rig-div {
        padding: 2rem 1rem;
    }

    main .top-div .rig-div .insights-cont {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
        margin-bottom: 1rem;
    }

    main .top-div .lef-div {
        min-height: auto;
    }

    main .mid-div .mid-container {
        gap: 3rem;
        padding: 0 1rem 0 1.5rem;
    }
}