/*--------------------------------------------------------------
zfilter General
--------------------------------------------------------------*/

.active-table {
    margin-top: 10px !important;
    float: left;
    border: none !important;

}

.active-table th {
    color: #000 !important;
}
html {
    min-height: 100vh;
    overflow-y: scroll;
    background-image: linear-gradient(to top, #d5d4d0 0%, #d5d4d0 1%, #eeeeec 31%, #efeeec 75%, #e9e9e7 100%);
}

.modal-fullscreen .modal-body {
    overflow-y: scroll !important;
}

body {
    font-family: Montserrat !important;
    min-height: 100vh;
    background: none !important;
    padding: 0 !important;
}


.edit {
    width: 100%;
    padding: 5px;
    cursor: pointer;
}

.editMode {
    /*border: 1px solid black;*/

}

.txtedit {
    display: none;
    width: 99%;
    height: 22px;
}
.schedule-form {
    margin-top: 80px;
}
img.login-logo {
    max-width: 260px;
    margin: auto;
    display: table;
    opacity: .3;
}

.lottie-hello {
    float: left;
    width: 175px;
}

@media (prefers-reduced-motion: no-preference) {
    .fa-spin, .fa-pulse {
        animation-duration: 2s !important;
        animation-iteration-count: infinite !important;
    }
}
.fa-spin {
    animation: fa-spin 2s infinite linear !important;
}

.fa-pulse {
    animation: fa-pulse 1s infinite steps(8) !important;
}

.modal.fade .modal-dialog {
    transition: transform 0.3s ease-out !important;
}

.fade {
    transition: opacity .15s linear !important;
}

.tooltip {
    transition: opacity 0.2s ease-in-out !important;
}

.carousel-item {
    transition: transform 0.6s ease-in-out !important;
}

.bootstrap-growl {
    position: fixed !important;
    width: auto;
    z-index: 1150;
}

.loading-placeholder {
    min-height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}
/*--------------------------------------------------------------
zfilter Header
--------------------------------------------------------------*/
header {
    position: fixed;
    width: 100%;
    z-index: 100;
    top: 0;
}
.topmenu-logic {
    background-image: linear-gradient( 120deg , #fdfbfb 0%, #ebedee 100%);
    margin-bottom: 40px;
    border-bottom: 5px solid #d5d5d5;
    height: 59px;
}

.topmenu-wrap {
    margin: 0 auto;
}
.topmenu-logo {
    width: 50px;
    float: left;
    margin-right: 20px;
    top: 3px;
    position: relative;
    opacity: .5;
}

.top-logo img {
    width: 100%;
    height: auto;
}
.user-message {
    float: right;
    line-height: 15px;
    background: #e91e63;
    padding: 10px 15px;
    border-radius: 0 0 5px 5px;
    position: relative;
    top: 0;
    color: #fff !important;
    font-weight: bold;
    text-decoration: none !important;
}

.user-message span {
    font-weight: normal;
    font-size: 10px;
    position: relative;
    bottom: 4px;
    left: -2px;
}


/*--------------------------------------------------------------
zfilter Dashboard
--------------------------------------------------------------*/

:root {
    --primary-color: #000000;
    --secondary-color: #888888;
    --background-color: #eee;
    --modal-background: rgba(0, 0, 0, 0.8);
    --font-family: 'Montserrat', sans-serif;
}
span .btn-lg {
    width: 100%;
}
.download-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.90);
    z-index: 2000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.download-message {
    text-align: center;
    font-size: 1.2rem;
    color: #333;
}

.dl-confirm-icon {
    font-size: 100px;
}
.download-message .spinner-border {
    width: 7rem;
    height: 7rem;
}
.delivery-links-list a {
    color: black;
    font-weight: bold;
}

@media screen and (max-width: 650px) {
    .download-message {
        font-size: .8rem;
    }
    .download-overlay {
        padding: 0 20px;
    }

}

/* ==================== Modal Styles ==================== */
#imageModal {
    display: none;
    position: fixed;
    z-index: 1100; /* Higher than Bootstrap modals */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: var(--modal-background);
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

/* ==================== Close Button Styles ==================== */
.close {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 40px;
    color: white;
    cursor: pointer;
    background: none;
    border: none;
    z-index: 1200; /* Ensure close button is clickable */
}
.delivery-modal-close {
    color: #F44336;
    border: none;
    background: none;
    font-size: 35px;
    padding: 0;
    margin: 0;
    line-height: 35px;
    position: relative;
    right: 15px;
}

/* ==================== Navigation Arrows Styles ==================== */
.prev, .next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 40px;
    color: white;
    cursor: pointer;
    background: none;
    border: none;
    padding: 10px;
    z-index: 1200; /* Ensure navigation buttons stay above */
}

.prev { left: 10px; }
.next { right: 10px; }

/* ==================== Image Styles ==================== */
.image-slider-logic {
    max-width: 90%;
    max-height: 90vh;
    object-fit: contain;
    border-radius: 15px;
    background: none;
    border: none;
}
.modal-content {
    border-radius: 15px !important;
}
.modal-fullscreen .modal-content {
    border-radius: 0 !important;
}

/* ==================== Media Styles ==================== */
.media {
    cursor: pointer;
    box-shadow: 10px 10px 15px -5px #e5e5e5;
    transition: transform 1.5s;
}

.media img {

}

.media:hover {
    transform: scale(1.03);
    transition: transform 0.2s;
}

.thumbnail-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 800 / 533;
    overflow: hidden;
}

.thumbnail-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    visibility: hidden; /* temporarily hidden to allow JS to control fade-in */
}

.spinner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.6);
    z-index: 5;
}

/* ==================== Breadcrumb Styles ==================== */
.breadcrumbs-item a {
    text-decoration: none;
    padding: 10px 20px;
}

.breadcrumbs-item {
    font-size: 20px;
    text-decoration: none;
}

li.breadcrumbs-item a {
    text-decoration: none;
    color: #fff;
}

li.breadcrumbs-item .badge {
    padding: 10px 20px;
    font-weight: normal;
}

.folder-sep {
    margin-right: 8px;
    color: var(--secondary-color);
    font-size: 15px;
    margin-left: 2px;
}

.delivery-breadcrumb {
    margin: 0 !important;
}

/* ==================== Delivery Folder Styles ==================== */
.delivery-folder-icon {
    font-size: 120px;
}

.delivery-folder-card a p {
    color: var(--primary-color);
}

.delivery-folder-card {
    padding: 35px 0;
    background: var(--background-color);
    margin: 3px;
    border-radius: 10px;
}

.folder-file-text {
    font-weight: bold;
    color: var(--primary-color);
    margin-top: 5px;
}

/* ==================== Body Styles ==================== */

.breadcrumb-logo {
    float: left;
    margin-right: 20px;
    position: relative;
    top: 10px;
    width: 10px;
    text-align: center;
    color: var(--secondary-color);
}

/* ==================== Dashboard Styles ==================== */
.lottie-dashboard {
    width: 300px;
    display: block;
    margin: auto;
}
.container.dashboard-top {
    margin-top: 120px;
}
.container.dashboard-available {
    margin-bottom: 60px;
}
.dashboard-heading-top {
    font-size: 50px;
    font-weight: 700;
    margin-bottom: -5px;
    position: relative;
    margin-top: 30px;
}
.delivery-time {
    position: relative;
    top: 5px;
}
.dashboard-address-heading {
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 3px;
    display: inline-block;
    color: #3F51B5;
}
.dashboard-address {
    font-size: 25px;
}
.job-actions-card {
    background: #fbfbfb !important;
    box-shadow: 0 0 25px -20px;
    border-radius: 5px;
}
.job-invoice-payment {
    font-size: 12px;
    text-align: center;
    margin: 5px 0 -12px;
    font-style: italic;
}
@media screen and (max-width: 992px) {
    .container.dashboard-top {
        margin-top: 50px;
    }

}


/*--------------------------------------------------------------
zfilter Table Layout
--------------------------------------------------------------*/

.dropzone {
    min-height: 150px;
    border: 1px solid #ced4da;
    background: white;
    padding: 20px 20px;
    border-radius: .25rem;
}

#response {
    width: 100%;
    position: relative;
}

div#results {
    clear: left;
    margin-top: 52px;
    display: table;
    width: 100%;
}

.form-header {
    text-align: center;
    padding: 35px;
}

.dropzone i {
    margin: 25px auto 5px;
    display: table;
    font-size: 90px;
    color: #2e47ba;
}

.autocomplete-edit {
    background: #ebffd4 !important;
}

.form-floating label {
    color: #373737;
    margin-top: 1px;
}

.form-signin {
    width: 90%;
    max-width: 600px;
    margin: auto;
    padding: 20px 0;
}


/*--------------------------------------------------------------
zfilter Scheduling Page
--------------------------------------------------------------*/


.schedule-heading-top {
    font-size: 60px;
    font-weight: 300;
    margin-bottom: -5px;
    position: relative;
}

.schedule-heading-main {
    font-size: 22px;
    font-weight: bold;
    color: #000;
}

.schedule-heading-sub {
    position: relative;
    left: 4px;
    font-size: 20px;
    top: -10px;
}

.sqft-switch {
    font-size: 16px;
    top: 19px;
    position: relative;
}

.sqft-toggle {
    float: left;
    margin-left: 17px;
}
.bootstrap-growl {
    width: auto !important;
}
.details-highlight {
    background: #d3f2ff !important;
}
.form-floating>.form-control, .form-floating>.form-select {
    height: calc(3.5rem + 3px) !important;
    font-weight: bold;
}

.footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: #f0f0f0;
    padding: 20px;
    text-align: right;
    z-index: 1;
    box-shadow: 0 0 18px -10px #aaa;
}
label.form-label {
    color: #2e47ba;
}
.required-input {
    color: #F44336;
}
.schedule-form label {
    opacity: 1 !important;
}
.form-help-icon {
    margin-right: 7px;
    color: #2e47ba;
    margin-left: 5px;
}

.form-help-text {
    float: left;
}

.form-help {
    display: flex;
}
.policy-link {
    text-decoration: underline;
    color: #2e47ba;
    cursor: pointer;
}
.policy-agree {
    font-size: 20px !important;
}

@media screen and (max-width: 767px) {
    .schedule-heading-top {
        font-size: 40px;
    }
    .cancel-policy-btns .btn {
        width: 100%;
        margin-bottom: 10px;
    }
    .lottie-hello {
        float: none;
        width: 75%;
        display: block;
        margin: 0 auto -20px;
    }
    .extra-nav-btns {
        display: none !important;
    }

}

@media screen and (max-width: 650px) {
    .bootstrap-growl {
        width: 90% !important;
    }

}

/*--------------------------------------------------------------
zfilter Section - Quote New
--------------------------------------------------------------*/

.quote-modal-button {
    background: #2e47ba !important;
    border: none !important;
    position: relative;
    color: #fff !important;
}

.packages-package-item {
    float: left;
    text-align: center;
    width: 100%;
    padding: 0 15px;
    display: table;
    margin-bottom: 20px;
}
.packages-package-item-wrap {
    background: #ffffff;
    height: 100%;
    min-height: 200px;
    color: #1556ff;
    padding: 0 0 20px;
    font-weight: bold;
    border-radius: 5px;
    border: 2px solid #2e47ba;
    display: table;
    width: 100%;
}

.packages-logic {
    display: table;
    width: 100%;
}

.packages-wrap {
    display: table;
    width: calc(100% + 30px);
    margin-left: -15px;
}
.packages-package-item-title {
    background: #2e47ba;
    font-family: 'IBM Plex Sans', sans-serif;
    font-size: 28px;
    font-weight: 500;
    padding: 15px 0;
    color: #fff;
}
.packages-package-item-price {
    font-size: 70px;
    color: rgb(0, 102, 255);
    font-family: "IBM Plex Sans", sans-serif;
    font-weight: 300;
    width: 100%;
    display: table;
    text-align: left;
    line-height: 80px;
    padding-left: 40px;
    margin: 0px 0px 8px;
}

.packages-package-item-list {
    text-align: left;
    font-size: 20px;
    margin: 3px 0 0;
    font-weight: 600;
    line-height: 32px;
    display: table;
    width: 100%;
    float: left;
}
.packages-package-item-list span {
    font-size: 30px;
    float: left;
    margin-right: 12px;
    color: #e0e0e0;
}
.independent-items-logic {
    margin-top: 35px;
}

.column-items-title {
    text-align: center;
    font-size: 28px;
    font-weight: 500;
    margin: 0;
    background: #ff9b4e;
    padding: 15px 0;
}

.independent-item-price {
    font-size: 60px;
    font-weight: 300;
    color: #ff9b4e;
}
.independent-item {
    padding: 20px;
}

.independent-item:nth-child(2n) {
    background: #ffffff;
}
.fixed-items-logic {
    margin-top: 35px;
}
.fixed-item-title {
    font-size: 22px;
    font-weight: 600;
    color: #353535;
    margin: 0;
}
.fixed-item-price {
    font-size: 35px;
    margin-top: 5px;
    color: #353535;
}

.fixed-item {
    padding: 20px;
}
.fixed-items-wrap .column-items-title {
    background: #80ce56;
}
.fixed-item-price {
    font-size: 35px;
    margin-top: 5px;
    color: #353535;
    font-weight: 300;
}

.fixed-item:nth-child(2n) {
    background: #ffffff;
}
.fixed-item-description {
    font-size: 14px;
    color: black;
    margin: 0 0 15px;
}
.fixed-item-disclaimer {
    font-size: 10px;
    font-weight: bold;
}
span.readmorewrapper {
    font-weight: bold;
    color: #2e47ba;
    border: 1px solid;
    padding: 0px 3px;
    border-radius: 3px;
    font-size: 12px;
    cursor: pointer;
    display: inline-block;
}


.quote-item {
    background: #fff;
    padding: 10px 20px 20px;
    margin-bottom: 15px;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 3px 15px -10px #0f1b4e;
}

.more-cont {
    font-size: 14px;
}
.independent-item-title {
    font-size: 22px;
    font-weight: 700;
    color: #ff9b4e;
    padding: 0;
    margin: 30px 0 7px 0;
    line-height: 25px;
}
.quote-item-price {
    float: right;
    font-size: 28px;
    position: absolute;
    right: 0;
    background: #ff9b4e;
    padding: 0px 10px;
    top: 0;
    border-radius: 0 0 0 10px;
    color: #fff;
    font-weight: bold;
}
.quote-item-save {
    float: right;
    font-size: 15px;
    position: absolute;
    right: 95px;
    top: 6px;
    border-radius: 0 0 0 10px;
    color: #009688;
    font-weight: 400;
    font-style: italic;
}
.quote-item-save span {
    font-size: 9px;
    position: relative;
    top: -3px;
    background: #009688;
    color: #fff;
    padding: 0px 5px 2px;
    border-radius: 3px;
    font-style: normal;
    margin-right: 0px;
}

.quote-item-content {
    clear: both;
}
.item-package .quote-item-price {
    background: #2e47ba;
}

.item-package .independent-item-title {
    color: #2e47ba;
}
.item-package .packages-package-item-list li {
    color: #2e47ba;
}

.item-fixed .quote-item-price {
    background: #80ce56;
}

.item-fixed .independent-item-title {
    color: #80ce56;
}
.item-fixed .packages-package-item-list li {
    color: #80ce56;
}

.item-link-single {
    color: #ff9b4e;
}
li.item-link-single span {
    font-size: 12px;
}

.item-link-fixed {
    color: #80ce56;
}

ul.quote-item-list {
    margin: 0px 0 5px;
    color: #ff9b4e;
    font-size: 20px;
    list-style: none;
    padding-left: 10px;
    font-weight: 400;
}
.enter-sq-label {
    text-align: center;
    display: table;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    background: #2e47ba;
    margin: 0 auto 0;
    padding: 5px 35px 8px;
    border-top: 6px solid #9dafff;
    border-radius: 5px 5px 0 0;
}
.enter-sq-input {
    font-size: 48px;
    text-align: center;
    width: 50%;
    margin: 0 auto 0px;
    display: table;
    height: 85px;
    color: #2e47ba;
    border-radius: 5px;
    max-width: 700px;
    font-weight: 300;
    border: 3px solid #2e47ba;
    -webkit-box-shadow: 0 0px 0 12px white inset !important;
}
.enter-sq-input::selection {
    background: #0066ff;
    color: #fff;
}
.enter-sq-input:focus {
    color: #2e47ba;
    background-color: #f3f5ff;
}
.price-column {
    width: 100%;
    float: left;
    display: table;
    margin: 0 0 20px 0;
    border: 2px solid #80ce56;
    border-radius: 5px;
    padding: 0;
    overflow: hidden;
    background: #f9f9f9;
}
.independent-items-logic.price-column {
    border: 2px solid #ff9b4e;
}
.column-item-logic {
    display: table;
    width: 100%;
}
.column-items-title {
    text-align: center;
    font-size: 28px;
    font-weight: 500;
    margin: 0;
    background: #ff9b4e;
    padding: 15px 0;
}
.realestate-quote-column {
    float: left;
    width: 50%;
    padding: 10px;
}

.realestate-quote-wrap {
    width: 100%;
    margin: 30px auto 0;
}
.quote-icon i {
    color: #fff;
    font-size: 40px;
}
.quote-icon-wrap {
    text-align: center;
    margin-top: 25px;
    margin-bottom: 5px;
    color: #0066ff;
}
.page-template-page-realestate .content-logic {
    padding: 0;
}
.realestate-quote-header {
    text-align: center;
    margin: 0 0 10px;
}

.realestate-quote-header-name {
    font-size: 35px;
}
.realestate-quote-header-tag {
    font-size: 20px;
    margin-top: -8px;
    margin-bottom: 8px;
}
.realestate-quote-header-instaquote {
    font-family: arial;
    font-weight: bold;
    font-size: 30px;
    margin-bottom: 16px;
    color: #0066ff;
}
.packages-package-item-list li i {
    margin-right: 5px;
}

.packages-package-item-list li {
    list-style: none;
    margin-bottom: 5px;
}
.voicesbyjared .packages-package-item-wrap {
    border-color: #191818;
}
.package-item-title {
    font-size: 25px;
    margin-top: 10px;
}
.package-item {
    float: left;
    padding-left: 20px;
    text-align: left;
}

.package-item-description {
    font-size: 17px;
    font-weight: 300;
}

.package-item-price {
    font-size: 35px;
    font-weight: 300;
    margin-top: 5px;
}
.packages-package-item.voicesbyjared {
    margin-bottom: 10px;
}
.realestate-photography {
    margin-top: -43px;
}
.realestate-videography {
    margin-top: -13px;
}


@media screen and (max-width: 1080px) {


    .packages-package-item {
        width: 100%;
        padding: 0;
    }
    .realestate-quote-wrap {
        width: 100%;
    }
    .realestate-quote-column.quote-column-3 {
        width: 50%;
    }
    .packages-wrap {
        width: 100%;
        margin: 0;
    }
    .fixed-items-logic {
        margin: 25px 0;
    }
    .price-column {
        margin: 0 0 20px 0;
    }
}
@media screen and (max-width: 850px) {
    ul.quote-item-list {
        font-size: 16px;
    }
}
@media screen and (max-width: 650px) {
    .realestate-quote {
        padding: 0 0 0 0;
    }
    .realestate-quote-header-form {
        margin-bottom: 10px;
        display: table;
    }
    .enter-sq-input {
        font-size: 40px;
        width: 70%;
        margin: 10px auto;
        height: 65px;
    }
    .realestate-quote-wrap {
        margin-top: 0;
    }
    .realestate-quote-column {
        width: 100%;
        padding: 12.5px 10px;
    }
    .realestate-quote-column.quote-column-3 {
        width: 100%;
    }
    .price-column {
        margin: 0 0 35px 0;
    }
    .enter-sq-label {
        margin-bottom: -10px;
    }
    .section-header {
        font-size: 70px;
    }

}
