@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root{
    --sonic-silver: hsl(0, 0%, 47%);
    --eerie-black: hsl(0, 0%, 13%);
    --cultured: hsl(0, 0%, 93%);
    --white: hsl(0, 100%, 100%);
    --onyx: hsl(0, 0%, 27%);
    --cobiss-ela:hsl(328, 66%, 37%);
    --cobiss-blue: 	hsl(198, 100%, 33%);
    --fs-1: 1.563rem;
    --fs-2: 1.375rem;
    --fs-3: 1.25rem;
    --fs-4: 1.125rem;
    --fs-5: 1rem;
    --fs-6: .938rem;
    --fs-7: .875rem;
    --fs-8: .813rem;
    --fs-9: .75rem;
    --fs-10: .688rem;
    --fs-11: .625rem;
    --weight-300: 300;
    --weight-400: 400;
    --weight-500: 500;
    --weight-600: 600;
    --weight-700: 700;
    --border-radius-medium: 10px;
    --border-radius-small: 5px;
    --transition-timing: .2s ease;
}

*, ::before, ::after{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    list-style: none;
}

button{
    background: none;
    font: inherit;
    border: none;
    cursor: pointer;
}

a { 
    color: var(--cobiss-ela, #9f2063);
    text-decoration: none;
}

img, ion-icon, button { display: block; }

span { display: inline-block; }

.d-flex { display: flex; }

.justify-center { justify-content: center; }


html {
    font-family: "Poppins", sans-serif;
    overscroll-behavior: contain;
}
body { 
    background: var(--white);
}

    body::-webkit-scrollbar { width: 15px; }

    body::-webkit-scrollbar-track {
        background: var(--white);
        border-left: 1px solid var(--cultured);
    }

    body::-webkit-scrollbar-thumb {
        background: hsl(0, 0%, 80%);
        border: 3px solid var(--white);
        border-radius: 10px;
    }

        body::-webkit-scrollbar-thumb:hover { background: hsl(0, 0%, 70%); }

.container { padding: 0 15px; }

.title {
    color: var(--eerie-black);
    font-size: var(--fs-5);
    font-weight: var(--weight-600);
    letter-spacing: .4px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--cultured);
    margin-bottom: 30px;
}

/* MAIN */

main {
    margin-top: 2em;
    margin-bottom: 2em;
}

/*HEADER*/

.header-main {
    padding: 15px 0;
    border-bottom: 1px solid var(--cultured);
    display:flex;
    justify-content: center;
}

.header-logo img { margin: auto; }

/*BANNER*/

.banner { margin: 30px 0; }

.slider-container {
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: var(--border-radius-medium);
    overflow: auto hidden;
    scroll-snap-type: inline mandatory;
    overscroll-behavior-inline: contain;
}

.slider-item {
    position: relative;
    min-width: 100%;
    max-height: 450px;
    aspect-ratio: 1 / 1;
    border-radius: var(--border-radius-medium);
    overflow: hidden;
    scroll-snap-align: start;
}

    .slider-item .banner-img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: right;
    }

.banner-content {
    background: hsla(0, 0%, 100%, .5);
    position: absolute;
    bottom: 25px;
    left: 25px;
    right: 25px;
    padding: 20px 25px;
    border-radius: var(--border-radius-medium);
}

.glow {
  color: #fff;
  animation-name:glow;
  animation-duration:1s;
  animation-iteration-count:infinite;
  animation-direction:alternate;
}

    @keyframes glow{
        from{text-shadow:0px 0px 5px #fff,0px 0px 5px #614ad3;}
        to{text-shadow:0px 0px 20px #fff,0px 0px 20px #614ad3;}
    }

.banner-title {
    color: var(--eerie-black);
    font-size: var(--fs-1);
    text-transform: uppercase;
    line-height: 1;
    margin-bottom: 10px;
}

.banner-btn {
    background: var(--cobiss-ela);
    color: var(--white);
    width: max-content;
    font-size: var(--fs-11);
    font-weight: var(--weight-600);
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: var(--border-radius-medium);
    transition: var(--transition-timing);
}

.banner-btn:hover { background: var(--eerie-black); }

/*TESTIMONIAL*/

.testimonial-box { margin-bottom: 50px; }

.testimonial-card {
    padding: 30px 20px;
    border: 1px solid var(--cultured);
    border-radius: var(--border-radius-medium);
    text-align: center;
    margin-bottom: 25px;
}

.testimonial-banner {
    margin: auto;
    margin-bottom: 20px;
    border-radius: 50%;
}

.testimonial-name {
    font-weight: var(--weight-700);
    color: var(--sonic-silver);
    margin-bottom: 5px;
}

.testimonial-title {
    color: var(--onyx);
    font-size: var(--fs-7);
    margin-bottom: 15px;
}

.quotation-img {
    margin: auto;
    margin-bottom: 10px;
}

.testimonial-desc {
    max-width: 70%;
    margin: auto;
    color: var(--sonic-silver);
    font-size: var(--fs-7);
}

/*ELA CONTAINER*/

.ela-container {
    position: relative;
    aspect-ratio: 5 / 6;
    border-radius: var(--border-radius-medium);
    overflow: hidden;
    margin-bottom: 25px;
}

.ela-banner {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ela-content {
    background: hsla(0, 0%, 100%, .7);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: fit-content;
    padding: 15px 20px;
    text-align: center;
    border-radius: var(--border-radius-small);
}

.ela-title {
    color: var(--onyx);
    font-size: var(--fs-5);
    text-transform: capitalize;
    margin-bottom: 5px;
}

.ela-text {
    color: var(--onyx);
    font-size: var(--fs-7);
    margin-bottom: 5px;
}

.ela-btn {
    font-size: var(--fs-9);
    color: var(--sonic-silver);
    text-transform: uppercase;
    font-weight: var(--weight-700);
    margin: auto;
}

/*SERVICE CONTAINER*/

.service-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 30px;
    padding: 30px 15px;
    border: 1px solid var(--cultured);
    border-radius: var(--border-radius-medium);
    margin-bottom:25px;
}

.service-container a { text-decoration: underline; }

.service-item {
    min-width: 190px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.service-title {
    color: var(--sonic-silver);
    font-size: var(--fs-7);
    font-weight: var(--weight-600);
    margin-bottom: 5px;
}

.service-desc {
    color: var(--sonic-silver);
    font-size: var(--fs-9);
}

/*FOOTER*/

footer {
    background: var(--eerie-black);
    padding: 30px 0;
}
.footer-bottom {
    text-align: center;
}

.copyright {
    color: var(--sonic-silver);
    font-size: var(--fs-8);
    font-weight: var(--weight-500);
    letter-spacing: 1.2px;
}

    .copyright a {
        display: inline;
        color: inherit;
    }

/*MEDIA QUERIES*/

@media (min-width: 480px) {
    :root { --fs-1: 1.875rem; }

    .header-main { padding: 15px 0; }

    .slider-item { aspect-ratio: 5 / 3;}

    .banner-content {
        top: 50%;
        right: auto;
        bottom: auto;
        transform: translateY(-50%);
        max-width: 320px;
    }

        .banner-btn { padding: 7px 20px; }

    .ela-content { padding: 40px; }
    .ela-title { --fs-5: 1.5rem; }
    .ela-text { --fs-7: 1rem; }
    .ela-btn { --fs-9: 1rem; }

    .copyright { --fs-8: .875rem; }
}

@media (min-width: 570px){
    .container, .header-main .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .header-logo { margin-bottom: 0; }

    .slider-item { aspect-ratio: 4 / 2; }

    .banner-content { background: none; }

    .ela-container { aspect-ratio: 6 / 5; }
}

@media (min-width: 768px){
    :root { --fs-1: 2.375rem; }

    html { font-size: 17px; }

    .container {
        max-width: 750px;
        margin: auto;
    }

    .header-main .container { gap: 80px; }

    .slider-item { 
        aspect-ratio: auto;
        height: 350px;
    }

    .banner-content { max-width: 380px; }

    .banner-btn { --fs-11: .75rem; }
}

@media (min-width: 1024px){

    :root{
        --fs-1: 2.625rem;
        --fs-2: 1.125rem;
    }

    .container { max-width: 980px; }

    .banner { margin-top: 0; }

    .slider-item { height: 360px; }

    .banner-content {
        left: 75px;
        max-width: 400px;
    }

    .banner-btn { --fs-11: .875rem; }

    .testimonials-box {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 30px;
    }

    .testimonial-card {margin-bottom: 0; }

    .testimonial, .ela-container {
        min-width: calc(50% - 15px);
        width: calc(50% - 15px);
        margin-bottom: 0;
    }

    .service { width: 100%; }
    .service-container { 
        margin-bottom: 0;
        gap: 0;
    }

    .service-item {
        flex-direction: column;
        text-align: center;
        min-width: 20%;
    }

    .footer-bottom { margin-bottom: 0; }
}

@media (min-width: 1200px){
    .container {max-width: 1200px; }

    .testimonial, .service {
        min-width: calc(25% - 20px);
        width: calc(25% - 20px);
    }

    .ela-container {
        min-width: calc(50% - 20px);
        width: calc(50% - 20px);
        aspect-ratio: unset;
    }

    .service-container {
        justify-content: flex-start;
        gap: 16px;
        padding: 30px;
    }

    .service-item {
        flex-direction: row;
        text-align: left;
    }
}

@media (min-width: 1400px){

    html { font-size: 18px; }

    .container { max-width: 1350px; }

    .banner-content {
        left: 110px;
        max-width: 460px;
    }
}