:root {
    --accent-color: #6d281b;
    --primary-color: #1b376d;
    --background-color: #dfe7f7;
    --secondary-color: #2a56aa;
    --text-color: white;
    --border: 1px solid black;
    --box-shadow: 5px 2px 5px black;
}

* {
    margin: 0px;
    padding: 0px;
}


body {
    background-color: var(--background-color);
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin: 0;
}


.contact {
    color: var(--background-color);
}

.header {
    background-color: var(--primary-color);
    grid-area: header;
    display: grid;
    width: 100%;
    height: 100%;
    padding: 10px;
    grid-template-areas:
        'logo ham'
    ;
}

.top {
    background-color: var(--accent-color);
    display: grid;
    width: 100%;
    max-height: 100%;
    grid-template-areas:
        'header'
        'nav'
    ;

}

img{
    width: 100%;
    height: 100%;
}

.logo {
    width: 10%;
    height: auto;
    aspect-ratio: 1/1;
    object-fit: cover;
    grid-area: logo;
    border: var(--border);
    box-shadow: var(--box-shadow);
    border-radius: 12px;
    grid-area: logo;
}

.hamburger {
    grid-area: ham;
    display: flex;
    height: 100%;
    justify-content: end;

}
.hamHeader{
    margin-top: 10px;
}

#hamburger {
    width: 100px;
}

#hamMenu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

#logoutBtn{
    margin-top: auto;
    align-self: start;
    padding: 10px 20px;
    background-color: var(--accent-color);
    color: white;
    border: none;
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.3s ease;
}

i {
    font-size: xx-large;
    color: var(--background-color);
}

.nav {
    grid-area: nav;
    width: 100%;
    height: 100%;
    margin-top: 3px;
    padding-bottom: 5px;
    background-color: var(--accent-color);
}

.pages {
    width: 60%;
    margin: auto;
    display: grid;
    background-color: var(--accent-color);
    grid-area: pages;
    height: 100%;
    grid-template-areas:
        'p1 p2 p3 p4 p5 p6 p7'
    ;

}

a {
    color: black;
    text-decoration: none;
}

a:hover {
    color: #D9D2E7;
}

#p1:hover,
#p2:hover,
#p3:hover,
#p4:hover,
#p5:hover,
#p6:hover,
#p7:hover {
    background-color: var(--primary-color);
}

#p1,
#p2,
#p3,
#p4,
#p5,
#p6,
#p7 {
    border: var(--border);
    box-shadow: var(--box-shadow);
    border-radius: 5px;
    width: 80%;
    text-align: center;
    background-color: var(--background-color);
    margin: auto;
}

#p1 {
    grid-area: p1;
}

#p2 {
    grid-area: p2;
}

#p3 {
    grid-area: p3;
}

#p4 {
    grid-area: p4;
}

#p5 {
    grid-area: p5;
}

#p6 {
    grid-area: p6;
}

#p7 {
    grid-area: p7;
}

.dropContainer{
    display: none;
}

.banner {
    display: grid;
    margin: auto;
    margin-top: 30px;
    margin-bottom: 20px;
    width: 100%;
    padding: 100px;
    background-image: url(assets/logoBanner.jpeg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    justify-content: center;
    grid-gap: 50px;
    grid-template-areas:
        'box4 box1'
        'box4 box2'
        'box4 box3'
    ;
}

.box1,
.box2,
.box3 {
    border: var(--border);
    box-shadow: var(--box-shadow);
    background-color: var(--background-color);
    opacity: 80%;
    border-radius: 12px;
    min-width: 100%;
    max-width: 696px;
    margin: auto;
}

.box1 {
    grid-area: box1;
}

.box2 {
    grid-area: box2;
}

.box3 {
    grid-area: box3;
}

.box4 {
    grid-area: box4;
    border: var(--border);
    box-shadow: var(--box-shadow);
    background-color: var(--background-color);
    border-radius: 12px;
    align-self: center;
    text-align: center;
    opacity: 80%;
    min-width: 100%;
    max-width: 696px;
    padding-bottom: 10px;
}

.homeBanner {
    align-items: stretch;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    box-sizing: border-box;
    display: grid;
    gap: 24px;
    grid-template-areas:
        'box4 box1'
        'box4 box2'
        'box4 box3';
    grid-template-columns: minmax(420px, 760px) minmax(320px, 560px);
    justify-content: center;
    margin: 32px 0 0;
    min-height: 700px;
    padding: 56px;
    width: 100%;
}

.homeBanner .box1,
.homeBanner .box2,
.homeBanner .box3,
.homeBanner .box4 {
    margin: 0;
    max-width: none;
    min-width: 0;
    opacity: 1;
    width: 100%;
}

.homeBanner .card {
    background-color: rgba(223, 231, 247, 0.94);
    border-radius: 8px;
    overflow: hidden;
}

.homeBanner .card-body {
    overflow-y: auto;
    padding: 22px;
}

.homeStandardCard {
    height: 100%;
}

.homeStandardCard .card-body {
    max-height: 100%;
}

.homeStandardCard .card-title {
    color: var(--primary-color);
    font-size: 1.45rem;
    font-weight: 800;
}

.homeStandardCard .card-text {
    line-height: 1.58;
    margin-bottom: 0;
}

.homeReviewCard {
    min-height: 0;
}

.homeReviewCard .card-title {
    color: var(--primary-color);
    font-weight: 800;
}

.homeReviewCard .card-text {
    line-height: 1.45;
    max-height: 98px;
    overflow-y: auto;
}

.recentBlogContainer{
    background-color: var(--primary-color);
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.18);
    display: grid;
    gap: 24px;
    grid-template-areas:
    'c1 c2 c3';
    grid-template-columns: repeat(3, minmax(0, 1fr));
    height: auto;
    margin: 38px auto 50px;
    padding: 24px;
    width: min(1400px, calc(100% - 48px));
}

.blogBody{
    min-height: 0;
}
.c1{
    grid-area: c1;
}
.c2{
    grid-area: c2;
}
.c3{
    grid-area: c3;
}
.card-img-top {
    height: 180px;
    object-fit: cover;
}

.recentBlogContainer .card {
    border: 0;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    height: 460px;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.recentBlogContainer .blogBody {
    display: flex;
    flex: 1;
    flex-direction: column;
    max-height: none;
    min-height: 0;
    overflow: hidden;
}

.homeImg{
    width: 100%;
    height: 220px;
    max-height: none;
    object-fit: cover;

}

.homeBlogTitle{
    display: -webkit-box;
    flex: 0 0 auto;
    line-height: 1.25;
    margin-bottom: 12px;
    min-height: 3.15rem;
    overflow: hidden;
    text-align: center;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.homeBlogContent{
    flex: 1 1 auto;
    line-height: 1.45;
    margin: 0 auto;
    min-height: 0;
    overflow-wrap: anywhere;
    overflow-y: auto;
    padding-right: 6px;
    width: 100%;
}


.blog{
    display: grid;
    flex: 1 1 0;
    gap: 30px;
    height: auto;
    margin: 36px auto 0;
    min-height: 260px;
    overflow-y: auto;
    padding: 0 10px 30px;
    width: min(1500px, calc(100% - 48px));
}

.blogPost{
    margin: 0;
    width: 100%;
}

.blogContainer{
    align-items: start;
    background-color: var(--secondary-color);
    border: 1px solid rgba(223, 231, 247, 0.2);
    border-radius: 8px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, 0.14);
    display: grid;
    gap: 22px;
    grid-template-areas:
    'beforeImg afterImg blogContent';
    grid-template-columns: minmax(240px, 1fr) minmax(240px, 1fr) minmax(320px, 1.1fr);
    height: 390px;
    margin: auto;
    overflow: hidden;
    padding: 24px;
    width: 100%;
}

.blogPost:nth-child(odd) .blogContainer{
    grid-template-areas:
    'blogContent beforeImg afterImg';
    grid-template-columns: minmax(320px, 1.1fr) minmax(240px, 1fr) minmax(240px, 1fr);
}

.blogContainerNoImages{
    display: flex;
    height: 300px;
    max-width: 960px;
    text-align: center;
}

.blogContainerOneImage{
    grid-template-areas:
    'singleImg blogContent';
    grid-template-columns: minmax(320px, 0.95fr) minmax(380px, 1.05fr);
    height: 430px;
    max-width: 1120px;
}

.blogPost:nth-child(odd) .blogContainerOneImage{
    grid-template-areas:
    'blogContent singleImg';
    grid-template-columns: minmax(380px, 1.05fr) minmax(320px, 0.95fr);
}

.blogPhoto{
    align-self: start;
    aspect-ratio: 4 / 3;
    background: #0f172a;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
    margin: 0;
    min-height: 260px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.blogImg{
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

.blogPhoto figcaption{
    background: rgba(15, 23, 42, 0.78);
    border-radius: 999px;
    bottom: 12px;
    color: #ffffff;
    font-size: 0.86rem;
    font-weight: 700;
    left: 12px;
    letter-spacing: 0;
    line-height: 1;
    padding: 8px 12px;
    position: absolute;
}

.beforeImg{
    grid-area: beforeImg;
}

.afterImg{
    grid-area: afterImg;
}

.singleImg{
    grid-area: singleImg;
}

.blogContent{
    color: var(--background-color);
    display: flex;
    flex-direction: column;
    gap: 8px;
    grid-area: blogContent;
    height: 100%;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
    width: 100%;
}

.blogContent h1{
    color: #ffffff;
    font-size: clamp(1.55rem, 2vw, 2.25rem);
    line-height: 1.15;
    margin-bottom: 4px;
}

.blogContent h5{
    color: #dbe7ff;
    font-size: 0.96rem;
    line-height: 1.35;
    margin: 0;
}

.blog .blogBody{
    color: #f3f7ff;
    flex: 1;
    line-height: 1.62;
    margin-top: 10px;
    min-height: 0;
    overflow-y: auto;
    padding-right: 8px;
}

.spacer {
    width: 100%;
    height: 30px;
    flex-shrink: 0;
    margin: auto;
    margin-top: 10px;
    margin-bottom: 0px;
    color: var(--accent-color);
    background-color: var(--accent-color);
}


.loginPage{
    align-items: center;
    display: grid;
    flex: 1;
    padding: 54px 24px 64px;
}

.loginCard{
    background-color: #f8fbff;
    border: 1px solid rgba(15, 23, 42, 0.18);
    border-radius: 8px;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.2);
    display: grid;
    gap: 22px;
    margin: 0 auto;
    padding: 28px;
    width: min(540px, 100%);
}

.loginCardHeader{
    align-items: center;
    display: grid;
    gap: 16px;
    grid-template-columns: 86px minmax(0, 1fr);
}

.loginCardLogo{
    aspect-ratio: 1 / 1;
    border: 1px solid rgba(15, 23, 42, 0.2);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.18);
    height: auto;
    object-fit: cover;
    width: 86px;
}

.loginCardHeader p{
    color: var(--accent-color);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 4px;
    text-transform: uppercase;
}

.loginCardHeader h1{
    color: var(--primary-color);
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.05;
    margin: 0;
}

.loginForm{
    display: grid;
    gap: 16px;
    margin: 0;
    width: 100%;
}

.loginBottom{
    border-top: 1px solid rgba(27, 55, 109, 0.18);
    padding-top: 22px;
}

.loginFieldGroup{
    display: grid;
    gap: 7px;
}

.loginFieldGroup label{
    color: var(--primary-color);
    font-weight: 800;
    margin: 0;
}

.loginCard .form-control{
    background-color: #ffffff;
    border: 1px solid rgba(27, 55, 109, 0.28);
    border-radius: 8px;
    box-shadow: none;
    color: #111827;
    font-size: 1rem;
    min-height: 48px;
    padding: 12px 14px;
    width: 100%;
}

.loginCard .form-control:focus{
    border-color: var(--secondary-color);
    box-shadow: 0 0 0 0.2rem rgba(42, 86, 170, 0.16);
}

.loginButtonRow{
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.loginCard .btn{
    align-items: center;
    border-radius: 8px;
    display: flex;
    font-weight: 800;
    justify-content: center;
    min-height: 48px;
    padding: 12px 16px;
    width: 100%;
}

#createAButton{
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

#createAButton:hover,
#createAButton:focus{
    background-color: var(--secondary-color);
    border-color: var(--secondary-color);
}

/* Inbox Sheet(s) Styles */
#quoteContainer {
    min-width: 400px;
    min-height: 300px;
    padding: 20px;
    font-size: 1.2rem;
    background-color: #f8f9fa;
    border: 1px solid #ccc;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }  

/* Inbox Buttons Container */
.action-buttons-container {
    display: grid;
    width: 100%;
    background-color: var(--accent-color);
    min-height: 45px;
    max-height: 100%;
    grid-template-areas:
        'action-buttons'
    ;
}

/* Inbox Buttons: Grid layout by action buttons */
.action-buttons {
    display: grid;
    grid-template-columns: repeat(5, 1fr);  
    gap: 55px; 
    width: 80%;
    max-width: 700px;
    margin: auto;  
}

/* Inbox button Styling */
.in-btn {
    background-color: var(--background-color);
    color: black;
    border: var(--border);
    box-shadow: var(--box-shadow);
    border-radius: 5px;
    padding: 3px;
    text-align: center;
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s;
}

/* Inbox button Hover Effect */
.in-btn:hover {
    background-color: var(--secondary-color);
    color: #fff;
}

/* Question Sheet(s) Styles */
.questions-container {
    height: 500px;  /* Height for the question box */
    width: 518px;
    overflow-y: auto;  
    padding-right: 10px;  
}

.card {
    margin-bottom: 20px;  /* Space between cards */
}

/* Styles for the triangle button */
.arrow-btn {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    display: inline-flex;
    margin-top: 3px;
}

.triangle {
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 15px solid white; 
}

.triangle:hover{
    border-top: 15px solid var(--secondary-color);
}

/* Ensuring the drag-drop-area is in a column layout */
.drag-drop-area {
    border: 2px dashed var(--accent-color);
    padding: 15px;
    text-align: center;
    font-size: 20px;
    color: var(--accent-color);
    cursor: pointer;
    border-radius: 12px;
    transition: background-color 0.3s ease;
    display: flex;
    flex-direction: column;  
    align-items: center;
    justify-content: center;
    height: 200px; /* Height for drag n drop area */  
}

/* Image icon */
.drag-drop-area i {
    font-size: 40px;
}

/* Image icon paragraph text */
.drag-drop-area p {
    margin-top: 10px;
}

.drag-drop-area:hover {
    background-color: var(--background-color); /* Hover color for drag-drop-area */
}

/* Container for image previews and description inputs */
#image-descriptions-container {
    margin-top: 20px;
    width: 100%;
    height: 200px;  
    overflow-y: auto; 
    display: flex;
    flex-direction: column;
    gap: 85px;  /* Space between images and description boxes */
}

/* Styling for each image preview and description box */
#image-descriptions-container .image-container {
    display: flex;
    flex-direction: column;  
    align-items: center;     
    gap: 10px;              
}

#image-descriptions-container .image-description {
    width: 100%;
    max-width: 300px; /* Limit width of description box */
    height: 80px;     /* Height of description box */
    padding: 5px;
    border-radius: 6px;
    border: 1px solid var(--border);
    box-shadow: var(--box-shadow);
    font-size: 14px;
    resize: none; 
}

.card-body {
    position: relative;
    padding: 1.5rem;
}

.card-header {
    background-color: var(--accent-color); 
    color: #fff;
    padding: 15px; 
    display: flex;
    justify-content: space-between; 
    align-items: center; 
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}
.card-header2 {
    background-color: var(--accent-color); 
    color: #fff;
    padding: 15px; 
    display: flex;
    font-size: 100px;
    justify-content: space-between; 
    align-items: center; 
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.collapse {
    margin-top: 15px;
}

/* Styling for  button */
#nextButton {
    font-size: 24px;           
    padding: 15px 30px;        
    margin-top: 30px;          
    float: right;              
    background-color: var(--accent-color);  
    color: white;              
    border: none;              
    border-radius: 12px;       
    box-shadow: var(--box-shadow);  
    cursor: pointer;         
    transition: background-color 0.3s ease;
}

#nextButton:hover {
    background-color: var(--secondary-color);  /* Change button color on hover */
}

#backBtn {
    font-size: 24px;           
    padding: 15px 30px;        
    margin-top: 30px;          
    float: right;              
    background-color: var(--accent-color);  
    color: white;              
    border: none;              
    border-radius: 12px;       
    box-shadow: var(--box-shadow);  
    cursor: pointer;         
    transition: background-color 0.3s ease;
}

#backBtn:hover {
    background-color: var(--secondary-color);  /* Change button color on hover */
}

#submitBtn {
    font-size: 24px;           
    padding: 15px 30px;        
    margin-top: 30px;          
    float: right;              
    background-color: var(--accent-color);  
    color: white;              
    border: none;              
    border-radius: 12px;       
    box-shadow: var(--box-shadow);  
    cursor: pointer;         
    transition: background-color 0.3s ease;
}

#submitBtn:hover {
    background-color: var(--secondary-color);  /* Change button color on hover */
}

label {
    font-weight: bold;
}



.form-check-label {
    font-weight: 400;
}

.footer {
    bottom: 0px;
    flex-shrink: 0;
    text-align: center;
    width: 100%;
    padding-top: 20px;
    color: var(--background-color);
    background-color: var(--primary-color);
    min-height: 145px;
    margin-top: 0px;
}

/* Review Styles */
.reviewsPage{
    align-content: center;
    flex: 1;
    display: grid;
    min-height: 0;
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
    padding: 34px 0 42px;
}

.reviewsContainer{
    background-color: var(--background-color);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    margin: auto;
    height: 100%;
    margin-top: 10px;
    min-width: 200px;
}

.reviewAverageCard{
    background-color: rgba(255, 255, 255, 0.16);
    border: 1px solid rgba(223, 231, 247, 0.35);
    border-radius: 8px;
    color: var(--text-color);
    min-width: 190px;
    padding: 8px 14px;
    text-align: right;
}

.reviewAverageCard span{
    display: block;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 3px;
}

.reviewAverageCard h1{
    font-size: 1.35rem;
    font-weight: 800;
    margin: 0;
}

.reviewItems{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 0;
}

.duelBlocks{
    display:inline-block;
    align-self: center;
    border: var(--border);
    box-shadow: var(--box-shadow);
    background-color: var(--background-color);
    border-radius: 12px;
    margin: auto;
    margin-top: 24px;
    width: 60%;
    text-align: center;
    min-width: 300px;
}

.reviewsPanel{
    display: block;
    height: auto;
    width: 100%;
    min-width: 0;
    margin-top: 0;
    overflow: hidden;
    text-align: left;
}

.reviewsPanelHeader{
    align-items: center;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    padding: 16px 24px;
}

.reviewsPanelHeader h3{
    margin: 0;
}

.reviewsRed{
    background-color: var(--accent-color);
    color: var(--text-color);
    padding: 5px;
}

.reviewsBlue{
    background-color: var(--primary-color);
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    color: var(--text-color);
    padding: 5px;
}

.reviewSub{
    text-align: center;
    align-self: center;
}

#reviewList{
    max-height: 720px;
    overflow-y: auto;
    padding: 20px;
}

#reviewsHere{
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
}

.reviewDiv{
    background-color: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(27, 55, 109, 0.18);
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.10);
    min-width: 0;
    padding: 18px;
    text-align: left;
}

.reviewDiv.hasReviewImage{
    display: grid;
    gap: 6px 16px;
    grid-template-areas:
        'reviewImg reviewStars'
        'reviewImg reviewDate'
        'reviewImg reviewText';
    grid-template-columns: 96px minmax(0, 1fr);
}

.reviewDiv.noReviewImage{
    display: grid;
    gap: 6px;
}

.ratingStars{
    grid-area: reviewStars;
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
}

.reviewDiv h3{
    grid-area: reviewDate;
    color: #475569;
    font-size: 0.92rem;
    font-weight: 700;
    margin: 0;
}

.reviewDiv p{
    grid-area: reviewText;
    color: #1f2937;
    line-height: 1.55;
    margin: 0;
    overflow-wrap: anywhere;
}

.gold{
    font-size: 1.35rem;
    line-height: 1;
    margin-top: 0;
    color: darkgoldenrod;
}

.clientImg{
    grid-area: reviewImg;
    border-radius: 8px;
    width: 96px;
    height: 96px;
    object-fit: cover;
    margin-top: 0;
}

.servicesPage {
    flex: 1;
    width: min(1320px, calc(100% - 48px));
    margin: 0 auto;
    padding: 34px 0 46px;
}

.servicesIntro {
    border-left: 6px solid var(--accent-color);
    margin-bottom: 26px;
    padding: 4px 0 4px 18px;
}

.servicesKicker {
    color: var(--accent-color);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 4px;
    text-transform: uppercase;
}

.servicesIntro h1 {
    color: var(--primary-color);
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.05;
    margin: 0;
}

.servicesIntro p:last-child {
    color: #334155;
    font-size: 1rem;
    line-height: 1.5;
    margin: 8px 0 0;
    max-width: 760px;
}

.services{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.services .card{
    background-color: #ffffff;
    border: 1px solid rgba(27, 55, 109, 0.14);
    border-radius: 8px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.10);
    height: 100%;
    min-height: 230px;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.services .card:hover {
    border-color: rgba(42, 86, 170, 0.45);
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.16);
    transform: translateY(-5px);
}

.services .card-body {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
    padding: 20px;
}

.serviceCardHeader {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: 46px minmax(0, 1fr);
}

.serviceIcon {
    align-items: center;
    background-color: var(--primary-color);
    border-radius: 8px;
    box-shadow: 0 6px 14px rgba(15, 23, 42, 0.14);
    color: var(--text-color);
    display: inline-flex;
    font-size: 1.15rem;
    height: 46px;
    justify-content: center;
    width: 46px;
}

.services .card-title {
    color: var(--primary-color);
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
    overflow-wrap: anywhere;
}

.services .card-text {
    color: #475569;
    font-size: 0.94rem;
    line-height: 1.5;
    margin: 0;
}

.inboxContainer{
  background-color: var(--primary-color);
  border-radius: 12px;
  box-shadow: var(--box-shadow);
  margin: auto;
  margin-top: 100px;
  margin-bottom: 100px;
  height: 100%;
  width: 80%;
  padding: 20px;
  text-align: center;
  display: grid;
  grid-template-areas:
    'inboxContent currentMessage'
    'formButtons formButtons'
    'changePasswordSection changePasswordSection'
    'composeMessage composeMessage'
    'createBlog createBlog'
    'createProject createProject'
    'uploadStockImg uploadStockImg'
    'completeProjectForm completeProjectForm'
  ;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  gap: 20px;

  }

.clientInbox{
    grid-template-areas:
    'inboxContent currentMessage'
    'uploadImg uploadImg'
    'changePasswordSection changePasswordSection'
    'composeMessage composeMessage'
    'composeReview composeReview'
;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
}
.uploadImg{
    margin: auto;
    width: auto;
    border-radius: 12px;
    background-color: var(--background-color);
    grid-area: uploadImg;
}
#uploadImgBtn {
    width: 100%;
    padding: 10px 20px;
    box-shadow: var(--box-shadow);
    cursor: pointer;
    font-size: 1rem;
}

.queryBanner{
    display: block;
    justify-content: initial;
    margin-top: 80px;
    margin-bottom: 40px;
    padding: 56px 32px;
    min-height: 72vh;
}

.queryBanner > .d-flex {
    width: min(1500px, 100%);
    margin: 0 auto;
}
.uploadImgForm{
    padding: 20px;
    border: var(--border);
    box-shadow: var(--box-shadow);
    border-radius: 12px;
}
.inboxContent{
    grid-area: inboxContent;
    width: 100%;
    height: 500px;
    margin: auto;
    background-color: var(--background-color);
    padding-top: 20px;
    padding-bottom: 20px;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    overflow-y: auto;
}
.inboxList ul{
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left;
}
.inboxList ul li{
    display: block;
    padding: 10px;
    background-color: var(--background-color);
    border-top: var(--border);

}
.currentMessage{
    grid-area: currentMessage;
    width: 100%;
    height: 500px;
    margin: auto;
}
.currentMessageContainer{
    background-color: var(--background-color);
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    padding: 20px;
    width: 100%;
    height: 100%;
    overflow-y: auto;
}
.cContent{
    width: 100%;
    padding: 10px;
}

::-webkit-scrollbar {
    width: 0px;
}

.composeMessage{
    grid-area: composeMessage;
    display: grid;
    margin: auto;
    width: 60%;
    padding: 20px;
    gap: 15px;
    text-align: center;
    background-color: var(--background-color);
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
}

.changePasswordSection{
    grid-area: changePasswordSection;
    margin: auto;
    width: 60%;
    padding: 20px;
    gap: 15px;
    text-align: center;
    background-color: var(--background-color);
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
}

.changePasswordSection .messageForm{
    display: grid;
    gap: 14px;
}

.composeReview{
    grid-area: composeReview;
    display: grid;
    margin: auto;
    width: 60%;
    padding: 20px;
    gap: 15px;
    text-align: center;
    background-color: var(--background-color);
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
}
.reviewImgSelect{
    margin: auto;
    padding: 10px;
    width: 100%;
}
.reviewRating{
    margin: auto;
    padding: 10px;
    width: 100%;
}
#reviewImg{
    width: 100%;
    max-width: 300px;
    padding: 10px;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    font-size: 1rem;
    color: black;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}
#rating{
    width: 100%;
    max-width: 300px;
    padding: 10px;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    font-size: 1rem;
    color: black;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}
#reviewText{
    width: 100%;
    height: 200px;
    margin-top: 10px;
    padding: 10px;
    border-radius: 12px;
    box-shadow: var(--box-shadow);
}
.createProject{
    grid-area: createProject;
    display: grid;
    margin: auto;
    width: 60%;
    padding: 20px;
    gap: 15px;
    text-align: center;
    background-color: var(--background-color);
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
}
.uploadStockImg{
    grid-area: uploadStockImg;
    display: grid;
    margin: auto;
    width: 60%;
    padding: 20px;
    gap: 15px;
    text-align: center;
    background-color: var(--background-color);
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
}

.completeProjectForm{
    grid-area: completeProjectForm;
    margin: auto;
    width: 60%;
    padding: 20px;
    gap: 15px;
    text-align: center;
    background-color: var(--background-color);
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);

}
.completeProjectForm h4{
    margin-bottom: 20px;
}
.completeProjectFormSelect{
    margin: auto;
    margin-top: 15px;
    margin-bottom: 20px;
    text-align: center;
}

.banner.formBanner{
    background-image: url(assets/logoBanner.jpeg);
    background-color: var(--primary-color);
    background-position: center;
    background-size: cover;
    box-sizing: border-box;
    display: block;
    flex: 1;
    grid-gap: 0;
    justify-content: initial;
    margin: 50px 0 0;
    padding: 34px max(24px, calc((100vw - 1240px) / 2)) 44px;
    width: 100%;
}

.banner.formBanner + .spacer{
    margin-top: 50px;
}

.quoteFormHeader{
    background-color: rgba(223, 231, 247, 0.82);
    border-left: 6px solid var(--accent-color);
    border-radius: 8px;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.16);
    margin: 0 auto 24px;
    max-width: 1240px;
    padding: 14px 18px;
}

.quoteFormHeader p{
    color: var(--accent-color);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 4px;
    text-transform: uppercase;
    text-shadow: none;
}

.quoteFormHeader h1{
    color: var(--primary-color);
    font-size: 2.25rem;
    font-weight: 800;
    line-height: 1.05;
    margin: 0;
    text-shadow: none;
}

.quoteFormHeader span{
    color: #334155;
    display: block;
    font-size: 1rem;
    line-height: 1.45;
    margin-top: 8px;
    text-shadow: none;
}

.banner.formBanner .container-fluid{
    background-color: rgba(223, 231, 247, 0.82);
    border: 1px solid rgba(223, 231, 247, 0.28);
    border-radius: 8px;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.22);
    margin: 0 auto;
    max-width: 1240px;
    padding: 20px;
}

.banner.formBanner .row{
    --bs-gutter-x: 0;
    align-items: start;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    margin: 0;
}

.banner.formBanner .row > *{
    max-width: none;
    padding: 0;
    width: auto;
}

.banner.formBanner .questions-container{
    height: auto;
    max-height: min(660px, calc(100vh - 320px));
    min-height: 430px;
    overflow-y: auto;
    padding: 0 10px 0 0;
    width: 100%;
}

.banner.formBanner .questions-container::-webkit-scrollbar{
    width: 8px;
}

.banner.formBanner .questions-container::-webkit-scrollbar-thumb{
    background-color: rgba(27, 55, 109, 0.45);
    border-radius: 999px;
}

.banner.formBanner .questions-container::-webkit-scrollbar-track{
    background-color: rgba(255, 255, 255, 0.35);
}

.banner.formBanner .box2,
.banner.formBanner .box5{
    background-color: #ffffff;
    border: 1px solid rgba(27, 55, 109, 0.16);
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
    margin: 0 0 14px;
    max-width: none;
    min-width: 0;
    opacity: 1;
    overflow: hidden;
    width: 100%;
}

.banner.formBanner .box5{
    margin-bottom: 0;
}

.banner.formBanner .card-header{
    background-color: var(--primary-color);
    border-radius: 0;
    padding: 16px 18px;
}

.banner.formBanner .card-header .card-title{
    color: var(--text-color);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0;
}

.banner.formBanner .collapse.show,
.banner.formBanner .collapsing{
    padding: 18px;
}

.banner.formBanner .form-group{
    margin-bottom: 16px;
}

.banner.formBanner .form-control{
    border: 1px solid rgba(27, 55, 109, 0.22);
    border-radius: 8px;
    min-height: 44px;
}

.banner.formBanner .form-control:focus{
    border-color: var(--secondary-color);
    box-shadow: 0 0 0 0.2rem rgba(42, 86, 170, 0.18);
}

.banner.formBanner .box5 .card-body{
    padding: 18px;
}

.banner.formBanner .box5 .card-title{
    color: var(--primary-color);
    font-size: 1.12rem;
    font-weight: 800;
    margin-bottom: 14px;
}

.banner.formBanner .drag-drop-area{
    background-color: #f8fafc;
    border-color: rgba(109, 40, 27, 0.75);
    border-radius: 8px;
    font-size: 1rem;
    height: 150px;
    line-height: 1.35;
}

.banner.formBanner .drag-drop-area i{
    color: var(--primary-color);
}

.banner.formBanner #imagePreview{
    gap: 16px;
    height: auto;
    max-height: 180px;
}

.banner.formBanner #submitBtn{
    border: 0;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.16);
    float: none;
    font-size: 1.08rem;
    font-weight: 800;
    margin-top: 18px;
    padding: 14px 24px;
    width: 100%;
}

.formButtons{
    grid-area: formButtons;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin: auto;
    margin-top: 20px;
    width: 100%;
}
/*Styles for employee blog creation form*/
.createBlog{
    grid-area: createBlog;
    display: flex;
    flex-direction: column;
    margin: auto;
    width: 60%;
    padding: 30px;
    gap: 20px;
    text-align: center;
    background-color: var(--background-color);
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
}

#blogTitle {
    width: 100%;
    padding: 15px;
    font-size: 1rem;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    margin-bottom: 15px;
}

#blogContent {
    width: 100%;
    height: 200px;
    padding: 15px;
    font-size: 1rem;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    resize: none;
    margin-bottom: 15px;
}

#recipientDropdown{
    width: 100%;
    max-width: 300px;
    padding: 10px;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    font-size: 1rem;
    color: black;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

#subject{
    width: 100%;
    padding: 15px;
    font-size: 1rem;
    border: var(--border);
    margin-bottom: 15px;
}
.clientSelect{
    margin: auto;
    margin-top: 15px;
    margin-bottom: 20px;
    text-align: center;
}

.projectSelect {
    margin: auto;
    margin-top: 15px;
    margin-bottom: 20px;
    text-align: center;
}

.projectSelectImg{
    margin: auto;
    margin-top: 15px;
    margin-bottom: 20px;
    text-align: center;
}

.completeProjectFormSelect{
    margin: auto;
    margin-top: 15px;
    margin-bottom: 20px;
    text-align: center;
}
#completeProject{
    width: 100%;
    max-width: 300px;
    padding: 10px;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    font-size: 1rem;
    color: black;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}
.btn{
    background-color: var(--accent-color);
    border: 1px solid var(--accent-color);
    box-shadow: var(--box-shadow);
}
.btn:hover{
    background-color: var(--secondary-color);
    color: white;
}
#projectSelect{
    width: 100%;
    max-width: 300px;
    padding: 10px;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    font-size: 1rem;
    color: black;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

#projectDropdown{
    width: 100%;
    max-width: 300px;
    padding: 10px;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    font-size: 1rem;
    color: black;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}


#projectTitle{
    width: 100%;
    padding: 15px;
    font-size: 1rem;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    margin-bottom: 15px;
}

#clientDropdown{
    width: 100%;
    max-width: 300px;
    padding: 10px;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    font-size: 1rem;
    color: black;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

#imgUpload {
    display: inline-block;
    width: 60%;
    max-width: 250px;
    padding: 10px;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s ease, color 0.3s ease;
}

#createBlogBtn {
    padding: 15px 30px;
    background-color: var(--accent-color);
    color: white;
    border: none;
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.3s ease;
}



#createBlogBtn:hover {
    background-color: var(--secondary-color);
}

.imgDropdown{
    width: 100%;
    max-width: 300px;
    padding: 10px;
    margin: 10px auto;
    border: var(--border);
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    font-size: 1rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#addImgBtn{
    padding: 10px 20px;
    margin: 20px auto;
    background-color: var(--accent-color);
    color: white;
    border: none;
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    cursor: pointer;
    font-size: 1rem;
    transition: background-color 0.3s ease;
}
#addImgBtn:hover {
    background-color: var(--secondary-color);
    color: white;
}
.imgSelect{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    margin-top: 20px;
    padding: 20px;
}

#subject{
    width: 100%;
    height: 50px;
    margin-top: 10px;
    padding: 10px;
    border-radius: 12px;
    border: var(--border);
    box-shadow: var(--box-shadow);
}
#message{
    width: 100%;
    height: 200px;
    margin-top: 10px;
    padding: 10px;
    border-radius: 12px;
    box-shadow: var(--box-shadow);
}
#sendBtn{
    padding: 15px 30px;
    margin-top: 30px;
    background-color: var(--accent-color);
    color: white;
    border: none;
    border-radius: 12px;
    box-shadow: var(--box-shadow);
    cursor: pointer;
}

.employeeInboxContainer{
    background-color: var(--primary-color);
    border-radius: 8px;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.24);
    grid-template-areas:
    'inboxContent currentMessage'
    'formButtons formButtons'
    'changePasswordSection changePasswordSection'
    'composeMessage composeMessage'
    'createBlog createBlog'
    'createProject createProject'
    'uploadStockImg uploadStockImg'
    'completeProjectForm completeProjectForm';
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 22px;
    margin: 54px auto 64px;
    padding: 24px;
    width: min(1240px, calc(100% - 48px));
}

.employeeInboxContainer .inboxContent,
.employeeInboxContainer .currentMessage{
    height: 540px;
    min-width: 0;
}

.employeeInboxContainer .inboxContent,
.employeeInboxContainer .currentMessageContainer{
    background-color: #f8fbff;
    border: 1px solid rgba(15, 23, 42, 0.2);
    border-radius: 8px;
    box-shadow: 0 12px 22px rgba(15, 23, 42, 0.18);
}

.employeeInboxContainer .inboxContent{
    padding: 18px 0 0;
}

.employeeInboxContainer .inboxContent h2{
    color: var(--primary-color);
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 18px 14px;
    text-align: left;
}

.employeeInboxContainer .inboxList{
    height: calc(100% - 48px);
    overflow-y: auto;
    padding: 0 14px 16px;
}

.employeeInboxContainer .inboxList ul{
    display: grid;
    gap: 12px;
}

.employeeInboxContainer .inboxList ul li{
    background-color: #ffffff;
    border: 1px solid rgba(27, 55, 109, 0.18);
    border-left: 5px solid var(--accent-color);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.1);
    margin: 0;
    padding: 14px;
}

.employeeInboxContainer .messageListItem.is-active{
    background-color: #edf4ff;
    border-left-color: var(--secondary-color);
}

.employeeInboxContainer .messageCardTitle{
    color: var(--primary-color);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 8px;
    overflow-wrap: anywhere;
}

.employeeInboxContainer .messageCardMeta{
    color: #475569;
    display: flex;
    flex-wrap: wrap;
    font-size: 0.92rem;
    gap: 8px 14px;
    justify-content: space-between;
    line-height: 1.35;
}

.employeeInboxContainer .messageViewBtn{
    border-radius: 8px;
    box-shadow: none;
    font-weight: 700;
    margin-top: 12px;
    min-height: 42px;
    width: 100%;
}

.employeeInboxContainer .messageListEmpty{
    color: #475569;
    font-weight: 700;
    text-align: center;
}

.employeeInboxContainer .currentMessageContainer{
    align-content: start;
    color: #1f2937;
    display: grid;
    gap: 8px;
    padding: 22px;
}

.employeeInboxContainer .messageEmptyState{
    align-self: center;
    color: #475569;
    margin: auto;
    max-width: 360px;
    text-align: center;
}

.employeeInboxContainer .messageEmptyState h3,
.employeeInboxContainer .cSubject{
    color: var(--primary-color);
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
    overflow-wrap: anywhere;
}

.employeeInboxContainer .messageEmptyState p,
.employeeInboxContainer .cAuthor,
.employeeInboxContainer .cDate{
    color: #475569;
    line-height: 1.45;
    margin: 0;
}

.employeeInboxContainer .cContent{
    background-color: #ffffff;
    border: 1px solid rgba(27, 55, 109, 0.16);
    border-radius: 8px;
    line-height: 1.6;
    margin-top: 10px;
    padding: 16px;
    text-align: left;
    white-space: pre-wrap;
}

.employeeInboxContainer .cContent p{
    margin: 0;
    overflow-wrap: anywhere;
}

.employeeInboxContainer .formButtons{
    align-items: stretch;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
    margin: 0 auto;
    max-width: 1080px;
    width: 100%;
}

.employeeInboxContainer .formButtons .btn{
    align-items: center;
    border-radius: 8px;
    display: flex;
    font-weight: 800;
    height: 58px;
    justify-content: center;
    line-height: 1.15;
    padding: 10px 14px;
    text-align: center;
    white-space: normal;
    width: 100%;
}

.employeeInboxContainer .formButtons .btn.is-active{
    background-color: var(--secondary-color);
    border-color: var(--secondary-color);
    color: #ffffff;
}

.employeeInboxContainer .composeMessage,
.employeeInboxContainer .createBlog,
.employeeInboxContainer .createProject,
.employeeInboxContainer .uploadStockImg,
.employeeInboxContainer .completeProjectForm,
.employeeInboxContainer .changePasswordSection{
    background-color: #f8fbff;
    border: 1px solid rgba(15, 23, 42, 0.2);
    border-radius: 8px;
    box-shadow: 0 12px 22px rgba(15, 23, 42, 0.18);
    margin: 0 auto;
    padding: 24px;
    width: min(780px, 100%);
}

.employeeInboxContainer .messageForm,
.employeeInboxContainer .blogForm,
.employeeInboxContainer .createProject form,
.employeeInboxContainer .uploadStockImg form,
.employeeInboxContainer .completeProjectForm form{
    display: grid;
    gap: 14px;
    margin: 0;
    width: 100%;
}

.employeeInboxContainer .messageForm h2,
.employeeInboxContainer .blogForm h2,
.employeeInboxContainer .createProject h2,
.employeeInboxContainer .uploadStockImg h2,
.employeeInboxContainer .completeProjectForm h4{
    color: var(--primary-color);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}

.employeeInboxContainer input[type="text"],
.employeeInboxContainer input[type="password"],
.employeeInboxContainer input[type="file"],
.employeeInboxContainer textarea,
.employeeInboxContainer select{
    background-color: #ffffff;
    border: 1px solid rgba(27, 55, 109, 0.28);
    border-radius: 8px;
    box-shadow: none;
    color: #111827;
    font-size: 1rem;
    max-width: none;
    padding: 12px 14px;
    width: 100%;
}

.employeeInboxContainer textarea{
    min-height: 160px;
    resize: vertical;
}

.employeeInboxContainer #message,
.employeeInboxContainer #blogContent,
.employeeInboxContainer #projectTitle,
.employeeInboxContainer #subject,
.employeeInboxContainer #imgUpload{
    height: auto;
    margin: 0;
    max-width: none;
}

.employeeInboxContainer #message,
.employeeInboxContainer #blogContent{
    min-height: 180px;
}

.employeeInboxContainer .clientSelect,
.employeeInboxContainer .projectSelect,
.employeeInboxContainer .projectSelectImg,
.employeeInboxContainer .completeProjectFormSelect,
.employeeInboxContainer .imgSelect{
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    width: 100%;
}

.employeeInboxContainer .messageForm button,
.employeeInboxContainer .blogForm input[type="submit"],
.employeeInboxContainer #createProjectBtn,
.employeeInboxContainer #uploadImgBtn,
.employeeInboxContainer #completeProjectBtn{
    border: 0;
    border-radius: 8px;
    box-shadow: 0 8px 16px rgba(15, 23, 42, 0.16);
    font-weight: 800;
    margin: 0;
    min-height: 46px;
    padding: 12px 18px;
    width: 100%;
}

.employeeInboxContainer #changePasswordStatus{
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
    min-height: 20px;
}

.employeeInboxContainer .inboxList::-webkit-scrollbar,
.employeeInboxContainer .currentMessageContainer::-webkit-scrollbar{
    width: 8px;
}

.employeeInboxContainer .inboxList::-webkit-scrollbar-thumb,
.employeeInboxContainer .currentMessageContainer::-webkit-scrollbar-thumb{
    background-color: rgba(27, 55, 109, 0.42);
    border-radius: 999px;
}

.employeeInboxContainer .inboxList::-webkit-scrollbar-track,
.employeeInboxContainer .currentMessageContainer::-webkit-scrollbar-track{
    background-color: rgba(223, 231, 247, 0.72);
}

@media screen and (max-width: 960px) {
    .employeeInboxContainer{
        grid-template-areas:
        'inboxContent'
        'currentMessage'
        'formButtons'
        'changePasswordSection'
        'composeMessage'
        'createBlog'
        'createProject'
        'uploadStockImg'
        'completeProjectForm';
        grid-template-columns: 1fr;
        margin: 40px auto 54px;
        padding: 18px;
        width: calc(100% - 28px);
    }

    .employeeInboxContainer .inboxContent,
    .employeeInboxContainer .currentMessage{
        height: auto;
        min-height: 360px;
    }

    .employeeInboxContainer .currentMessageContainer{
        min-height: 360px;
    }

    .employeeInboxContainer .formButtons{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 560px) {
    .employeeInboxContainer{
        gap: 14px;
        margin: 26px auto 42px;
        padding: 12px;
        width: calc(100% - 16px);
    }

    .employeeInboxContainer .inboxContent{
        min-height: 300px;
    }

    .employeeInboxContainer .currentMessageContainer{
        min-height: 300px;
        padding: 16px;
    }

    .employeeInboxContainer .formButtons{
        grid-template-columns: 1fr;
    }

    .employeeInboxContainer .composeMessage,
    .employeeInboxContainer .createBlog,
    .employeeInboxContainer .createProject,
    .employeeInboxContainer .uploadStockImg,
    .employeeInboxContainer .completeProjectForm,
    .employeeInboxContainer .changePasswordSection{
        padding: 16px;
    }

    .employeeInboxContainer .messageCardMeta{
        display: grid;
        gap: 4px;
        justify-content: start;
    }
}

.clientInboxContainer{
    background-color: var(--primary-color);
    border-radius: 8px;
    box-shadow: 0 18px 34px rgba(15, 23, 42, 0.24);
    grid-template-areas:
    'inboxContent currentMessage'
    'clientActions clientActions'
    'uploadImg uploadImg'
    'changePasswordSection changePasswordSection'
    'composeMessage composeReview';
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 22px;
    margin: 54px auto 64px;
    padding: 24px;
    width: min(1240px, calc(100% - 48px));
}

.clientInboxContainer .inboxContent,
.clientInboxContainer .currentMessage{
    height: 540px;
    min-width: 0;
}

.clientInboxContainer .inboxContent,
.clientInboxContainer .currentMessageContainer{
    background-color: #f8fbff;
    border: 1px solid rgba(15, 23, 42, 0.2);
    border-radius: 8px;
    box-shadow: 0 12px 22px rgba(15, 23, 42, 0.18);
}

.clientInboxContainer .inboxContent{
    padding: 18px 0 0;
}

.clientInboxContainer .inboxContent h2{
    color: var(--primary-color);
    font-size: 1.55rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 18px 14px;
    text-align: left;
}

.clientInboxContainer .inboxList{
    height: calc(100% - 48px);
    overflow-y: auto;
    padding: 0 14px 16px;
}

.clientInboxContainer .inboxList ul{
    display: grid;
    gap: 12px;
}

.clientInboxContainer .inboxList ul li{
    background-color: #ffffff;
    border: 1px solid rgba(27, 55, 109, 0.18);
    border-left: 5px solid var(--accent-color);
    border-radius: 8px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.1);
    margin: 0;
    padding: 14px;
}

.clientInboxContainer .messageListItem.is-active{
    background-color: #edf4ff;
    border-left-color: var(--secondary-color);
}

.clientInboxContainer .messageCardTitle{
    color: var(--primary-color);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 0 0 8px;
    overflow-wrap: anywhere;
}

.clientInboxContainer .messageCardMeta{
    color: #475569;
    display: flex;
    flex-wrap: wrap;
    font-size: 0.92rem;
    gap: 8px 14px;
    justify-content: space-between;
    line-height: 1.35;
}

.clientInboxContainer .messageViewBtn{
    border-radius: 8px;
    box-shadow: none;
    font-weight: 700;
    margin-top: 12px;
    min-height: 42px;
    width: 100%;
}

.clientInboxContainer .messageListEmpty{
    color: #475569;
    font-weight: 700;
    text-align: center;
}

.clientInboxContainer .currentMessageContainer{
    align-content: start;
    color: #1f2937;
    display: grid;
    gap: 8px;
    padding: 22px;
}

.clientInboxContainer .messageEmptyState{
    align-self: center;
    color: #475569;
    margin: auto;
    max-width: 360px;
    text-align: center;
}

.clientInboxContainer .messageEmptyState h3,
.clientInboxContainer .cSubject{
    color: var(--primary-color);
    font-size: 1.45rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
    overflow-wrap: anywhere;
}

.clientInboxContainer .messageEmptyState p,
.clientInboxContainer .cAuthor,
.clientInboxContainer .cDate{
    color: #475569;
    line-height: 1.45;
    margin: 0;
}

.clientInboxContainer .cContent{
    background-color: #ffffff;
    border: 1px solid rgba(27, 55, 109, 0.16);
    border-radius: 8px;
    line-height: 1.6;
    margin-top: 10px;
    padding: 16px;
    text-align: left;
    white-space: pre-wrap;
}

.clientInboxContainer .cContent p{
    margin: 0;
    overflow-wrap: anywhere;
}

.clientInboxContainer .clientInboxActions{
    display: grid;
    gap: 12px;
    grid-area: clientActions;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 auto;
    width: min(540px, 100%);
}

.clientInboxContainer .clientInboxActions .btn{
    align-items: center;
    border-radius: 8px;
    display: flex;
    font-weight: 800;
    height: 58px;
    justify-content: center;
    line-height: 1.15;
    padding: 10px 14px;
    text-align: center;
    white-space: normal;
    width: 100%;
}

.clientInboxContainer .clientInboxActions .btn.is-active{
    background-color: var(--secondary-color);
    border-color: var(--secondary-color);
    color: #ffffff;
}

.clientInboxContainer .uploadImg,
.clientInboxContainer .composeMessage,
.clientInboxContainer .composeReview,
.clientInboxContainer .changePasswordSection{
    background-color: #f8fbff;
    border: 1px solid rgba(15, 23, 42, 0.2);
    border-radius: 8px;
    box-shadow: 0 12px 22px rgba(15, 23, 42, 0.18);
    margin: 0 auto;
    padding: 24px;
    width: 100%;
}

.clientInboxContainer .uploadImg{
    grid-area: uploadImg;
    width: min(780px, 100%);
}

.clientInboxContainer .changePasswordSection{
    width: min(780px, 100%);
}

.clientInboxContainer .messageForm,
.clientInboxContainer .reviewForm,
.clientInboxContainer .uploadImgForm{
    display: grid;
    gap: 14px;
    margin: 0;
    width: 100%;
}

.clientInboxContainer .messageForm h2,
.clientInboxContainer .reviewForm h2,
.clientInboxContainer .uploadImgForm h2,
.clientInboxContainer .reviewUnavailable h2{
    color: var(--primary-color);
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.2;
    margin: 0;
}

.clientInboxContainer .reviewUnavailable{
    color: #475569;
    display: grid;
    gap: 10px;
    text-align: center;
}

.clientInboxContainer .reviewForm[hidden],
.clientInboxContainer .reviewUnavailable[hidden]{
    display: none;
}

.clientInboxContainer .reviewUnavailable p{
    line-height: 1.45;
    margin: 0;
}

.clientInboxContainer input[type="text"],
.clientInboxContainer input[type="password"],
.clientInboxContainer input[type="file"],
.clientInboxContainer textarea,
.clientInboxContainer select{
    background-color: #ffffff;
    border: 1px solid rgba(27, 55, 109, 0.28);
    border-radius: 8px;
    box-shadow: none;
    color: #111827;
    font-size: 1rem;
    max-width: none;
    padding: 12px 14px;
    width: 100%;
}

.clientInboxContainer textarea{
    min-height: 160px;
    resize: vertical;
}

.clientInboxContainer #message,
.clientInboxContainer #reviewText,
.clientInboxContainer #subject,
.clientInboxContainer #imageUpload{
    height: auto;
    margin: 0;
    max-width: none;
}

.clientInboxContainer #message,
.clientInboxContainer #reviewText{
    min-height: 180px;
}

.clientInboxContainer .clientSelect,
.clientInboxContainer .projectSelect,
.clientInboxContainer .reviewImgSelect,
.clientInboxContainer .reviewRating{
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    width: 100%;
}

.clientInboxContainer .messageForm button,
.clientInboxContainer .reviewForm button,
.clientInboxContainer .uploadImgForm button{
    border: 0;
    border-radius: 8px;
    box-shadow: 0 8px 16px rgba(15, 23, 42, 0.16);
    font-weight: 800;
    margin: 0;
    min-height: 46px;
    padding: 12px 18px;
    width: 100%;
}

.clientInboxContainer .formStatus,
.clientInboxContainer #changePasswordStatus{
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
    min-height: 20px;
}

.clientInboxContainer .inboxList::-webkit-scrollbar,
.clientInboxContainer .currentMessageContainer::-webkit-scrollbar{
    width: 8px;
}

.clientInboxContainer .inboxList::-webkit-scrollbar-thumb,
.clientInboxContainer .currentMessageContainer::-webkit-scrollbar-thumb{
    background-color: rgba(27, 55, 109, 0.42);
    border-radius: 999px;
}

.clientInboxContainer .inboxList::-webkit-scrollbar-track,
.clientInboxContainer .currentMessageContainer::-webkit-scrollbar-track{
    background-color: rgba(223, 231, 247, 0.72);
}

@media screen and (max-width: 960px) {
    .clientInboxContainer{
        grid-template-areas:
        'inboxContent'
        'currentMessage'
        'clientActions'
        'uploadImg'
        'changePasswordSection'
        'composeMessage'
        'composeReview';
        grid-template-columns: 1fr;
        margin: 40px auto 54px;
        padding: 18px;
        width: calc(100% - 28px);
    }

    .clientInboxContainer .inboxContent,
    .clientInboxContainer .currentMessage{
        height: auto;
        min-height: 360px;
    }

    .clientInboxContainer .currentMessageContainer{
        min-height: 360px;
    }
}

@media screen and (max-width: 560px) {
    .clientInboxContainer{
        gap: 14px;
        margin: 26px auto 42px;
        padding: 12px;
        width: calc(100% - 16px);
    }

    .clientInboxContainer .inboxContent{
        min-height: 300px;
    }

    .clientInboxContainer .currentMessageContainer{
        min-height: 300px;
        padding: 16px;
    }

    .clientInboxContainer .clientInboxActions{
        grid-template-columns: 1fr;
    }

    .clientInboxContainer .uploadImg,
    .clientInboxContainer .composeMessage,
    .clientInboxContainer .composeReview,
    .clientInboxContainer .changePasswordSection{
        padding: 16px;
    }

    .clientInboxContainer .messageCardMeta{
        display: grid;
        gap: 4px;
        justify-content: start;
    }
}


@media screen and (max-width: 1180px) {
    .blog{
        height: auto;
        min-height: 280px;
        width: min(1120px, calc(100% - 32px));
    }

    .blogContainer,
    .blogPost:nth-child(odd) .blogContainer{
        grid-template-areas:
        'beforeImg afterImg'
        'blogContent blogContent';
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto minmax(0, 1fr);
        height: 620px;
    }

    .blogContainerNoImages{
        display: flex;
        height: 300px;
    }

    .blogContainerOneImage,
    .blogPost:nth-child(odd) .blogContainerOneImage{
        grid-template-areas:
        'singleImg blogContent';
        grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
        grid-template-rows: auto;
        height: 430px;
    }
}
@media screen and (max-width: 1500px) {
    .logo {
        width: 15%;
    }

    .pages {
        width: 80%;
    }

}

@media screen and (max-width: 1205px) {
    .logo {
        width: 15%;
    }

    .pages {
        width: 80%;
    }

    .services {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media screen and (max-width: 995px) {

    .pages {
        display: none;
    }
    .dropContainer{
        margin: auto;
        align-content: center;
        display: flex;
        color: var(--background-color);
    }

    .banner {
        display: block;
        padding: 40px;
    }

    .box1,
    .box2,
    .box3,
    .box4 {
        margin-top: 10px;
        width: 80%;
        text-align: center;
    }

    .footer {
        height: 50px;
    }

    .logo {
        width: 15%;
    }
    .blog{
        height: auto;
        min-height: 280px;
        width: min(920px, calc(100% - 24px));
    }

    .blogContainer,
    .blogPost:nth-child(odd) .blogContainer{
        grid-template-areas:
        'beforeImg'
        'afterImg'
        'blogContent';
        grid-template-columns: 1fr;
        grid-template-rows: auto auto minmax(0, 1fr);
        height: 760px;
        padding: 18px;
    }

    .blogContainerNoImages{
        display: flex;
        height: 300px;
    }

    .blogContainerOneImage,
    .blogPost:nth-child(odd) .blogContainerOneImage{
        grid-template-areas:
        'singleImg'
        'blogContent';
        grid-template-columns: 1fr;
        grid-template-rows: auto minmax(0, 1fr);
        height: 620px;
    }

    .blogPhoto{
        aspect-ratio: auto;
        height: 220px;
        min-height: 0;
    }
    .servicesPage {
        width: min(820px, calc(100% - 32px));
        padding: 28px 0 40px;
    }

    .services {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 500px) {
    .logo {
        width: 25%;
    }

    .offcanvas {
        max-width: 86%;
    }

    .banner {
        padding: 10px;
    }

    .pages {
        width: 70%;
    }
    .blog{
        height: auto;
        min-height: 260px;
        width: calc(100% - 16px);
    }

    .blogContainer{
        height: 680px;
        padding: 14px;
    }

    .blogContainerOneImage,
    .blogPost:nth-child(odd) .blogContainerOneImage{
        height: 560px;
    }

    .blogPhoto{
        height: 190px;
        min-height: 0;
    }

    .services {
        grid-template-columns: 1fr;
    }

    .servicesPage {
        width: calc(100% - 20px);
        padding: 24px 0 34px;
    }

    .servicesIntro {
        margin-bottom: 18px;
        padding-left: 14px;
    }

    .servicesIntro h1 {
        font-size: 1.8rem;
    }

}

@media screen and (max-width: 560px) {
    .loginPage{
        padding: 28px 12px 42px;
    }

    .loginCard{
        gap: 18px;
        padding: 18px;
        width: 100%;
    }

    .loginCardHeader{
        grid-template-columns: 68px minmax(0, 1fr);
    }

    .loginCardLogo{
        width: 68px;
    }

    .loginCardHeader h1{
        font-size: 1.65rem;
    }

    .loginButtonRow{
        grid-template-columns: 1fr;
    }
}

/* Home page: desktop-down responsive layout */
@media screen and (max-width: 1400px) {
    .homeBanner {
        display: grid;
        grid-template-columns: minmax(390px, 680px) minmax(300px, 520px);
        min-height: 660px;
        padding: 44px;
        width: 100%;
    }

    .homeBanner .box1,
    .homeBanner .box2,
    .homeBanner .box3,
    .homeBanner .box4 {
        margin: 0;
        max-width: none;
        min-width: 0;
        width: 100%;
    }

    .recentBlogContainer {
        width: min(1180px, calc(100% - 40px));
    }
}

@media screen and (max-width: 1180px) {
    .homeBanner {
        grid-template-areas:
            'box4 box4'
            'box1 box2'
            'box3 box3';
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-height: 0;
        padding: 40px;
    }

    .homeStandardCard {
        min-height: 460px;
    }

    .homeReviewCard {
        min-height: 180px;
    }

    .recentBlogContainer {
        grid-template-areas:
            'c1 c2'
            'c3 c3';
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .recentBlogContainer .card {
        height: 440px;
        min-height: 0;
    }

    .homeImg {
        height: 210px;
    }
}

@media screen and (max-width: 860px) {
    .homeBanner {
        grid-template-areas:
            'box4'
            'box1'
            'box2'
            'box3';
        grid-template-columns: 1fr;
        margin-top: 24px;
        padding: 30px;
        width: 100%;
    }

    .homeStandardCard {
        min-height: 0;
    }

    .homeStandardCard .card-body {
        max-height: none;
    }

    .homeReviewCard .card-text {
        max-height: 120px;
    }

    .recentBlogContainer {
        grid-template-areas:
            'c1'
            'c2'
            'c3';
        grid-template-columns: 1fr;
        margin: 30px auto 40px;
        width: min(720px, calc(100% - 28px));
    }

    .recentBlogContainer .card {
        height: 430px;
        min-height: 0;
    }
}

@media screen and (max-width: 560px) {
    .homeBanner {
        gap: 16px;
        padding: 16px;
        width: 100%;
    }

    .homeBanner .card-body {
        padding: 16px;
    }

    .homeStandardCard .card-title {
        font-size: 1.25rem;
    }

    .homeStandardCard .card-text,
    .homeReviewCard .card-text,
    .homeBlogContent {
        font-size: 0.95rem;
    }

    .recentBlogContainer {
        gap: 16px;
        padding: 14px;
        width: calc(100% - 16px);
    }

    .homeImg {
        height: 190px;
    }

    .recentBlogContainer .card {
        height: 410px;
    }
}

@media screen and (max-width: 390px) {
    .homeBanner {
        padding: 12px;
    }

    .homeBanner .card-body,
    .recentBlogContainer .blogBody {
        padding: 14px;
    }

    .homeImg {
        height: 170px;
    }

    .recentBlogContainer .card {
        height: 390px;
    }
}

/* Utility class to make box4 containers wider for query results */
.wideBox {
    max-width: 1500px !important;
    width: 100% !important;
}

/* Stronger override for the specific result containers */
#quoteContainer.wideBox,
#resultsArea.wideBox {
    box-sizing: border-box !important;
    max-width: 1500px !important;
    width: min(1500px, calc(100vw - 64px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.query-results-panel {
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    min-width: 0 !important;
    min-height: 620px;
    opacity: 1;
    padding: 0;
    text-align: left;
}

.query-search-field {
    max-width: 640px;
    width: min(640px, 100%);
}

.query-record-list {
    display: grid;
    gap: 16px;
    max-height: 68vh;
    min-height: 520px;
    overflow-y: auto;
    padding: 2px 10px 2px 2px;
}

.query-record {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 14px;
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-left: 5px solid #2f5f9f;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    padding: 20px;
}

.query-record-select {
    padding-top: 4px;
}

.query-record-select input {
    width: 18px;
    height: 18px;
}

.query-record-content {
    min-width: 0;
}

.query-record-header {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.query-record-kicker,
.query-record-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.query-record-id,
.query-record-badge,
.query-record-date {
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.1;
    padding: 6px 9px;
}

.query-record-id {
    background: #e9f1fb;
    color: #1d4f8f;
}

.query-record-badge {
    background: #f1f5f9;
    color: #334155;
}

.query-record-date {
    background: #ecfdf5;
    color: #166534;
}

.query-record-title {
    color: #152033;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.25;
    margin: 10px 0 3px;
    overflow-wrap: anywhere;
}

.query-record-subtitle,
.query-record-summary {
    color: #475569;
    font-size: 0.94rem;
    line-height: 1.45;
    margin: 0;
    overflow-wrap: anywhere;
}

.query-record-summary {
    margin-top: 12px;
}

.query-record-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(205px, 1fr));
    margin-top: 16px;
}

.query-record-field {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 6px;
    min-width: 0;
    padding: 11px 12px;
}

.query-record-label {
    color: #64748b;
    display: block;
    font-size: 0.74rem;
    font-weight: 800;
    text-transform: uppercase;
}

.query-record-value {
    color: #1e293b;
    display: block;
    font-size: 0.92rem;
    font-weight: 700;
    margin-top: 2px;
    overflow-wrap: anywhere;
}

.query-loading,
.query-empty,
.query-error {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 8px;
    color: #475569;
    font-weight: 700;
    padding: 26px;
    text-align: center;
}

.query-error {
    color: #b42318;
}

.query-detail-list dt {
    color: #475569;
    font-weight: 800;
}

.query-detail-list dd {
    color: #1f2937;
    overflow-wrap: anywhere;
}

.query-muted {
    color: #64748b;
}

.query-modal-section-title {
    color: #152033;
    font-size: 1rem;
    font-weight: 800;
    margin-bottom: 12px;
}

.quote-image-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.quote-image-card {
    background: #f8fafc;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 8px;
    margin: 0;
    overflow: hidden;
}

.quote-image-card img {
    aspect-ratio: 4 / 3;
    display: block;
    object-fit: cover;
    width: 100%;
}

.quote-image-card figcaption {
    color: #475569;
    font-size: 0.86rem;
    line-height: 1.35;
    padding: 9px 10px;
}

.in-btn.is-active {
    background: #2f5f9f;
    color: #ffffff;
}

.queryBanner + .action-buttons-container .action-buttons {
    max-width: 920px;
    width: min(920px, 92%);
    gap: 24px;
}

@media screen and (max-width: 760px) {
    #quoteContainer.wideBox,
    #resultsArea.wideBox {
        width: 100% !important;
    }

    .query-record {
        gap: 10px;
        padding: 13px;
    }

    .query-record-header {
        display: block;
    }

    .query-record-actions {
        margin-top: 12px;
    }

    .query-results-panel {
        min-height: 480px;
    }

    .query-record-list {
        max-height: 62vh;
        min-height: 400px;
    }

    .queryBanner + .action-buttons-container .action-buttons {
        gap: 8px;
        width: 96%;
    }
}

@media screen and (max-width: 995px) {
    .banner.formBanner {
        padding: 28px 18px 38px;
    }

    .banner.formBanner .row {
        grid-template-columns: 1fr;
    }

    .banner.formBanner .questions-container {
        max-height: none;
        min-height: 0;
        overflow-y: visible;
        padding-right: 0;
    }
}

@media screen and (max-width: 560px) {
    .banner.formBanner {
        padding: 24px 12px 34px;
    }

    .quoteFormHeader {
        margin-bottom: 18px;
        padding-left: 14px;
    }

    .quoteFormHeader h1 {
        font-size: 1.8rem;
    }

    .quoteFormHeader span {
        font-size: 0.95rem;
    }

    .banner.formBanner .card-header {
        gap: 14px;
        padding: 14px;
    }

    .banner.formBanner .card-header .card-title {
        font-size: 0.95rem;
    }

    .banner.formBanner .collapse.show,
    .banner.formBanner .collapsing {
        padding: 14px;
    }

    .banner.formBanner .box5 .card-body {
        padding: 16px;
    }

    .banner.formBanner .drag-drop-area {
        height: 170px;
    }
}

#reviewList::-webkit-scrollbar {
    width: 8px;
}

#reviewList::-webkit-scrollbar-thumb {
    background-color: rgba(27, 55, 109, 0.45);
    border-radius: 999px;
}

#reviewList::-webkit-scrollbar-track {
    background-color: rgba(255, 255, 255, 0.35);
}

@media screen and (max-width: 760px) {
    .reviewsPage {
        width: calc(100% - 24px);
        margin: 0 auto;
        padding: 24px 0 34px;
    }

    .reviewAverageCard {
        min-width: 0;
        padding: 8px 12px;
    }

    .reviewAverageCard h1 {
        font-size: 1.15rem;
    }

    .reviewsPanelHeader {
        align-items: stretch;
        flex-direction: column;
        text-align: center;
    }

    .reviewAverageCard {
        text-align: center;
    }

    #reviewList {
        max-height: none;
        padding: 14px;
    }

    #reviewsHere {
        grid-template-columns: 1fr;
    }

    .reviewDiv.hasReviewImage {
        grid-template-columns: 80px minmax(0, 1fr);
    }

    .clientImg {
        width: 80px;
        height: 80px;
    }
}

@media screen and (max-width: 500px) {
    .reviewDiv,
    .reviewDiv.noReviewImage {
        text-align: center;
    }

    .reviewDiv.hasReviewImage {
        grid-template-areas:
            'reviewImg'
            'reviewStars'
            'reviewDate'
            'reviewText';
        grid-template-columns: 1fr;
    }

    .ratingStars {
        justify-content: center;
    }

    .clientImg {
        margin: 0 auto;
    }
}
