@charset "UTF-8";
/*---------------------------*/
/*      carousel block 1     */
/*---------------------------*/
#carousel-1{
    display: flex;
    justify-content: center;
    width: 100%;
    background-color: #EEEEEE;
}
.carousel-container{
    display: flex;
    flex-direction: row;
    --gh: 600px;
    width: 100%;
    height: var(--gh);
    box-shadow: 0px 0px 15px rgba(0,0,0,0.3);
}
/*-------------------------------*/
/*      carousel block 1 left    */
/*-------------------------------*/
.carousel {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
    border: 2px solid #0000008d;
    box-shadow: inset 6px 6px 18px rgba(0,0,0,0.45),
              inset -4px -4px 12px rgba(255,255,255,0.65);
    margin: 1rem 0 1rem 1rem;
    --cw: 50%;
    --iw: 100%;
    --ih: calc(var(--gh) - 25px);
    height: -webkit-fill-available;
    width: var(--cw);
}
.image-container {
    display: flex;
    flex-direction: column;
    transform: translateY(0);
    transition: transform 0.5s ease-in-out;
    img {
        height: var(--ih);
        width: var(--iw);
        object-fit: cover;
    }
}
.buttons-container {
    display: flex;
    position: relative;
    flex-direction: column-reverse;
    justify-content: space-between;
    position: absolute;
    height: var(--ih);
    right: 1rem;
    z-index: 3;
}
.btn {
    border: none;
    color: #fff;
    padding: 0.5rem;
    cursor: pointer;
    width: 100%
}
.btn svg{
    width: 38px;
    height: 28px;
    padding-inline: 0.15rem;
}
#left.btn{
    margin-bottom: 0.45rem;
}
#right.control-shape{
    transform: rotate(180deg);
}
#right.btn svg{
    transform: rotate(180deg);
    padding-bottom: 5px;
}
#left.btn svg{
    padding-top: 5px;
}
.btn:hover {
    opacity: 0.9;
}
.btn:focus {
    outline: none;
}
.control-shape {
    width: 100%;
    height: 70px;
    clip-path: polygon(50% 0%, 95% 38%, 95% 100%, 5% 100%, 5% 38%);
    background: rgba(75, 75, 75, 0.681); 
    backdrop-filter: blur(10px);          
    -webkit-backdrop-filter: blur(10px);   
    box-shadow: 0 4px 20px rgba(0,0,0,0.1); 

}
/*--------------------------------*/
/*      carousel block 1 right    */
/*--------------------------------*/
.project-container {
    display: flex;
    flex-direction: column;
    overflow: hidden;       
    width: 50%;            
    height: auto;
    position: relative;  
    padding: 1rem 2rem 1rem 2rem;   
}
.carousel-block {
    margin-top: 1rem;
    flex: 0 0 100%;         
    width: 100%;            
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    transition: transform 0.5s ease-in-out; 
}
.block-details{
    display: flex;
    flex-direction: column;
    margin-bottom: 2rem;
    span{
        font-size: 1.35rem;
        margin-bottom: 0.75rem;
    }
}
.block-details .grey-subheader{
    font-size: 1.9rem;
    margin-bottom: 1.25rem;
    font-weight: 800;
}
.location-subheader{
    font-weight: 600;
}
.service-subheader{
    font-weight: 600;
}
.thumbnail-container{
    display: flex;
    flex-direction: row;
    overflow: hidden;
    transform: translateX(0);
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 2rem;
    img {
        z-index: 4;
        position: relative;
        box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3);
        -webkit-user-drag: none;
        transition: transform 0.1s ease;
        border-radius: 0;
        height: 125px;
        width: 125px;
        object-fit: cover;
        display: block;
        transition: filter 0.3s ease;
    }
}
.thumbnail-container img:hover {
    filter: brightness(0.85) sepia(1) hue-rotate(315deg) saturate(3);
    transform: translateY(-8px);
    transition:transform 0.1s ease;
    box-shadow: 0px 5px 15px #0000008d;
}

/* --------- */
/*  MOBILE   */
/* --------- */
@media (max-width: 767px) and (orientation: portrait)  {
    /*---------------------------*/
    /*      carousel block 1     */
    /*---------------------------*/
    .carousel-container{
        flex-direction: column;
        --gh: 325px;
        width: 100%;
        height: auto;
    }
    /*-------------------------------*/
    /*      carousel block 1 left    */
    /*-------------------------------*/
    .carousel{
        --cw: auto;
        margin: 1rem;
        height: calc(var(--gh) - 25px);
    }
    .buttons-container{
        right: 0.25rem;
    }
    .control-shape{
        height: 60px;
    }
    #left.btn{
        margin-bottom: 0rem;
    }
    /*--------------------------------*/
    /*      carousel block 1 right    */
    /*--------------------------------*/
    .project-container{
        width: auto;
        padding: 0rem 1rem 1rem 1rem;
    }
    .carousel-block{
        margin-top: 0;
        flex: unset;
    }
    .block-details{
        margin-bottom: 1rem;
        span{
            font-size: 1.25rem;
            margin-bottom: 0.25rem;
        }
    }
    .block-details .grey-subheader{
        font-size: 1.5rem;
        margin-bottom: 1rem;
    }
    .thumbnail-container{
        overflow-x: scroll;
        gap: 0.75rem;
        margin-bottom: 1.5rem;
        padding-bottom: 0.5rem;
    }
}
@media (max-width: 767px) and (orientation: landscape) {
    /*---------------------------*/
    /*      carousel block 1     */
    /*---------------------------*/
    .carousel-container{
        --gh: 350px;
        width: 100%;
        height: auto;
    }
    /*-------------------------------*/
    /*      carousel block 1 left    */
    /*-------------------------------*/
    .carousel{
        --cw: auto;
        margin: 1rem;
        width: var(--gh);
        height: calc(var(--gh) - 25px);
    }
    .buttons-container{
        right: 0.25rem;
    }
    .control-shape{
        height: 55px;
    }
    #left.btn{
        margin-bottom: 0rem;
    }
    /*--------------------------------*/
    /*      carousel block 1 right    */
    /*--------------------------------*/
    .project-container{
        width: 50%;
        padding: 1rem 1rem 1rem 0rem;
        justify-content: flex-end;
    }
    .carousel-block{
        margin-top: 0;
        flex: unset;
    }
    .block-details{
        margin-bottom: 0.75rem;
        span{
            font-size: 1.15rem;
            margin-bottom: 0.1rem;
        }
    }
    .block-details .grey-subheader{
        font-size: 1.35rem;
        margin-bottom: 1rem;
    }
    .thumbnail-container{
        overflow-x: scroll;
        gap: 0.75rem;
        margin-bottom: 0.75rem;
        padding-bottom: 0.5rem;
        img{
            height: 100px;
            width: 100px;
        }
    }
}

/* ----------- */
/*   TABLETS   */
/* ----------- */
@media (min-width: 767px) and (max-width: 1200px) and (orientation: portrait) and (hover: none) and (pointer: coarse) {
}
@media (min-width: 767px) and (max-width: 1200px) and (orientation: landscape) {
    /*---------------------------*/
    /*      carousel block 1     */
    /*---------------------------*/
    .carousel-container{
        --gh: 425px;
        width: 100%;
        height: auto;
    }
    /*-------------------------------*/
    /*      carousel block 1 left    */
    /*-------------------------------*/
    .carousel{
        --cw: auto;
        margin: 1rem;
        width: var(--gh);
        height: calc(var(--gh) - 25px);
    }
    .buttons-container{
        right: 0.25rem;
    }
    .control-shape{
        height: 55px;
    }
    #left.btn{
        margin-bottom: 0rem;
    }
    /*--------------------------------*/
    /*      carousel block 1 right    */
    /*--------------------------------*/
    .project-container{
        width: 50%;
        padding: 1rem 1rem 1rem 0rem;
        justify-content: flex-end;
    }
    .carousel-block{
        margin-top: 0;
        flex: unset;
    }
    .block-details{
        margin-bottom: 0.75rem;
        span{
            font-size: 1.15rem;
            margin-bottom: 0.1rem;
        }
    }
    .block-details .grey-subheader{
        font-size: 1.65rem;
        margin-bottom: 1rem;
    }
    .thumbnail-container{
        overflow-x: auto;
        gap: 0.75rem;
        margin-bottom: 0.75rem;
        padding-bottom: 0.5rem;
        img{
            height: 100px;
            width: 100px;
        }
    }
}
/* ------------------- */
/*  DESKTOP & LAPTOPS  */
/* ------------------- */
/* Small Desktops and Laptops */
@media (max-width: 1200px) and (hover: hover) and (pointer: fine) {
    
}
@media (min-width: 1201px) and (max-width: 1680px) and (hover: hover) and (pointer: fine)  {
    .carousel-container{
        --gh:550px;
    }
    .carousel{
        --cw:45%;
    }
    /*--------------------------------*/
    /*      carousel block 1 right    */
    /*--------------------------------*/
    .project-container{
        width: 47%;
        padding: 1rem 2rem 1rem 2rem;
        justify-content: flex-end;
    }
    .thumbnail-container{
        overflow-x: auto;
    }
}
