html {
  font-size: 15px;
}

@media (min-width: 768px) {
  html {
    font-size: 17px;
  }
}

* {
    /*font-family: "Outfit", sans-serif;*/
    /*font-family: "DM Sans", sans-serif;*/
    /*font-family: "Quicksand", sans-serif;*/
    /*font-family: "Dosis", sans-serif;*/
    font-family: "PT Sans Narrow", sans-serif;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #0687b1;
}

.btn:focus, .btn:hover, .btn:active:focus, .btn-link.nav-link:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #0687b1;
    background-color: #0687b1 !important;
    color: #d1d1d1 !important;
}

a:not(.static),
button:not(.static),
a:not(.static) i,
a:not(.static) svg,
button:not(.static) i,
button:not(.static) svg {
    transform: scale(1);
    transition: transform 0.2s ease-in-out;
}

a:not(.static):hover,
button:not(.static):hover {
    transform: scale(1.075);
    transition: transform 0.2s ease-in-out;
}

    a:not(.static):hover i,
    a:not(.static):hover svg,
    button:not(.static):hover i,
    button:not(.static):hover svg {
        transform: scale(1.2);
        transition: transform 0.2s ease-in-out;
    }

html {
  position: relative;
  min-height: 100%;
}

body {
    /*margin-bottom: 60px;*/
    background-color: #131317;
    /*height: calc(100vh - 70px - 56px);*/
    height: 100vh;
}

    body.backoffice {
        background-color: #131317;
        padding-left: 2rem;
        padding-right: 2rem;
        /*min-height: calc(100vh - 103px - 40px - 1rem);*/
        /*min-height: 100vh;
        height: 100%;*/
        min-height: 100vh;
        height: 100%;
        display: flex;
        flex-flow: column;
    }

        body.backoffice header,
        body.backoffice #main-container,
        body.backoffice footer {
            min-height: 100%;
            display: flex;
            flex-flow: column;
        }

            body.backoffice header {
                flex: 1 1 100px;
                max-height: 100px;
            }

            body.backoffice #main-container {
                flex: 1 1 auto;
            }

            body.backoffice footer {
                flex: 1 1 50px;
                max-height: 70px;
            }

        body.backoffice.full {
            height: calc(100vh - 40px);
        }

footer {
    text-align: right;
    pointer-events: none;
    position: fixed !important;
    bottom: 0;
    z-index: 10;
}

    footer.backoffice {
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative !important;
    }

        footer.backoffice div {
            display: flex;
            align-items: center;
            justify-content: center;
        }

.d-grid {
    display: grid !important;
}

#main-nav {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

    #main-nav.backoffice {
        padding: 0;
    }

header#site-header,
footer {
    /*#main-container {*/
    position: absolute;
    padding-left: 5rem;
    padding-right: 5rem;
    color: #d1d1d1;
    transition-duration: 0.3s;
}

    header#site-header {
        width: 100%;
        height: 70px;
        /*background: #13131759;*/
        background: #131317;
        position: fixed;
        pointer-events: none;
        opacity: 0;
        z-index: 10;
        transition-duration: 0.3s;
    }

        header#site-header.show {
            opacity: 1;
            pointer-events: all;
            transition-duration: 0.3s;
        }

    footer .container-fluid {
        padding-right: 30px;
    }

.active {
    font-weight: bolder;
    color: #057194 !important;
    text-decoration: underline;
}

#main-logo.backoffice {
    transform-origin: left;
    transform: scale(0.8);
}

button {
    border-radius: 200px !important;
}

.overflow-hidden {
    overflow: hidden;
}

.main-section {
    min-height: 100vh;
    padding-left: 5rem;
    padding-right: 5rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
    position: relative;
}

    .main-section.odd {
        background-color: #d1d1d1 !important;
    }

    .main-section.even {
        background-color: #131317 !important;
    }

.clickable-basic-btn .mouse-left {
    display: none;
    position: absolute;
    opacity: 0;
    left: 30px;
    bottom: -5px;
    transition: left 0.2s ease-in, opacity 0.2s ease-in;
}


    .clickable-basic-btn .mouse-left i,
    .clickable-basic-btn .mouse-left svg {
        font-size: 1.4rem !important;
    }

    .mouse-main {
        width: 21px;
        height: 30px;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }

    .mouse-top {
        display: grid;
        grid-template-columns: 1fr 1fr;
        height: 22px;
        gap: 2px;
    }

    .left-mouse-btn,
    .right-mouse-btn {
        height: 100%;
    }

        .left-mouse-btn {
            border-radius: 8px 0px 0px 0px;
        }

        .right-mouse-btn {
            border-radius: 0px 8px 0px 0px;
        }

    .mouse-bottom {
        height: 35px;
        border-radius: 0px 0px 8px 8px;
    }

.clickable-basic-btn {
    cursor: pointer;
    position: relative;
    border: 0 !important;
    text-decoration: none !important;
    text-decoration-color: #d1d1d1 !important;
    outline: 0 !important;
    display: flex;
    font-size: 1.2rem !important;
    transition: text-decoration 0.2s ease-in-out, text-decoration-color 0.2s ease-in-out, transform 0.2s ease-in-out;
}

    .clickable-basic-btn:hover {
        transform: scale(1.075);
        transition: transform 0.2s ease-in-out;
    }

    .clickable-basic-btn::before {
        content: "";
        height: 4px;
        background-color: var(--before-bg);
        position: absolute;
        bottom: -4px;
        width: 0;
        transition: width 0.2s ease-in;
    }

    .clickable-basic-btn:hover::before {
        width: 100% !important;
        transition: width 0.2s ease-out;
    }

    .clickable-basic-btn:hover .mouse-left {
        left: -30px !important;
        opacity: 1 !important;
        transition: left 0.25s ease-out, opacity 0.25s ease-in;
    }

    .clickable-basic-btn i,
    .clickable-basic-btn svg {
        font-size: 1.2rem !important;
    }

    .clickable-basic-btn > .light {
        color: #d1d1d1 !important;
        border-color: #d1d1d1 !important;
    }

    .clickable-basic-btn > .column {
        display: flex !important;
        flex-flow: column !important;
    }

.bg-yellow {
    background-color: #fcc419;
}

.text-yellow {
    color: #fcc419;
}

.border-yellow {
    border-color: #fcc419 !important;
}

.bg-blue {
    background-color: #057194;
}

.text-blue {
    color: #057194;
}

.border-blue {
    border-color: #057194 !important;
}

.bg-red {
    background-color: firebrick;
}

.text-red {
    color: firebrick;
}

.text-red-important {
    color: firebrick !important;
}

.border-red {
    border-color: firebrick !important;
}

.bg-green {
    background-color: forestgreen;
}

.text-green {
    color: forestgreen;
}

.border-green {
    border-color: forestgreen !important;
}

.bg-blackish {
    background-color: #131317 !important;
}

    .fake-modal.bg-blackish {
        background-color: #131317e3 !important;
    }

.text-blackish {
    color: #131317 !important;
}

.border-blackish {
    border-color: #131317 !important;
}

.bg-whiteish {
    background-color: #d1d1d1 !important;
}

    .fake-modal.bg-whiteish {
        background-color: #d1d1d1e3 !important;
    }

.text-whiteish {
    color: #d1d1d1 !important;
}

.border-whiteish {
    border-color: #d1d1d1 !important;
}

.bg-transp {
    background-color: transparent !important;
}

.hidden {
    display: none !important;
}

.float-right {
    float: right;
}

.float-left {
    float: left;
}

.hamburger-icon {
    height: auto;
    display: block;
    width: 17px;
    padding: 7px 0;
    vertical-align: middle;
    margin-top: 5px;
}

    .hamburger-icon span {
        display: block;
        background-color: #d1d1d1;
        height: 2px !important;
        margin-bottom: 3px;
    }

    .hamburger-icon.blue span {
        display: block;
        background-color: #057194;
        height: 2px !important;
        margin-bottom: 3px;
    }

#main-grid {
    display: grid;
    grid-template-columns: 18rem auto;
    grid-template-rows: auto;
    align-items: start;
}

#left-section {
    padding-left: 40px;
    padding-top: 40px;
    padding-bottom: 30px;
    display: flex;
    justify-content: center;
    flex-flow: column;
    min-width: 20rem;
    max-width: 20rem;
    position: relative;
    /*background-color: yellow;*/
}

    #side-menu {
        display: flex;
        flex-flow: column;
        background-color: #d1d1d1;
        position: fixed;
        width: 20%;
        min-width: 21rem;
        height: 100%;
        padding: 2rem 1.2rem;
        left: -100%;
        top: 0;
        z-index: 101;
        box-shadow: 5px 0px 8px #13131735;
        transition-duration: 0.35s;
    }

        #side-menu.show {
            left: 0;
        }

        #side-menu #content {
            display: flex;
            flex-flow: wrap;
            align-items: start;
            justify-content: center;
        }

.section {
    margin-bottom: 2rem;
}

    /*#jobs {
        display: grid;
        grid-template-columns: 6rem 6rem;
        grid-template-rows: auto 1fr;
        column-gap: 2rem;
        row-gap: 22px;
        align-items: start;
    }*/

    #jobs {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(25%, 1fr));
        width: 20rem;
        column-gap: 12px;
        row-gap: 12px;
        align-items: start;
        margin: 1rem 0;
    }

        #jobs .job {
            font-weight: normal;
            line-height: 17px;
            font-size: 1rem;
            white-space: break-spaces;
        }

        #jobs.dark .job {
            color: #d1d1d1 !important;
            /*font-weight: bold;*/
            background-color: #ffffff10;
            padding: 0.6rem 0.3rem;
            text-align: center;
            /*border-left: 4px solid #7a7171;*/
            border-left: 4px solid #057194;
            /*box-shadow: -6px 6px 0px #ffffff36;*/
        }

        #jobs.light .job {
            color: #131317 !important;
            /*font-weight: bold;*/
            background-color: #05719410;
            padding: 0.6rem 0.3rem;
            text-align: center;
            /*border-left: 4px solid #7a7171;*/
            border-left: 4px solid #057194;
            /*box-shadow: -6px 6px 0px #ffffff36;*/
        }

    #socials-main-div {
        display: flex;
        flex-flow: column;
        align-items: center;
        justify-content: center;
        margin-left: auto;
        margin-right: auto;
        margin-top: 1rem;
        margin-bottom: 1rem;
        max-width: 195px;
    }

        #side-menu #socials-main-div {
            position: absolute;
            bottom: 0;
            flex-flow: column;
            align-items: center;
            justify-content: center;
            margin-right: auto;
        }

            #side-menu #socials-main-div p {
                color: #131317;
            }

    #socials {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }

        #socials .social-item {
            color: #057194;
            font-size: 1.5rem;
            /*margin: auto;
            margin-left: 1rem;
            margin-right: 1rem;*/
        }

            #socials .social-item a {
                border-width: 1px !important;
                font-size: 2.2rem !important;
            }

.email {
    color: #d1d1d1;
    width: 100%;
    text-align: center;
    margin: 0;
}
    
#right-section {
    padding: 0;
    overflow-y: auto;
    max-height: 100vh;
}

.a-btn {
    color: #057194 !important;
    cursor: pointer;
}

    .a-btn:hover {
        color: #0687b1 !important;
    }

.a-link-btn,
.a-link-btn:hover {
    color: #057194;
}

.a-btn-simple {
    cursor: pointer;
    text-decoration: none;
    outline: none;
    border: 0;
}

    .a-btn-simple.border {
        border: 1px solid;
        padding: 0.3rem 0.6rem
    }


#status-text-div #current-status-div i,
#status-text-div #current-status-div svg {
    font-size: 0.7rem !important;
}

#status-text-div {
    color: #d1d1d1 !important;
}

    #status-text-div #current-status-description-div {
        padding: 0.4rem 0.8rem;
        width: fit-content;
    }

.border-icon {
    border: 1px solid;
    border-radius: 4px;
    padding: 0.3rem;
}

.border-round-icon {
    border: 1px solid;
    border-radius: 200px;
    padding: 0.15rem 0.45rem;
}

#projects-section,
#media-section {
    background-color: #d1d1d1;
    z-index: 2;
    position: relative;
}

/*#projects-depos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
}

.project-item {
    width: calc(25% - 5px);*/ /* Or use a media query for responsiveness */
    /*min-height: 65vh;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transform-origin: left;
    transition: opacity 0.3s ease, transform 0.3s ease;
}*/

#projects-depos,
#media-depos {
    width: 100%;
    margin: auto;
    display: grid;
    gap: 5px;
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    grid-auto-rows: auto;
    justify-content: center;
    position: relative;
}

    #projects-depos.backoffice,
    #media-depos.backoffice {
        display: flex !important;
        width: 100%;
        flex-flow: wrap !important;
        justify-content: flex-start;
        gap: 0.5rem;
        position: relative;
        z-index: 1;
    }

    /*#projects-depos.backoffice,*/
    /*#media-depos.backoffice {
        width: 100%;
        margin: auto;
        display: grid;
        gap: 5px;
        grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
        grid-auto-rows: auto;
        justify-content: center;
        position: relative;
    }*/

.media-item {
    background-image: var(--bg-url);
    background-size: cover;
    background-position: center;
}

.project-item,
.media-item {
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transform-origin: left;
    opacity: 1;
    min-height: 65vh;
    /*transform: scale(1);*/
    transform: translateX(0%);
    border: 1px solid #c4c4c4;
    transition: opacity 0.35s ease, transform 0.35s ease;
}
    .project-item.backoffice,
    .media-item.backoffice {
        min-height: 35vh;
        width: calc(25% - 0.5rem);
        /*min-height: 100%;*/
    }

    .project-item.hide-animating,
    .media-item.hide-animating {
        opacity: 0;
        /*transform: scale(0.8);*/
        transform: translateX(-100%);
        pointer-events: none;
        transition: opacity 0.35s ease, transform 0.35s ease;
    }

    .project-item.hidden,
    .media-item.hidden {
        opacity: 0;
        transform: scale(0.1);
        pointer-events: none;
        height: 0;
        margin: 0;
        padding: 0;
        border: 0;
        overflow: hidden;
        transition: opacity 0.35s ease, transform 0.35s ease;
    }

    .image-gallery-item {
        cursor: pointer;
    }

    .image-gallery-item.last-image,
    .project-item.last-project {
        flex-shrink: 0;
        cursor: pointer;
        position: relative;
        overflow: hidden;
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
        color: #d1d1d1;
        background-color: #131317;
        height: 100%;
        min-height: 65vh;
    }

        .image-gallery-item.backoffice,
        .image-gallery-item.backoffice.last-image {
            min-height: 25vh;
            max-height: 25vh !important;
        }

        .image-gallery-item.last-image > i,
        .image-gallery-item.last-image > svg,
        .project-item.last-project > i,
        .project-item.last-project > svg,
        .media-item.last-project > i,
        .media-item.last-project > svg {
            color: firebrick !important;
            font-size: 2.5rem;
            margin-bottom: 10px;
        }

    .media-cover,
    .project-cover {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: var(--bg-url);
        background-size: cover;
        background-position: center;
        transition: transform 0.2s ease-in;
        aspect-ratio: 4 / 3;
        z-index: 1;
    }

        .project-item:not(.unhoverable):hover .project-cover,
        .media-item:not(.unhoverable):hover .project-cover,
        .image-gallery-item:not(.unhoverable):hover .project-cover {
        /*.overlay-hover-trigger:hover ~ .project-cover {*/
            transform: translateX(100%);
        }

    .project-item::after,
    .media-item::after,
    .image-gallery-item::after {
        content: "";
        position: absolute;
        z-index: 1;
        width: 100%;
        height: 100%;
        background: radial-gradient(transparent, rgba(0,0,0,.2));
    }

    .project-item .overlay #border,
    .media-item .overlay #border,
    .image-gallery-item .overlay #border {
        display: flex;
        flex-flow: column;
        justify-content: space-between;
        padding: 0 15px;
        width: 100%;
        height: 100%;
        /*border: 3px solid #373737;*/
        transition-duration: 0.25s;
    }

    .project-item .order-div,
    .media-item .order-div,
    .image-gallery-item .order-div {
        position: absolute;
        top: 0;
        left: 0;
        background-color: #131317;
        color: #fff;
        font-weight: bold;
        padding: 0.2rem 0.4rem;
        z-index: 2;
    }

    .project-item .item-actions-div.show,
    .media-item .item-actions-div.show,
    .image-gallery-item .item-actions-div.show {
        position: absolute;
        display: block;
        top: 0.35rem;
        right: 0.25rem;
        padding: 0.2rem 0.4rem;
        z-index: 2;
    }

        .project-item .item-actions-div,
        .media-item .item-actions-div,
        .image-gallery-item .item-actions-div {
            display: none;
        }

.scroll-slide-up {
}

.project-item .overlay-hover-trigger,
.media-item .overlay-hover-trigger {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    position: absolute;
    padding: 15px;
    color: #131317;
    z-index: 3;
    pointer-events: none;
    visibility: hidden;
    width: 100%;
    height: 25%;
    top: 35%;
}

.project-item .overlay,
.media-item .overlay,
.image-gallery-item .overlay {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    position: absolute;
    padding: 15px;
    color: #131317;
    background-color: #f1f1f1;
    z-index: 2;
    width: 100%;
    height: 100%;
    left: -100%;
    transition: left 0.2s ease-in, box-shadow 0.3s ease-in;
}

    .project-item:not(.unhoverable):hover,
    .media-item:not(.unhoverable):hover,
    .image-gallery-item:not(.unhoverable):hover {
        /*box-shadow: 0 0 15px rgba(0,0,0,.3);*/
        border: none !important;
        transition: box-shadow 0.3s ease-in;
    }

        .project-item:not(.unhoverable):hover .overlay,
        .media-item:not(.unhoverable):hover .overlay,
        .image-gallery-item:not(.unhoverable):hover .overlay {
            /*.project-item .overlay-hover-trigger:hover ~ .overlay {*/
            left: 0;
        }

        .project-item .overlay #title,
        .media-item .overlay #title,
        .image-gallery-item .overlay #title,
        .project-item .overlay #view,
        .media-item .overlay #view,
        .image-gallery-item .overlay #view,
        .project-item .overlay #details,
        .media-item .overlay #details,
        .image-gallery-item .overlay #details {
            color: #131317;
        }

            .project-item .overlay #title,
            .media-item .overlay #title,
            .image-gallery-item .overlay #title {
                display: flex;
                flex-flow: column;
            }

                .project-item .overlay #title .title,
                .media-item .overlay #title .title,
                .image-gallery-item .overlay #title .title {
                    color: #057194;
                    /*max-width: calc(100% - 30px);*/
                    max-width: 100%;
                    width: 100%;
                    text-overflow: ellipsis;
                    overflow: hidden;
                    white-space: nowrap;
                    font-weight: bold;
                    text-align: center;
                    /*text-transform: uppercase;*/
                }

                .project-item .overlay #title .subtitle,
                .media-item .overlay #title .subtitle,
                .image-gallery-item .overlay #title .subtitle {
                    color: #131317;
                    /* max-width: calc(100% - 30px);
                    text-overflow: ellipsis;
                    overflow: hidden;*/
                    /*white-space: nowrap;*/
                    /*border-left: 3px solid #057194;*/
                    /*padding-left: 7px;*/
                    text-align: center;
                    font-weight: 400;
                }

        .project-item .overlay #view,
        .media-item .overlay #view,
        .image-gallery-item .overlay #view {
            margin: auto;
        }

            .project-item .overlay #view a,
            .media-item .overlay #view a,
            .image-gallery-item .overlay #view a {
                color: #131317;
                /*font-weight: bold;*/
            }

        .project-item .overlay #details,
        .media-item .overlay #details,
        .image-gallery-item .overlay #details {
            display: flex;
            align-items: flex-start;
            justify-content: flex-start;
            flex-flow: column;
        }

            #details {
                display: flex;
                align-items: center;
            }

                #details #details-depos {
                    gap: 2px;
                    display: flex;
                    flex-flow: wrap;
                }

                    #details i,
                    #details svg,
                    #labels i,
                    #labels svg {
                        margin-right: 0.5rem;
                    }

                #details .detail-item,
                .popover-body .detail-item {
                    border-radius: 7px;
                    padding: 0.3rem 0.6rem;
                    background-color: transparent;
                    color: #131317;
                    border: 1px solid #057194;
                    margin-right: 5px;
                }

            #labels {
                display: flex;
                align-items: center;
            }

                #labels #labels-depos {
                    gap: 2px;
                    display: flex;
                    flex-flow: wrap;
                }

                #labels .label-item,
                .popover-body .label-item {
                    border-radius: 7px;
                    padding: 0.3rem 0.6rem;
                    background-color: #057194;
                    color: #d1d1d1 !important;
                    border: 1px solid #d1d1d1;
                    margin-right: 5px;
                }

#loadingSpinner {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #131317;
    color: #d1d1d1;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1001;
    transition: opacity 1s ease, filter 1s ease;
}

#logo-div h1,
#logo-div-backoffice h1 {
    margin: 0;
    line-height: 32px;
    font-size: 2rem;
    text-decoration: underline;
    text-decoration-color: #057194;
}

    /*#logo-div h1,*/
    #logo-div p,
    #logo-div-backoffice h1,
    #logo-div-backoffice p{
        color: #fff !important;
    }

    #logo-div.dark h1,
    #logo-div.dark p,
    #logo-div-backoffice.dark h1,
    #logo-div-backoffice.dark p {
        color: #131317 !important;
    }

    #logo-div h1#t1 {
        letter-spacing: 0.14rem;
    }

    #logo-div h1#t2 {
        letter-spacing: 0.21rem;
    }

#logo-div-backoffice {
    display: flex;
    flex-flow: row;
    align-items: center;
    gap: 15px;
}

    #logo-div-backoffice .separator {
        display: flex;
        height: 60px;
        width: 2px;
        background-color: #057194;
    }

    #logo-div-backoffice .logo {
        display: flex;
        flex-flow: column;
        align-items: center;
        justify-content: center;
        height: 100%;
    }

    #logo-div-backoffice .bo {
        display: flex;
        flex-flow: column;
        align-items: flex-start;
        justify-content: center;
        height: 100%;
    }

    #logo-div-backoffice h1 {
        font-weight: lighter;
        color: #fff;
        text-decoration: none;
    }

        #logo-div-backoffice h1#t1 {
            color: #fff;
            margin: 0;
            line-height: 32px;
            font-size: 2rem;
            text-decoration: underline;
            text-decoration-color: #057194;
            letter-spacing: 0.15rem;
        }

        #logo-div-backoffice h1#t2 {
            color: #fff;
            margin: 0;
            line-height: 32px;
            font-size: 2rem;
            text-decoration: underline;
            text-decoration-color: #057194;
            letter-spacing: 0.21rem;
        }

#logo-div.simple {
    animation: fadeIn 1s ease forwards;
}

#logo-div.simple h1 {
    position: relative;
    color: transparent;
    -webkit-text-stroke: 1px #fff;
    text-shadow: 0 0 1px rgba(255,255,255,0.2);
    overflow: hidden;
}

#logo-div.simple h1::after {
    content: attr(data-text);
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    color: white;
    -webkit-text-stroke: 0;
    white-space: nowrap;
    clip-path: inset(calc(100% - var(--fill, 0%)) 0 0 0); /* this animates the fill */
    transition: clip-path 0.2s ease;
}

#logo-div #logo-subtitle,
#logo-div-backoffice #logo-subtitle {
    color: #fff;
    margin: 0;
    /*margin-top: 5px;*/
    font-size: .98rem;
    font-weight: normal;
    letter-spacing: 0.32rem;
}

#logo-div h1 {
    position: relative;
    overflow: hidden;
    color: #fff;
}

    #logo-div h1::after {
        content: attr(data-text);
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        height: 100%;
        color: #fff;
        -webkit-text-stroke: 0;
        white-space: nowrap;
        animation: fillUp 1.5s ease forwards;
    }

    #logo-div h1::before {
        content: '';
        position: absolute;
        bottom: 0; /* slight offset from text */
        left: 0;
        height: 2px;
        width: 0%;
        background-color: #057194;
        transition: width 0.5s ease;
    }

#logo-div.underline-reveal h1::before {
    width: 100%;
}

/* When page is fully loaded: fade & blur loading screen */
#loadingSpinner.loaded {
    opacity: 0;
    filter: blur(5px);
    pointer-events: none;
}

.form-message-btn {
    font-size: 1.5rem;
    border-radius: 200px;
    padding: 0.75rem 1rem;
    border: 3px solid #057194;
    color: #057194;
}

/*#message-form.show {
    position: absolute;
    bottom: 3.6rem;
    left: 0;
    width: 30rem;
    opacity: 1;
    padding: 1rem 1.75rem;
    background-color: #fff;
    border-radius: 7px;
    box-shadow: -2px 2px 6px rgba(255,255,255,0.2);
    pointer-events: all;
    z-index: 100;
    transition: bottom 0.2s ease-in-out;
    animation: fadeIn ease-in 0.1s, bottomUp ease-in 0.2s;
}*/

#message-form.show {
    /*position: absolute;
    bottom: -3rem;
    left: 0;*/
    /*width: 30rem;*/
    position: relative;
    width: auto;
    min-width: 30rem;
    /*opacity: 0;*/
    padding: 1rem 1.75rem;
    /*background-color: #fff;*/
    border-radius: 7px;
    /*box-shadow: -2px 2px 6px rgba(255,255,255,0.2);*/
    /*pointer-events: none;
    z-index: 100;*/
    margin: auto;
    opacity: 1;
    pointer-events: auto;
    transition: bottom 0.2s ease-in-out, opacity 0.2s ease-in-out;
    animation: fadeOut ease-out 0.2s, bottomDown ease-in 0.2s;
}

    #message-form input,
    #message-form textarea,
    #message-form button {
        opacity: 1;
        pointer-events: auto;
        transition: opacity 0.2s ease-in-out;
    }

    #message-form.processing input,
    #message-form.processing textarea,
    #message-form.processing button {
        opacity: 0.5;
        pointer-events: none;
        transition: opacity 0.2s ease-in-out;
    }

    #message-form label {
        color: #d1d1d1;
    }

.message-form-field {
    border-radius: 7px;
    border: none;
    border-left: 4px solid #d1d1d1;
    background-color: #f3f3f3;
    color: #131317;
    padding: 0.5rem;
    transition-duration: 0.35s;
}

    .message-form-field:focus {
        box-shadow: inset 0 0 0 2px #057194 !important; 
        border: none;
        /*border: 2px solid #057194;*/
    }

    .message-form-field:not(:placeholder-shown) {
        border-left: 4px solid #057194;
    }

#form-message-div {
    position: absolute;
    bottom: 60px;
}

#opener-content-div {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    width: 50%;
    margin: auto;
    opacity: 1;
    transition: opacity 1.5s ease-in-out, transform 1.5s ease-in-out;
}

#logo-big-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding-left: 25%;
    padding-right: 25%;
    height: 100vh;
    z-index: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-flow: column;
    transition: opacity 2s ease-in-out, transform 2s ease-in-out;
}

    #logo-big-bg.droppedin-x2::before {
        content: "RM\A DM";
        white-space: pre;
        font-size: 38.5rem;
        line-height: 0.73;
        text-align: center;
        color: #d1d1d1;
        font-weight: bold;
        font-family: sans-serif;
        display: block;
        background-image: linear-gradient(#fff 50%, transparent);
        color: transparent;
        background-clip: text;
        position: fixed;
        transform: translateY(-10rem);
        opacity: 0;
        transition: transform 2.5s ease-in-out, opacity 2.5s ease-in-out;
    }

    #logo-big-bg::before {
        content: "RM\A DM";
        white-space: pre;
        font-size: 38.5rem;
        line-height: 0.73;
        text-align: center;
        color: #d1d1d1;
        font-weight: bold;
        font-family: sans-serif;
        display: block;
        background-image: linear-gradient(#fff 50%, transparent);
        color: transparent;
        background-clip: text;
        position: fixed;
        transform: none;
        opacity: 0.035;
        transition: transform 2.5s ease-in-out, opacity 2.5s ease-in-out;
    }

#intro-content {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    width: 50%;
    margin: auto;
    transform: translateY(0);
    opacity: 1;
    pointer-events: none;
    transition: opacity 1.5s ease-in-out, transform 1.5s ease-in-out;
}

.canDrop {
    transition: opacity 1.5s ease-in-out, transform 1.5s ease-in-out;
}

  /*  #intro-content .section:not(.droppedin),
    #logo-big-bg:not(.droppedin) {
        transition: opacity 1.5s ease-in-out, transform 1.5s ease-in-out;
    }*/

    .droppedin {
        transform: translateY(-3rem);
        opacity: 0;
        transition: opacity 2s ease-in-out, transform 2s ease-in-out;
    }

    .droppedin-x2 {
        transform: translateY(-6rem);
        opacity: 0;
        transition: opacity 2s ease-in-out, transform 2s ease-in-out;
    }

    .droppedin-x3 {
        transform: translateY(-9rem);
        opacity: 0;
        transition: opacity 2s ease-in-out, transform 2s ease-in-out;
    }

    #intro-content #logo-main-div {
        display: grid;
        order: 1;
    }

    #intro-content #intro-text-div {
        display: grid;
        order: 2;
    }

    #intro-content #about {
        display: grid;
        order: 3;
    }

    #intro-content #ver-projetos-div {
        display: grid;
        order: 4;
        /*border: 4px dotted;
        padding: 1.2rem 0.2rem;*/
    }

        #ver-projetos-div.vertical .cont {
            display: flex;
            flex-flow: column;
            align-items: center;
        }

        #ver-projetos-div.vertical .cont .item {
            display: flex;
            flex-flow: column;
            align-items: start;
            margin-bottom: 3rem;
        }

            #ver-projetos-div.vertical .item .column {
                color: #131317;
            }

    #intro-content #socials-content {
        display: grid;
        order: 5;
    }


#intro-text-div {
    display: flex;
    justify-content: center;
}

#intro-text {
    color: #d1d1d1;
    text-align: center;
    word-break: break-word;
    width: 33rem;
}

#bottom-elements {
    display: flex;
    justify-content: center;
    /*position: absolute;
    left: 0;
    bottom: 0;*/
}

.bounce-loop {
    animation: bounce 2s ease-in-out infinite;
}

.blinker {
    animation: blink 1s infinite ease-in-out;
}

#projects-title {
    position: absolute;
    left: -1rem;
    top: 8.2rem;
    color: #131317;
    transform: rotate(-90deg);
    transform-origin: left;
}

    #projects-title h1 {
        font-weight: lighter;
        font-size: 2rem;
    }

/* Starting position: off to the right */
.slide-modal .modal-dialog {
    transform: translateX(-100%);
    transition: transform 0.4s ease-in-out;
    margin: 0;
    height: 100%; /* optional for full modals */
}

/* When shown, slide in */
.slide-modal.show .modal-dialog {
    transform: translateX(0);
    transition: transform 0.4s ease-in-out;
}

/* When hiding, slide to left */
.slide-modal.hiding .modal-dialog {
    transform: translateX(-100%);
    transition: transform 0.4s ease-in-out;
}

.modal-project,
.modal-project .modal-header,
.modal-project .modal-body,
.modal-project .modal-footer {
    background-color: #f1f1f1 !important;
    border: none !important;
    flex-shrink: 0;
}

    .modal-project .modal-header {
        padding-bottom: 0;
    }

    /*.modal-project .modal-footer {
        padding-top: 0;
    }*/

    .modal-project .modal-content {
        display: flex;
        flex-direction: column;
        height: 100vh;
    }

    .modal-project .modal-body {
        flex: 1 1 auto;
        padding-left: 5rem !important;
        padding-right: 5rem !important;
    }

    #project-details {
        display: flex;
        flex-direction: row; /* Side-by-side */
        height: 100vh;
        flex: 1;
        width: 100%;    
        margin: auto;
        padding: 0;
        column-gap: 1rem;
        /*gap: 1.5rem;*/
    }

        #project-details.backoffice {
            /*height: calc(100vh - 25rem) !important;
            max-height: 100% !important;*/
            display: flex;
            flex-direction: row; /* Side-by-side */
            /*height: 100vh;*/
            flex: 1;
            width: 100%;
            margin: auto;
            column-gap: 1rem;
            padding: 0;
        }

    #project-details .section {
        margin: 0.75rem 0;
    }

        #project-details #left {
            flex: 1 1 40%;
            height: 100%;
            /*overflow-y: auto;*/
        }

        #project-details #right {
            flex: 1 1 60%;
            height: 100%;
            overflow-y: auto;
            /*background: rgba(0,0,0,0.05);*/
            /*box-shadow: inset 0px 0px 15px 9px rgba(0, 0, 0, 0.035);*/
        }

    #project-details #title {
        order: 0;
        display: flex;
        flex-flow: wrap;
        row-gap: 0.25rem;
        align-items: center;
    }

    #project-details #subtitle {
        order: 1;
        margin-top: 0.25rem;
    }

    #project-details #image-gallery {
        order: 2;
    }

    #project-details #description {
        order: 3;
        overflow: auto;
        max-height: calc(100vh - 21rem);
        padding-left: 0.35rem;
        padding-right: 0.35rem;
    }

    #project-details #details {
        order: 4;
    }

    .slick-dots li button:before {
        color: #fff;
    }

    #project-details #title h3 {
        color: #057194;
        font-weight: bold;
        word-break: break-word;
        text-align: left;
        margin: 0;
        text-transform: uppercase;
    }

        #project-details #subtitle h6 {
            color: #131317;
            font-weight: 600;
            word-break: break-word;
            border-left: 5px solid #057194;
            padding-left: 0.75rem;
            text-align: left;
            margin: 0;
        }

        #project-details #description {
            /*height: calc(100vh - 39rem);
            overflow: auto;*/
        }

            #project-details #description pre {
                color: #131317;
                font-weight: 300;
                word-break: break-word;
                text-align: justify;
                white-space: pre-wrap;
                word-wrap: break-word;
                /*columns: auto;*/ /* or column-count: 2; */
                /*column-gap: 2rem;*/ /* space between columns */
                /*column-width: 250px;*/
                margin: 2rem 0;
                font-size: 1rem;
                font-family: inherit !important;
            }

        #project-details #image-gallery {
            max-height: 100%;
            overflow: auto;
            max-height: calc(100vh - 9.5rem);
            /*display: grid;
            width: 100%;
            height: 17rem;*/
           /* grid-template-columns: 1fr 1fr;
            grid-auto-rows: auto 1fr;
            gap: 0.3rem;*/
        }

            #project-details.backoffice #image-gallery {
                max-height: 100%;
                overflow: auto;
                max-height: calc(100vh - 20.5rem);
                /*display: grid;
                        width: 100%;
                        height: 17rem;*/
                /* grid-template-columns: 1fr 1fr;
                        grid-auto-rows: auto 1fr;
                        gap: 0.3rem;*/
            }

        #project-details #image-gallery .image-gallery-item.main-image {
            grid-column: 1 / 3;
        }

        .modal-project .modal-body,
        #project-details,
        #right,
        #image-gallery,
        .image-gallery-item,
        .slick-track,
        .slick-slide {
            height: 100%;
            max-height: 100%;
        }

        #project-details #image-gallery .image-gallery-item {
            width: 100%;
            height: 100%;
        }

            #project-details #image-gallery .image-gallery-item img {
                width: 100%;
                height: 100%;
                /*width: fit-content;*/
                object-fit: cover;
                display: block;
            }

.modal-project-gallery {
    z-index: 101;
}

.slick-depos .slick-prev:before,
.slick-depos .slick-next:before {
    font-family: 'Fontawesome';
    font-size: 3rem;
    line-height: 1;
    opacity: .75;
    color: #131317;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

    .slick-depos .slick-prev:before {
        content: '\f0d9';
        transition-duration: 0.2s;
    }

        .slick-depos .slick-prev:hover:before {
            color: rgba(0,0,0,.3);
            transition-duration: 0.2s;
        }

    .slick-depos .slick-next:before {
        content: '\f0da';
    }

        .slick-depos .slick-next:hover:before {
            color: rgba(0,0,0,.3);
            transition-duration: 0.2s;
        }

.image-grid {
    display: grid;
    height: 100%;
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: max-content;
    row-gap: 0.3rem;
    column-gap: 0.3rem;
    /*box-shadow: inset 7px -7px 18px #1313171a;*/
    padding: 1rem;
    /*border: 1px solid #d1d1d1;*/
}

    .image-grid.backoffice {
        grid-template-columns: repeat(3, 1fr) !important;
    }

    .image-grid .image-gallery-item {
        position: relative;
        overflow: hidden;
        height: 100%;
        min-height: 33.333vh;
        max-height: calc(100vh - 42rem);
        /*border: 2px solid #057194;*/
        border: 1px solid #c4c4c4;
    }

.separator-bar-h {
    height: 0px;
    width: 100%;
    border: 2px dotted;
}

.separator-bar-v {
    width: 0px;
    height: 100%;
}

    .separator-bar-h.black,
    .separator-bar-v.black {
        background-color: #131317;
    }

    .separator-bar-h.blue,
    .separator-bar-v.blue {
        background-color: #057194;
    }

    .separator-bar-h.white,
    .separator-bar-v.white {
        background-color: #d1d1d1;
    }

.scroll-to-top {
    position: fixed;
    bottom: 70px;
    right: 80px;
    width: 50px;
    height: 50px;
    background-color: #fff;
    color: #000;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    cursor: pointer !important;
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    z-index: 10;
    transition: opacity 0.3s, visibility 0.3s !important;
}

    .scroll-to-top.show {
        opacity: 1;
        visibility: visible;
        transition: opacity 0.3s, visibility 0.3s !important;
    }

.text-danger {
    color: #FFDE21;
    background-color: transparent;
}

    .text-danger.field-validation-error::before {
        content: "\f071";
        font-family: "Fontawesome";
        margin-right: 3px;
        padding: 0 5px;
    }

.warning-spinner-msg {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 15px;
    left: 0;
    opacity: 0;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    z-index: 2;
    transition: top ease-in-out 0.3s, opacity ease-in-out 0.3s;
}

    .warning-spinner-msg.show {
        top: 0;
        opacity: 1;
        transition: top ease-in-out 0.3s, opacity ease-in-out 0.3s;
    }

        .warning-spinner-msg .content {
            display: flex;
            width: auto;
            align-items: center;
            background-color: #d1d1d1;
            justify-content: center;
            padding: 1.3rem 2rem;
            box-shadow: -3px 3px 10px rgba(0,0,0,0.2);
            opacity: 0;
            transition: top ease-in-out 0.3s, opacity ease-in-out 0.3s;
        }

            .warning-spinner-msg .content[data-status="success"] {
                background-color: forestgreen;
                color: #fff;
                transition: top ease-in-out 0.3s, opacity ease-in-out 0.3s;
            }

            .warning-spinner-msg .content[data-status="error"] {
                background-color: firebrick;
                color: #fff;
                transition: top ease-in-out 0.3s, opacity ease-in-out 0.3s;
            }

        .warning-spinner-msg.show .content {
            opacity: 1;
            transition: top ease-in-out 0.3s, opacity ease-in-out 0.3s;
        }

.fake-modal {
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.9);
    opacity: 0;
    pointer-events: none;
    z-index: 1000;
}

    .fake-modal.show {
        top: 0;
        opacity: 1;
        pointer-events: all;
    }

.fake-modal .modal-header,
.fake-modal .modal-body,
.fake-modal .modal-footer {
    border: none !important;
}

.fake-modal .modal-content.bg-blackish {
    color: #d1d1d1 !important;
}

    .fake-modal .modal-content.bg-blackish button,
    .fake-modal .modal-content.bg-blackish i,
    .fake-modal .modal-content.bg-blackish svg {
        color: #d1d1d1 !important;
    }

        .fake-modal .modal-content.bg-blackish button {
            background-color: transparent !important;
            border-color: #d1d1d1 !important;
        }

.fake-modal .modal-content.bg-whiteish {
    color: #131317 !important;
}

    .fake-modal .modal-content.bg-whiteish button.default-btn-sm,
    .fake-modal .modal-content.bg-whiteish .default-btn-sm > i,
    .fake-modal .modal-content.bg-whiteish .default-btn-sm > svg {
        color: #131317 !important;
    }

.fake-modal[data-slide="bottom"] {
    bottom: 101%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1s ease-in-out, bottom 0.35s ease-in-out;
}

    .fake-modal[data-slide="bottom"].show {
        bottom: 0;
        opacity: 1;
        pointer-events: all;
        transition: opacity 0.15s ease-in-out, bottom 0.35s ease-in-out;
    }

.fake-modal[data-slide="top"] {
    top: 101%;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1s ease-in-out, top 0.35s ease-in-out;
}

    .fake-modal[data-slide="top"].show {
        top: 0;
        opacity: 1;
        pointer-events: all;
        transition: opacity 0.15s ease-in-out, top 0.35s ease-in-out;
    }

.fake-modal[data-slide="left"] {
    left: 101%;
    top: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1s ease-in-out, left 0.35s ease-in-out;
}

    .fake-modal[data-slide="left"].show {
        left: 0;
        opacity: 1;
        pointer-events: all;
        transition: opacity 0.15s ease-in-out, left 0.35s ease-in-out;
    }

.fake-modal[data-slide="right"] {
    top: 0;
    right: 101%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 1s ease-in-out, right 0.35s ease-in-out;
}

    .fake-modal[data-slide="right"].show {
        top: 0;
        right: 0;
        opacity: 1;
        pointer-events: all;
        transition: opacity 0.15s ease-in-out, right 0.35s ease-in-out;
    }

body:has(.fake-modal.show) {
    overflow: hidden !important;
}

.image-gallery-slideshow {
    /*border-top: 1px solid #057194;
    border-bottom: 1px solid #057194;*/
    height: 100%;
    max-height: calc(100vh - 11.5rem);
    padding: 0.3rem;
    position: relative;
    touch-action: pan-x; /* or auto */
    pointer-events: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 1;
}

    .image-gallery-slideshow .slick-list,
    .image-gallery-slideshow .slick-list .slick-track {
        max-height: calc(100vh - 12rem);
    }

        .image-gallery-slideshow img {
            width: 100%;
            height: 100%; /* Full viewport height */
            object-fit: contain; /* Keeps the entire image visible without distortion */
            pointer-events: none;
        }

.modal-project-gallery .image-gallery-slideshow {
    height: 100%;
    /*max-height: calc(100vh - 11.5rem);*/
    /*padding: 0.3rem;*/
    position: absolute;
    top: 0;
    left: 0;
    padding: 0;
    min-height: 100vh !important;
    min-width: 100% !important;
}

    .modal-project-gallery .image-gallery-slideshow .slick-list,
    .modal-project-gallery .image-gallery-slideshow .slick-list .slick-track {
        min-height: 100vh !important;
        min-width: 100% !important;
    }

        .modal-project-gallery .image-gallery-slideshow .slick-list .slick-track {
            margin: auto;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .modal-project-gallery .image-gallery-slideshow img {
            /*min-height: 100vh !important;*/
            /*min-width: 100% !important;*/
            /*position: absolute;*/
            /*top: 0;*/
            /*left: 0;*/
            object-fit: contain; /* Keeps the entire image visible without distortion */
        }

.custom-arrow[data-action="next"] {
    color: #d1d1d1 !important;
    position: absolute;
    right: 0;
    font-size: 3rem;
    height: 100%;
    width: auto;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    padding-right: 1rem;
    z-index: 2;
    transform-origin: left;
    /*background: linear-gradient(270deg, #131317 10%, transparent);*/
}

    .custom-arrow[data-action="next"]:hover {
        /*background: linear-gradient(270deg, #131317 10%, transparent) !important;*/
    }

.custom-arrow[data-action="prev"] {
    color: #d1d1d1 !important;
    position: absolute;
    left: 0;
    font-size: 3rem;
    height: 100%;
    width: auto;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
    padding-left: 1rem;
    z-index: 2;
    transform-origin: left;
    /*background: linear-gradient(90deg, #131317 0%, #1313177a 50%, transparent 100%);*/
}

    .custom-arrow[data-action="prev"]:hover {
        /*background: linear-gradient(90deg, #131317 0%, #1313177a 50%, transparent 100%) !important;*/
    }

.custom-arrow::before {
    visibility: hidden;
}

#modal-about pre {
    color: #131317;
    font-weight: 300;
    word-break: break-word;
    text-align: justify;
    white-space: pre-wrap;
    word-wrap: break-word;
    margin: 0;
    font-size: .9em;
}

/*.bullet-list {
    width: 100%;
    display: grid;
    row-gap: 10px;
    column-gap: 5px;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr));
    grid-auto-rows: auto;
    justify-content: space-evenly;
    position: relative;
}*/

.bullet-list {
    width: 100%;
    display: flex;
    flex-flow: column;
    row-gap: 10px;
    position: relative;
}

    .bullet-list .bullet-point {
        display: flex;
        flex-flow: column;
        text-align: left;
        align-items: center;
        justify-content: center;
        word-break: break-word;
        width: auto;
        margin: auto;
    }

        .bullet-list .bullet-point .title {
            font-weight: bold;
            width: 100%;
            text-align: center;
        }

        .bullet-list .bullet-point .point {
            font-weight: normal;
            /*display: list-item;*/
            margin-left: 1rem;
            width: 100%;
            text-align: center;
        }

 .blue-hr {
     background-color: #057194;
     margin-top: 5px;
     margin-bottom: 5px;
 }

#about-intro-section {
    display: flex;
    flex-flow: wrap;
    height: 25rem;
    position: relative;
}

    #about-intro-section .pic {
        width: 100%;
        height: 100%;
        min-width: 15rem;
        max-width: 20rem;
    }

        #about-intro-section img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        
        #about-intro-section div {
            display: flex;
            height: 100%;
        }

    #about-intro-section .intro {
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
        height: 100%;
        width: calc(100% - 22rem);
        padding: 1rem;
    }

        #about-intro-section .intro #opening {
            display: flex;
            width: 100%;
            justify-content: space-between;
            margin: 0.3rem 0;
        }

            #about-intro-section .intro #opening .icon {
                display: flex;
                align-items: center;
                color: #057194;
                font-size: 0.5rem;
            }

.hover-item {
    position: relative;
    overflow: hidden;
}

    .clickable {
        cursor: pointer;
    }

        .hover-item.clickable::before {
            content: '\f06e';
            font-family: "Fontawesome";
            background-color: #131317;
            color: #d1d1d1;
            position: absolute;
            left: 101%;
            top: 0;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            mix-blend-mode: hard-light;
            transition: left 0.3s ease-in-out;
        }

        .hover-item.clickable:hover::before {
            left: 0;
            transition: left 0.3s ease-in-out;
        }


.popover-header {
    display: none;
}

.popover-body {
    display: flex !important;
    flex-flow: wrap !important;
}

    .popover-body .label-item,
    .popover-body .detail-item {
        margin-bottom: 5px;
        gap: 5px;
    }

.projects-filter-div {
    position: sticky;
    top: -100%;
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    background-color: #d1d1d1;
    z-index: 2;
    padding-left: 0;
    padding-right: 0;
    /*top: 0;*/
    transition: top 1s ease-in-out, padding 1s ease-in-out;
}

    .projects-filter-div.sticky {
        position: sticky;
        top: 3.2rem;
        background-color: #d1d1d1e0;
        z-index: 3;
        padding-left: 1rem;
        padding-right: 1rem;
        transition: top 1s ease-in-out, padding 1s ease-in-out;
    }

.filter-btn {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    margin-top: auto;
    margin-bottom: auto;
    color: #d1d1d1;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .filter-btn input {
        height: 17px;
        width: 17px;
        margin-right: 7px;
    }

.project-filter-dropdown {
    left: 60px !important;
    top: 0 !important;
    width: auto;
    min-width: 20rem;
    /*background: #131317ad;*/
    border: none;
    max-height: 35vh;
    overflow: auto;
    padding: 0;
}

    .project-filter-dropdown .filter-btn {
        margin-bottom: 7px;
        width: 90%;
        display: flex;
        justify-content: flex-start;
        text-align: left;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 7px;
    }

    .project-filter-dropdown li {
        display: block;
    }

        .project-filter-dropdown li.hide {
            display: none;
        }

.selected-filter {
    border-radius: 7px;
    padding: 0.3rem 0.6rem;
    background-color: #057194;
    color: #d1d1d1 !important;
    border: 1px solid #d1d1d1;
    margin-right: 5px;
    cursor: pointer;
}

    .selected-filter:last-child {
        margin-right: 0;
    }

.filter-search.sticky {
    padding: 0.7rem 1rem;
    position: sticky;
    top: 0;
    z-index: 2;
}

.filter-update.sticky {
    display: flex;
    padding: 0.7rem 1rem;
    position: sticky;
    bottom: 0;
    z-index: 2;
}

.loadMoreSpinner,
.finalizedLoadingBtn {
    width: 100%;
    display: flex;
    justify-content: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.selected-filter-depos {
    display: flex;
    flex-flow: column;
    width: auto;
}

    .selected-filter-depos .depos {
        display: flex;
        flex-flow: wrap;
        width: auto;
        justify-content: flex-end;
    }

    .selected-filter-depos .title {
        text-align: right;
    }

.actions-div {
    display: flex;
    flex-flow: wrap;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

    .actions-div .btns-div {
        gap: 10px;
    }

        .actions-div .btns-div .dropdown-toggle {
            text-decoration: none;
        }

        .actions-div .btns-div .dropdown-toggle::before {
            visibility: hidden !important;
        }

        .actions-div .btns-div .dropdown-menu {
            margin-right: 0;
            left: auto !important;
            right: 100%;
            top: -0.75rem !important;
            transform: translateX(-1.5rem) !important;
        }

    .actions-div .btns-div,
    .actions-div .go-back-div {
        display: flex;
        align-items: center;
    }

    .actions-div .search-div input {
        min-width: 24rem;
    }

.navbar-nav li {
    position: relative;
}

.input-div {
    position: relative;
}

    .input-div input {
        padding-left: 2rem;
    }

    .input-div::after {
        content: '\f002';
        font-family: "Fontawesome";
        position: absolute;
        top: 8px;
        left: .85rem;
        z-index: 2;
        color: #1313177d;
    }

textarea.small {
    height: 100%;
    min-height: 7vh;
}

textarea.medium {
    height: 100%;
    min-height: 20vh;
}

textarea.large {
    height: 100%;
    min-height: 40vh;
}

.isSelect2.small ~ .select2-container .select2-selection {
    min-height: 5vh !important;
    max-height: 7vh;
    overflow-y: auto;
}

.isSelect2.medium ~ .select2-container .select2-selection {
    min-height: 8vh !important;
    max-height: 10vh;
    overflow-y: auto;
}

.isSelect2.large ~ .select2-container .select2-selection {
    min-height: 16vh !important;
    max-height: 18vh;
    overflow-y: auto;
}

#dynamicExpandedModal,
#dynamicExpandedModal .modal-header,
#dynamicExpandedModal .modal-body,
#dynamicExpandedModal .modal-footer {
    border: none !important;
}

#projectForm #project-search {
    /*border-top: 1px solid #0571942e;*/
    /*border-bottom: 1px solid #0571942e;*/
    /*background-color: #fff;*/
    /*padding: 0.5rem;*/
}

#modal-media-upload .modal-dialog {
    min-width: calc(100vw - 68rem);
}

#modal-media-upload .modal-footer {
    justify-content: space-between;
    display: flex;
    flex-flow: wrap;
}

.media-upload-depos {
    display: flex;
    flex-flow: column;
    margin: 0 1rem;
    row-gap: 10px;
    max-height: calc(100vh - 15rem);
    overflow: auto;
}

.media-upload-item {
    display: flex;
    flex-flow: column;
    border: 1px solid #d1d1d1;
    box-shadow: -2px 2px 8px rgba(0,0,0,0.1);
    padding: 1.5rem;
}

    .media-upload-item .header {
        display: flex;
        flex-flow: wrap;
        justify-content: space-between;
    }

.form-checkbox {
    cursor: pointer;
    height: 20px;
    width: 20px;
    border-radius: 4px;
}

.path-item {
    display: flex;
    align-items: center;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
}

    .path-item .content {
        display: flex;
        align-items: center;
        width: 100%;
    }

    .path-item .close {
        display: flex;
        align-items: center;
        width: auto;
        padding-left: 0.3rem;
    }

.sel2-medium-div .select2-selection,
.sel2-medium-div .select2-selection .select2-selection__rendered,
.sel2-medium-div .select2-selection .select2-selection__placeholder,
.sel2-medium-div .select2-selection .select2-selection__clear,
.sel2-medium-div .select2-selection .select2-selection__arrow {
    height: 40px;
}

    .sel2-medium-div .select2-selection .select2-selection__rendered {
        display: flex;
        margin-top: 6px;
    }

#settingsForm-content {
    width: 70%;
    min-width: 70%;
    display: flex;
    margin: auto;
    gap: 4%;
}

#settingsForm-content #left,
#settingsForm-content #right {
    width: 50%;
    display: flex;
    flex-flow: column;
}

    #settingsForm-content #left {
        align-items: flex-end;
    }

    #settingsForm-content #right {
        align-items: flex-start;
    }

    #settingsForm-content .settings-item {
        width: 100%;
    }

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    border-right: none !important;
}

#about-me-main-section {
    color: #d1d1d1;
}


    #about-me-main-section .wrapper {
        display: flex;
        flex-flow: column;
        margin: auto;
        width: 100%;
        max-width: 54.2rem;
    }

        #about-me-main-section .wrapper .section.columns {
            columns: 2;
            column-gap: 2rem;
            column-width: 250px;
            text-align: justify;
        }

    #about-me-main-section #about-intro-section {
        display: flex;
        flex-flow: column;
        height: auto;
    }

        #about-me-main-section #about-intro-section .pic,
        #about-me-main-section #about-intro-section .intro {
            width: 100%;
            max-width: 100%;
        }

            #about-me-main-section #about-intro-section .intro {
                padding-left: 0;
                padding-right: 0;
            }

            #about-me-main-section #about-intro-section img {
                height: auto;
            }

        #about-me-main-section #about-intro-section .pic {
            max-height: 20rem;
            height: 20rem;
        }

.sticky-section-header {
    position: fixed;
    top: 50%;
    left: 0;
    transform: translate(5%, -50%) rotate(-90deg);
    transform-origin: left top;
    opacity: 0;
    transition: 0.25s transform ease-in-out, 0.3s opacity ease-in-out;
}

    .sticky-section-header.show {
        width: auto; /* Or set an explicit width */
        z-index: 1000;
        opacity: 1;
        transition: 0.25s transform ease-in-out, 0.3s opacity ease-in-out;
    }

    .sticky-section-header .header {
        letter-spacing: 21px;
        font-weight: 200;
        white-space: nowrap;
        transition: 0.25s transform ease-in-out, 0.3s opacity ease-in-out;
    }

.sortable-ghost {
    opacity: 0.3;
    transform: scale(0.95);
    border: 2px dashed #ccc;
}

.sortable-chosen {
    transform: rotate(1deg) scale(1.05);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.sortable-drag {
    cursor: grabbing;
}

.toast-border-success {
    /*  border: 3px solid forestgreen;
    box-shadow: -3px 3px 8px forestgreen;*/
    background-color: forestgreen !important;
    color: #fff !important;
    border: 5px solid forestgreen;
    font-weight: bold;
    font-size: 0.98rem;
}

.toast-border-error {
    /*border: 3px solid firebrick;
    box-shadow: -3px 3px 8px firebrick;*/
    background-color: firebrick !important;
    color: #fff  !important;
    border: 5px solid firebrick;
    font-weight: bold;
    font-size: 0.98rem;
}

.toast-border-warning {
    /*border: 3px solid yellow;
    box-shadow: -3px 3px 8px yellow;*/
    background-color: #fcc419 !important;
    border: 5px solid #fcc419;
    font-weight: bold;
    font-size: 0.98rem;
}


/* width */
::-webkit-scrollbar {
    width: 9px;
}

/* Track */
::-webkit-scrollbar-track {
    /*background: #d1d1d120;*/
    /*background: #fff;*/
    border: 1px solid #057194;
    border-radius: 8px;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #057194;
    border-radius: 8px;
}

    /* Handle on hover */
    ::-webkit-scrollbar-thumb:hover {
        background: #0687b1;
    }

.navbar-toggler.blackish.border {
    border: 1px solid #131317 !important;
}

.hamburger-icon.blackish span {
    background-color: #131317;
}

.no-drag,
.undraggable {
    transform: none !important;
    touch-action: auto !important;
    user-select: auto !important;
    -webkit-user-drag: none;
}
    
.add-toggle-btns-container {
    display: flex;
    flex-flow: wrap;
}

.disabled {
    pointer-events: none !important;
    cursor: not-allowed !important;
    opacity: 0.5 !important;
}

#top-menu-ul {
    width: 100%;
    justify-content: flex-end;
    gap: 2.5rem;
    padding: 0;
    font-weight: normal;
    transition: padding 0.3s ease-in-out, font-weight 0.3s ease-in-out;
}

    #top-menu-ul li.selected {
        background-color: #057194;
        padding: 0 .5rem;
        font-weight: bold;
        transition: padding 0.3s ease-in-out, font-weight 0.3s ease-in-out;
    }

#logo-div-menu {
    width: 100%;
}

.trumbowyg-editor-box {
    background-color: #fff;
}

.close-btn-parent {
    display: flex;
    width: auto;
    height: auto;
    margin: auto;
    justify-content: center;
    background: radial-gradient(#131317, #131317, transparent);
    z-index: 3;
    padding: 0.5rem;
    border-radius: 200px;
}

.modal-project-caret {
    position: absolute;
    top: 0;
    height: 100%;
    width: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .modal-project-caret[data-pos="left"] {
        left: 0;
    }

    .modal-project-caret[data-pos="right"] {
        right: 0;
    }

.modal-project-caret .content {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}

    .modal-project-caret .content i,
    .modal-project-caret .content svg {
        font-size: 2.5rem;
    }









/*ANIMATIONS*/

@keyframes fillUp {
    from {
        top: 100%;
    }

    to {
        top: 0%;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-15px);
    }
}

@keyframes blink {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.2;
    }
}