/*-- Home -------------------------*/

#home{
    padding: 150px clamp(20px, 10%, 10%);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 90vh;
    color: white;
}

#home-content{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    gap: 25px;
    text-align: center;
}

#home-content h1{
    font-size: 80px;
    font-weight: 800;
    max-width: 1000px;
    margin: auto;
}

#home-content p{
    max-width: 600px;
    color: #ffffff;
}

#home-content p b{
    color: #ffffffaa;
}


#animated-background{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -10;
    opacity: 0.7;
    overflow: hidden;
}

#animated-background canvas{
    display: none;
}

#animated-background::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/iStock-483260077-crop.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

#animated-background::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000ac4dd;
}













/* Main */

#main{
    padding: 200px 10%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 50px 1fr;
    grid-template-columns: repeat(2,1fr);
    gap: 50px;
    min-height: 100vh;
    position: relative;
}

#main-text{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
}

#main-text h1{
    font-size: 72px;
}

#main-text b{
    color: #2CAADF;
}

#main-text p{
    margin: 20px 0 40px 0;
    color: #ffffff;
    max-width: 600px;
}

#main-image{
    max-width: 700px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

#main-image img{
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    max-height: 600px;
}

#main-gradient{
    position: absolute;
    top: 20%;
    right: 10%;
    width: 70%;
    height: 70%;
    max-width: 800px;
    max-height: 600px;
    background-color: #2CAADF;
    z-index: -1000;
    border-radius: 41% 59% 70% 30% / 30% 30% 70% 70%;
    opacity: 0.15;
    -webkit-filter: blur(200px);
            filter: blur(200px);
    -webkit-animation: mainGradientAnimate infinite ease 10s;
            animation: mainGradientAnimate infinite ease 10s;
}

@-webkit-keyframes mainGradientAnimate {
    0%{
        background-color: #3A39C4;
    }
    50%{
        background-color: #6b6bf3;
    }
    100%{
        background-color: #3A39C4;
    }
}

@keyframes mainGradientAnimate {
    0%{
        background-color: #3A39C4;
    }
    50%{
        background-color: #6b6bf3;
    }
    100%{
        background-color: #3A39C4;
    }
}

@media screen and (max-width: 1280px) {
    #main-text h1{
        font-size: 60px;
    }
}

@media screen and (max-width: 900px) {
    #main{
        -ms-grid-columns: (1fr)[1];
        grid-template-columns: repeat(1,1fr);
    }
}









/*-- Story -------------------------*/

#story{
    padding: 100px clamp(20px, 10%, 10%);
    position: relative;
    color: white;
    background: #0c3760;
}

#story h2{
    font-size: 50px;
    font-weight: 800;
    margin-bottom: 50px;
    text-align: center;
}

#story-list{
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 30px;
}

.story-item{
    padding: 50px;
    background-color: #EFEFEF20;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    text-align: center;
    transition: 0.5s ease;
}

.story-item i{
    font-size: 70px;
    margin-bottom: 20px;
}

.story-item b{
    font-size: 40px;
}










/*-- Services -------------------------*/

#services{
    padding: 100px clamp(20px, 10%, 10%);
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-flow: column;
}

#services h2{
    font-size: 50px;
    font-weight: 800;
    margin-bottom: 50px;
    text-align: center;
}

#services-list{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 50px;
}

.services-item{
    padding: 50px;
    background-color: #0c3760;
    border-radius: 10px;
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-flow: column;
    gap: 20px;
    transition: 0.25s ease;
}

.services-item a{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.services-item:hover{
    color: white;
    transform: scale(1.03);
}

.services-item i{
    font-size: 60px;
}

.services-item h3{
    font-size: 40px;
}

.services-item p{
    margin-top: auto;
}

#services a{
    align-self: center;
    margin: 40px 0;
}










/*-- Inspiration -------------------------*/

#inspiration{
    padding: 100px clamp(20px, 10%, 10%);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    gap: 20px;
    text-align: center;
    overflow: hidden;
}

#inspiration h2{
    max-width: 1000px;
    margin: auto;
    font-size: 60px;
    font-weight: 800;
}

#inspiration h2 b{
    color: #2CAADF;
    font-weight: 800;
}

#inspiration h3{
    font-size: 30px;
    font-weight: 300;
}

#inspiration-map{
    width: 100%;
}

#inspiration-map iframe{
    width: 100%;
    aspect-ratio: 16/9;
}













/* Why Us */

#whyUs{
    padding: 100px 10%;
}

#whyUs-text{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 50px 1fr;
    grid-template-columns: repeat(2,1fr);
    gap: 50px;
}

#whyUs-text h2{
    font-size: 55px;
    margin: auto auto auto 0;
}

#whyUs-text p{
    margin: 20px 0 40px 0;
    color: #ffffff;
    max-width: 600px;
    margin: auto 0 auto auto;
}

#whyUs-list{
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 40px 1fr 40px 1fr;
    grid-template-columns: repeat(3,1fr);
    gap: 70px 40px;
    margin-top: 100px;
}

#whyUs-list span{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    text-align: center;
    gap: 20px;
}

#whyUs-list span i{
    font-size: 100px;
    color: #ffffff;
}

#whyUs-list span b{
    font-weight: 500;
}

@media screen and (max-width: 800px) {
    #whyUs-text{
        -ms-grid-columns: 1fr;
        grid-template-columns: repeat(1,1fr);
        gap: 30px;
    }
    #whyUs-text h2, #whyUs-text p{
        margin: unset;
        max-width: unset;
    }
}

@media screen and (max-width: 600px) {
    #whyUs-list{
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 40px 1fr;
        grid-template-columns: repeat(2,1fr);
        gap: 70px 40px;
        margin-top: 100px;
    }
}











/*-- Method -------------------------*/

#method{
    padding: 100px clamp(20px, 10%, 10%);
    position: relative;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 50px;
    place-items: center;
}

#method-text hr{
    max-width: 150px;
    width: 100%;
    border: 5px solid #0c3760;
    margin-bottom: 30px;
}

#method-text h2{
    font-size: 50px;
    font-weight: 800;
    margin-bottom: 50px;
}

#method-image{
    width: 100%;
}

#method-image img{
    width: 100%;
    border-radius: 10px;
    box-shadow: 0 0 30px #00000040;
}











/*-- Why -------------------------*/

#why{
    position: relative;
    padding: 150px clamp(20px, 10%, 10%);
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 150px 50px;
}

.why-item{
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
}

.why-item i{
    font-size: 40px;
    width: 90px;
    aspect-ratio: 1/1;
    background-color: #4D52C4;
    color: white;
    border-radius: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.why-item span{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-flow: column;
    gap: 20px;
}

.why-item span b{
    font-size: 50px;
}

.why-item span p{
    max-width: 500px;
}












/*-- FAQ -------------------------*/

#faq{
    padding: 100px clamp(20px, 10%, 10%);
    position: relative;
    text-align: center;
}

#faq > h2{
    font-size: 50px;
    font-weight: 800;
    margin-bottom: 50px;
}

#faq-list{
    max-width: 1000px;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    gap: 20px;
    text-align: left;
    margin-top: 100px;
}

.faq-item{
    font-size: 20px;
    background-color: #EFEFEF;
    border-radius: 10px;
    padding: 20px;
    cursor: pointer;
    transition: 0.5s ease;
    width: 100%;
}

.faq-item.active{
    background-color: #4D52C4;
    color: white;
    transform: scale(1.03);
}

.faq-item-q{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    font-size: 24px;
}

.faq-item-q i{
    transition: 0.5s ease;
}

.faq-item.active .faq-item-q i{
    transform: rotate(180deg);
}

.faq-item-a{
    overflow: hidden;
    max-height: 0;
    height: max-content;
    transform-origin: top center;
    transition: 0.5s ease;
}

.faq-item-a p{
    overflow-y: auto;
    color: #ffffff;
}

.faq-item-a hr{
    border:0.5px solid #ffffff20;
    margin: 10px 0;
}

.faq-item.active .faq-item-a{
    max-height: 600px;
}
@media screen and (max-width: 400px) {  
    #faq > h2{
        font-size: 50px;
    }
}










/*-- Why -------------------------*/

#why{
    background: #0a2d4e;
    color: white;
    position: relative;
    padding: 150px clamp(20px, 10%, 10%);
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 150px 50px;
}

.why-item{
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
}

.why-item i{
    font-size: 40px;
    width: 90px;
    aspect-ratio: 1/1;
    background-color: white;
    color: #4D52C4;
    border-radius: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.why-item span{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-flow: column;
    gap: 20px;
}

.why-item span b{
    font-size: 50px;
}

.why-item span p{
    max-width: 500px;
}








/*-- Responsive Design -------------------------*/

@media screen and (max-width: 1300px){
    #story-list{
        grid-template-columns: repeat(6,1fr);
        grid-template-rows: repeat(2,1fr);
    }
    .story-item{
        grid-column: span 2;
    }
    .story-item:nth-child(4), .story-item:nth-child(5){
        grid-column: span 3;
    }
}

@media screen and (max-width: 1125px){
    #services-list{
        grid-template-columns: repeat(1,1fr);
    }
}

@media screen and (max-width: 1000px){
    #method{
        grid-template-columns: 1fr;
    }
    #why{
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 900px){
    #problem-list{
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    #why{
        grid-template-columns: repeat(1,1fr);
    }
}

@media screen and (max-width: 700px){
    #home-content h1{
        font-size: 50px;
    }

    #services h2{
        font-size: 35px;
    }
    .services-item{
        padding: 30px 20px;
    }


    #inspiration h2{
        font-size: 40px;
    }
    #inspiration h3{
        font-size: 20px;
    }

    .why-item span b{
        font-size: 35px;
    }

    #method-text h2{
        font-size: 35px;
    }

    #faq > h2{
        font-size: 35px;
    }
    .faq-item-q i{
        display: none;
    }
    #story-list{
        grid-template-columns: repeat(2,1fr);
        grid-template-rows: unset;
    }
    .story-item{
        grid-column: span 1;
    }
    .story-item:nth-child(4){
        grid-column: span 1;
    }
    .story-item:nth-child(5){
        grid-column: span 2;
    }
}

@media screen and (max-width: 500px){
    .why-item{
        flex-flow: column;
    }

    #story-list{
        grid-template-columns: repeat(1,1fr);
        grid-template-rows: unset;
    }
    .story-item{
        grid-column: span 1;
    }
    .story-item:nth-child(4){
        grid-column: span 1;
    }
    .story-item:nth-child(5){
        grid-column: span 1;
    }
}

@media screen and (max-width: 400px){
    .why-item{
        flex-flow: column;
    }
}
















/*-- Animations -------------------------*/

#home-content h1{
    transform: translateY(100px);
    opacity: 0;
    animation: homeAnim 0.75s ease forwards 2.3s;
}
#home-content p{
    transform: translateY(100px);
    opacity: 0;
    animation: homeAnim 0.75s ease forwards 2.4s;
}
#home-content a{
    transform: translateY(100px);
    opacity: 0;
    animation: homeAnim 0.75s ease forwards 2.5s;
}
@keyframes homeAnim{
    0%{ }
    100%{ transform: translateY(0); opacity: 1;}
}




#story h2.animate{
    transform: translateY(100px);
    opacity: 0;
}
.story-item.animate{
    transform: translateX(-50px);
    opacity: 0;
}
.story-item:nth-child(1){ transition-delay: 0.1s; }
.story-item:nth-child(2){ transition-delay: 0.2s; }
.story-item:nth-child(3){ transition-delay: 0.3s; }
.story-item:nth-child(4){ transition-delay: 0.4s; }
.story-item:nth-child(5){ transition-delay: 0.5s; }



#services h2.animate{
    transform: translateY(100px);
    opacity: 0;
}
.services-item.animate{
    transform: translateY(100px);
    opacity: 0;
}
#services a.animate{
    transform: translateY(100px);
    opacity: 0;
}



#inspiration h2.animate{
    transform: translateY(100px);
    opacity: 0;
}
#inspiration h3.animate{
    transform: translateY(100px);
    opacity: 0;
}
#inspiration-map.animate{
    transform: translateY(100px);
    opacity: 0;
}



#method-text.animate{
    transform: translateX(-100px);
    opacity: 0;
}
#method-image.animate{
    transform: translateX(100px);
    opacity: 0;
}



.why-item.animate{
    transform: translateY(100px);
    opacity: 0;
}



#faq > h2.animate{
    transform: translateY(-100px);
    opacity: 0;
}
.faq-item.animate{
    transform: translateY(-100px);
    opacity: 0;
}