/* ===================================
            ThinkingSouls
====================================== */
/* font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');
/* variable */
:root {     
    --base-color: #c2001c;
    --light-medium-gray:#e9e9e9;
    /*
    --primary-font: 'Montserrat', sans-serif;
    --primary-font: 'Plus Jakarta Sans', sans-serif;
    --alt-font: 'Inter', sans-serif;
    --primary-font: 'Helvetica', sans-serif;
    */
    --primary-font: 'Inter', sans-serif;
    --alt-font: 'Helvetica', sans-serif;
}
body {
    font-size: 17px;
    line-height: 30px;
    color:var(--dark-gray);
}
section {
    padding-top: 90px;
    padding-bottom: 90px;
}
/* bg sliding line */
.bg-sliding-line {
    background-image: linear-gradient(135deg, transparent 45%, #9c2531 45%, #9c2531 55%, transparent 0);
    background-size: 5px 5px;
}
/* header */
.header-push-button .push-button {
    height: 8px;
}
header .navbar-brand img {
    max-height: 48px;
}
.header-push-button .push-button span:first-child {
    width: 15px;
    margin-right: 0;
}
.show-menu .header-push-button .push-button span:nth-child(1) {
    width: 15px;
    top: 0;
}
.show-menu .header-push-button .push-button span:nth-child(2) {
    top: 6px;
    -webkit-transform: rotate(0deg); 
    transform: rotate(0deg);
}
.hamburger-logo img {
    max-height: 48px;
}
.hamburger-nav {
    width: 30%;
}
.menu-item-list .nav-link {
    font-size: 45px;
    line-height: 40px;
}
/* font size */
.fs-335 {
    font-size: 20.938rem;
    line-height: 18.75rem;
}
/* margin */
.mt-minus-40px {
    margin-top: -40px;
}
/* top left right bottom */
.top-20 {
    top: 20%;
}
.top-35 {
    top: 35%;
}
.gutter-medium {
    margin-left: -7px;
    margin-right: -7px;
}
.portfolio-transform .portfolio-box .caption {
  padding: 20px 20px 10px;
}
.progress-bar-style-01 .progress .progress-bar-percent:after {
    border-top-color: #000;
}
/* bg gradient color */
.bg-gradient-top-very-light-gray { 
    background-image:linear-gradient(to top, #ffffff, #ffffff, #fcfafa, #fcfafa, #f7f7f7);
}
/* text shadow large */
.text-shadow-large {
    text-shadow: 0 20px 60px rgb(0, 0, 0, 0.15);
}
.outside-box-bottom-2 {
    margin-bottom: -2vw; 
}

/* === Base element styling (applies to all screen sizes) === */
#home .left-img {
  width: clamp(192px, 18vw, 340px); /* min size 180px, fluid scaling, max 340px */
  height: auto; /* keep aspect ratio */
  max-width: none; /* prevent Bootstrap's .img-fluid from limiting it */
}

.fs-335 {
    overflow-wrap: normal;     /* don't break long words */
    word-break: normal;        /* prevent forced breaks */
    hyphens: manual;           /* ignore auto hyphenation */
    line-height: 1;            /* tighter vertical box (optional) */
    white-space: nowrap;       /* no wrapping */
}

@media only screen and (max-width: 1700px) {
    .hamburger-nav {
        width: 35%;
    }
}

/* 2159.58px onwards */
@media only screen and (min-width:2160px) {
    .fs-335 {
        margin-top: -16px;

        font-size: 20rem;
        line-height: 20rem;
    }
}

/* 1720px - 2159.98px */
@media only screen and (min-width:1720px) and (max-width: 2159.98px) {
    .fs-335 {
        margin-top: 16px;

        font-size: 15.5rem;
        line-height: 15.5rem;
    }
}

/* 1400px - 1719.20px */
@media only screen and (min-width: 1400px) and (max-width: 1719.98px) {
    .fs-335 {
        margin-top: 12px;

        font-size: 13rem;
        line-height: 13rem;
    }
    .hamburger-nav {
        width: 40%;
    }
}

/* XL: 1200px – 1399.98px */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .fs-335 {
        margin-top: 18px;
        font-size: 11rem;
        line-height: 11rem;
    }
    .hamburger-nav {
        width: 40%;
    }
}

/* LG: 992px – 1199.98px */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .fs-335 {
        margin-top: 24px;

        font-size: 9.25rem;
        line-height: 9.25rem;
    }
}

/* MD: 768px – 991.98px */
@media (min-width: 768px) and (max-width: 991.98px) {
    .fs-335 {
        margin-top: 24px;
        font-size: 8.25rem;
        line-height: 8.25rem;
    }    section {
        padding-top: 75px;
        padding-bottom: 75px;  
    }
}

/* SM: 480px – 767.98px */
@media (min-width: 576px) and (max-width: 767.98px) {
    .fs-335 {
        margin-top: -14px;
        font-size: 7.825rem;
        line-height: 7.825rem;
    }
}

/* XS: 524px - 575.98px */
@media (min-width:480px) and (max-width: 575.98px) {
    .fs-335 {
        margin-top: -10px;
        font-size: 6.625rem; /* example */
        line-height: 6.625rem;
    }
}

@media (max-width: 479.98px) {
        .fs-335 {
        margin-top: 0px;
        font-size: 5.25rem; /* example */
        line-height: 5.25rem;
    }
}