#left-side #text-binding,
#right-side {
    align-self: flex-end
}

#left-side #text-binding div,
#left-side #text-binding p,
#why-choose-us h1,
#why-choose-us span {
    text-transform: capitalize;
    color: #fff
}

#our-products #heading,
#why-choose-us h1 {
    font-family: Philosopher, serif;
    font-weight: 600
}

#our-products #heading,
#our-products #sub-heading {
    font-style: normal;
    color: var(--light-grey);
    text-align: center
}

.service-cards,
body {
    background-color: #fff
}

#our-services,
#why-choose-us,
.see-more-button:after {
    background-color: var(--dark-grey)
}

#first-body,
.service-cards,
.work-images-slideshow {
    background-repeat: no-repeat
}

:root {
    --accent-dark: #03161F;
    --accent-color: #063247;
    --light-grey: #404040;
    --dark-grey: #16161d
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

html {
    font-size: 16px
}

#header {
    height: 110px;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    transition: top 350ms ease-out
}

.hide-header {
    position: fixed;
    top: -110px !important;
    transition: 350ms ease-out
}

.show-header {
    position: sticky;
    top: 0;
    transition: top 350ms ease-out
}

#first-body {
    height: 100vh;
    min-height: 1080px;
    background-image: url('/index-background-desktop.jpg');
    background-size: cover;
    background-position: 50% 0;
    display: flex;
    flex-direction: column
}

#content-body {
    padding-inline-start: 5.208vw;
    padding-inline-end: 5.208vw;
    margin-top: auto;
    margin-bottom: auto;
    display: grid;
    grid-template-columns: 1fr 1fr
}

#left-side {
    height: 90%;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 3fr 1fr
}

@media only screen and (max-width:1260px) {
    #left-side {
        width: 600px
    }
}

@media only screen and (max-width:1060px) {
    #left-side {
        width: 500px
    }
}

@media only screen and (max-width:900px) {
    #content-body {
        grid-template-columns: 1fr;
        align-items: center;
        justify-content: center
    }

    #left-side {
        width: 100%;
        height: 90%;
        grid-template-rows: 2fr 1fr
    }

    #right-side {
        display: none
    }

    #hero-section-logo {
        justify-self: center
    }

    #left-side #text-binding p {
        margin-top: 50px !important
    }
}

#hero-section-logo {
    display: none
}

#left-side #text-binding div {
    font-family: Philosopher, serif;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 5px
}

#left-side #text-binding p {
    margin-top: 30px;
    width: 700px;
    font-family: 'Source Sans 3', sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 24px;
    line-height: 120%;
    letter-spacing: .040em
}

@media only screen and (max-width:1260px) {
    #left-side #text-binding {
        width: 400px;
        align-self: center
    }

    #left-side #text-binding p {
        width: 600px;
        font-size: 20px
    }
}

@media only screen and (max-width:1060px) {
    #left-side #text-binding p {
        width: 500px;
        font-size: 20px
    }
}

#left-side #container-button {
    align-self: flex-end;
    display: flex;
    align-items: start
}

#left-side #container-button .button {
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--accent-color);
    transition: 350ms ease-out
}

#left-side #container-button .button,
#left-side #container-button button {
    width: clamp(200px, 20vw, 260px);
    height: clamp(50px, 20vw, 70px);
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 29px;
    text-transform: capitalize;
    text-align: center;
    color: #fff;
    cursor: pointer
}

@media only screen and (max-width:900px) {
    #left-side #text-binding {
        width: unset;
        text-align: center
    }

    #left-side #text-binding div,
    #left-side #text-binding p {
        width: unset
    }

    #left-side #container-button {
        margin-top: 120px;
        margin-inline-start: auto;
        margin-inline-end: auto;
        margin-bottom: 50px
    }
}

#left-side #container-button .button:hover,
#left-side #container-button button:hover {
    background: var(--accent-dark);
    transition: 350ms ease-out
}

#left-side #container-button button {
    background-color: rgba(3, 22, 31, .35);
    outline: #fff solid 1px;
    outline-offset: -1px;
    margin-left: 50px;
    transition: 350ms ease-out
}

#right-side {
    justify-self: flex-end;
}

#right-side #img-container {
    width: 25;
    aspect-ratio: 1/1;
    object-fit: scale-down;
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr 1fr;
}

#right-side #img-container img {
    object-fit: scale-down;
    width: 200px;
    aspect-ratio: 1/1;
    height: fit-content;
    background: #7a99cc;
    border: 3px solid #fff;
    border-radius: 5px;
    box-shadow: 0 0 25px rgba(0, 0, 0, .4), inset 0 0 1.17px rgba(0, 0, 0, .35)
}

@media only screen and (max-width:1260px) {
    #right-side {
        align-self: center
    }

    #right-side #img-container {
        width: 330px;
        object-fit: scale-down;
        height: 440px
    }

    #right-side #img-container img {
        width: 160px;
        height: auto
    }
}


#why-choose-us {
    min-height: 220px;
    height: max-content;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    justify-items: center;
    padding-block-start: 40px;
    padding-block-end: 40px
}

#why-choose-us h1 {
    font-size: 32px;
    line-height: 111.8%;
    letter-spacing: .040em
}

#why-choose-us span {
    width: 80vw;
    font-family: 'Source Sans 3', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 111.8%;
    text-align: center;
    letter-spacing: .05em;
    margin-top: 20px
}

#our-products {
    min-height: 1080px;
    height: max-content;
    padding-block-end: 100px
}

#our-products #our-products-title {
    padding-block-start: 60px;
    margin-inline-start: 20px;
    margin-inline-end: 20px
}

#our-products #heading {
    font-size: 3em
}

#our-products #sub-heading {
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 500;
    font-size: 24px;
    line-height: 29px;
    letter-spacing: .04em;
    margin-block-start: 10px
}

@media only screen and (max-width:560px) {
    #left-side #container-button {
        margin-top: 60px;
        display: grid;
        width: 100%;
        grid-template-rows: 1fr 1fr;
        row-gap: 20px;
        justify-items: center
    }

    #left-side #container-button .button,
    #left-side #container-button button {
        width: 250px;
        height: 60px
    }

    #left-side #container-button button {
        margin-left: unset
    }

    #our-products #heading {
        font-size: 2em
    }

    #our-products #sub-heading {
        font-size: 16px
    }
}

#our-products #cards-container {
    margin: 80px auto auto;
    width: 90%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 5vw;
    align-items: center
}

.service-cards:nth-child(odd) {
    justify-self: flex-end
}

.service-cards:nth-child(2n) {
    justify-self: flex-start
}

@media only screen and (max-width:1460px) {
    #our-products #cards-container {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        justify-self: center;
        gap: 80px
    }

    .service-cards:nth-child(n) {
        justify-self: center
    }
}

.service-cards {
    width: 600px;
    height: 300px;
    border: 1px solid var(--light-grey);
    border-radius: 20px;
    background-position: 0 50%;
    background-size: contain;
    transition: .535s ease-out
}

.service-cards:first-child {
    background-image: url(/thermocol.jpg)
}

.service-cards:nth-child(2) {
    background-image: url(/pvc.jpg)
}

.service-cards:nth-child(3) {
    background-image: url(/wood.jpg)
}

.service-cards:nth-child(4) {
    background-image: url(/gypsum-board.jpg)
}

@media (orientation:landscape) {
    .service-cards:nth-child(2) {
        margin-block-start: 0px
    }
}

.service-card-texts {
    width: 50%;
    margin-inline-start: 320px;
    padding-inline-start: clamp(20px, 1vw, 30px);
    padding-inline-end: clamp(20px, 1vw, 30px)
}

@media only screen and (max-width:760px) {
    .service-cards {
        margin-block-start: 100px;
        height: 520px;
        width: clamp(250px, 50vw, 330px);
        background-position: 50% 0;
        background-size: 101%;
        transition: .535s ease-out
    }

    #our-products #cards-container {
        gap: 0
    }

    .service-card-texts {
        width: unset;
        padding-inline-start: unset;
        padding-inline-end: unset;
        margin-inline-start: 20px;
        margin-inline-end: 20px;
        margin-block-start: 330px
    }
}

@media only screen and (max-width:660px) {
    header {
        grid-template-columns: 1fr 4fr 1fr
    }

    #hero-section-logo {
        display: initial;
        height: 100px;
        margin-bottom: 20px
    }

    .service-card-texts {
        margin-block-start: 105%
    }
}

.service-card-title {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 2em;
    font-weight: 400;
    color: var(--dark-grey);
    padding-top: 24px
}

.see-more-button,
.see-more-button:visited {
    color: var(--dark-grey) !important
}

.service-card-desc {
    padding-top: 16px;
    font-size: 1em;
    font-family: Inter, sans-serif;
    font-weight: 400;
    margin-right: 20px
}

.service-cards:hover {
    border: 1px solid #fff;
    box-shadow: 2px 2px 12px 1px rgba(0, 0, 0, .3);
    transition: .35s ease-out
}

@media (hover:none) {
    .service-cards {
        border: 1px solid #fff;
        box-shadow: 2px 2px 12px 1px rgba(0, 0, 0, .3);
        transition: .35s ease-out
    }
}

.see-more-button {
    display: inline-block;
    text-align: center;
    margin-block-start: 60px;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: .040em;
    position: relative
}

.service-items-desc,
.service-items-title-text {
    font-family: 'Source Sans 3', 'sans-serif';
    letter-spacing: 00.040em
}

#our-services-heading,
.service-items-desc,
.service-items-title-text {
    font-style: normal;
    line-height: 111.8%;
    color: #fff
}

.see-more-button:after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 0;
    transform-origin: bottom right;
    transition: transform .35s ease-out
}

.see-more-button:hover:after {
    transform: scaleX(1);
    transform-origin: bottom left
}

#our-services {
    min-height: 250px;
    height: max-content
}

#our-services-heading {
    font-family: Philosopher;
    font-weight: 700;
    font-size: 32px;
    text-align: center;
    text-decoration: underline;
    padding-top: 40px
}

#service-container {
    margin-block-start: 5px;
    margin-inline-start: 10vw;
    margin-inline-end: 10vw;
    display: grid;
    grid-template-columns: 1fr 1fr
}

.service-items {
    max-width: 500px;
    min-width: 300px;
    display: grid;
    row-gap: 30px
}

.service-items-title {
    display: flex;
    column-gap: 20px;
    align-items: center;
    justify-self: center
}

.service-items-title-icon {
    width: 35px;
    height: 35px
}

.service-items-title-text {
    font-weight: 700;
    font-size: 24px
}

.service-items-desc {
    font-weight: 500;
    font-size: 16px;
    text-align: center;
    margin-inline-start: 20px;
    margin-inline-end: 20px
}

.service-items:last-child {
    justify-self: end
}

@media only screen and (max-width:1460px) {
    #service-container {
        grid-template-columns: 1fr;
        grid-row-start: 1fr 1fr;
        row-gap: 50px;
        margin-inline-start: 20px;
        margin-inline-end: 20px;
        margin-block-start: 60px;
        padding-block-end: 60px
    }

    .service-items {
        row-gap: 20px
    }

    .service-items:nth-child(n) {
        justify-self: center
    }
}

.work-images-slideshow {
    padding-block-start: 150px !important;
    padding-block-end: 100px;
    background-image: url(/main-page-gallery-section-bg.jpg);
    background-position: top
}

@media only screen and (max-width:760px) {
    .service-card-title {
        padding-top: 0;
        font-size: 1.5em
    }

    .service-card-desc {
        font-size: .875em;
        margin-right: 0
    }

    .see-more-button {
        font-size: 21px
    }

    .work-images-slideshow {
        background-image: unset;
        background: linear-gradient(#f0d4c9 60%, #fff 40%)
    }
}