/*
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
Click nbfs://nbhost/SystemFileSystem/Templates/ClientSide/css.css to edit this template
*/
/* 
    Created on : Aug 15, 2026, 9:55:38 PM
    Author     : EvanBeauchamp
*/

/* =========================================================
   Equine Insurance Specialists Quote App
   Modern layout overrides
   ========================================================= */

/* Remove the old 900px body restriction */  
html,
body {
    width: 100%;
    max-width: none;
}

/* Keep proposal carrier tabs equal in width and aligned when they wrap. */
@media screen {
    body.quote-summary-page #tabs > .ui-tabs-nav {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
    }

    body.quote-summary-page #tabs > .ui-tabs-nav > span {
        display: block;
        flex: 0 0 156px;
    }

    body.quote-summary-page #tabs > .ui-tabs-nav > span > li {
        float: none;
        width: 100%;
        margin: 0 0 -1px 0;
        box-sizing: border-box;
    }

    body.quote-summary-page #tabs > .ui-tabs-nav > span > li > a {
        float: none;
        display: block;
        width: 100%;
        box-sizing: border-box;
        text-align: center;
        white-space: nowrap;
    }
}

@media screen and (max-width: 768px) {
    body.quote-summary-page #tabs > .ui-tabs-nav > span {
        flex-basis: calc(50% - 2px);
    }
}

@media screen and (min-width: 600px) and (max-width: 1180px) {
    body.quote-summary-page #tabs > .ui-tabs-nav {
        flex-wrap: nowrap;
    }

    body.quote-summary-page #tabs > .ui-tabs-nav > span {
        flex: 1 1 0;
        min-width: 0;
    }

    body.quote-summary-page #tabs > .ui-tabs-nav > span > li > a {
        padding-right: 6px;
        padding-left: 6px;
    }
}

body {
    margin-left: 0;
    margin-right: 0;
}

/* Match the wider proportions of the Zakra site */
#page {
    width: calc(100% - 40px);
    max-width: 1250px;
    margin-left: auto;
    margin-right: auto;
}

/* Approximate Zakra's 1160px wide content area */
.inner-wrap {
    width: calc(100% - 60px);
    max-width: 1160px;
    margin-left: auto;
    margin-right: auto;
}

/* Keep the application content inside the new page width */
#content-wrapper,
#content,
#breadcrumbs {
    max-width: 100%;
    box-sizing: border-box;
}

/* Prevent large images from overflowing the wider layout */
img {
    max-width: 100%;
    height: auto;
}

/* Mobile */
@media screen and (max-width: 768px) {
    #page {
        width: 100%;
        max-width: 100%;
    }

    .inner-wrap {
        width: calc(100% - 30px);
        max-width: none;
    }
}

#wp-custom-header {
    width: 100%;
    overflow: hidden;
}

#wp-custom-header img {
    display: block;
    width: 100%;
    height: auto;
}

#breadcrumbs {
    width: 100%;
}

#content-wrapper {
    width: 100%;
    margin-right: 0;
    box-sizing: border-box;
}

/* Keep the overall content area and breadcrumb bar full width */
#content {
    width: 100%;
    float: none;
}

/* Main quote/proposal area */
#quote {
    float: left;
    width: 69%;
    max-width: none;
    box-sizing: border-box;
}

/* Sidebar */
#secondary {
    float: right;
    width: 28%;
    box-sizing: border-box;
}

/* Clear the two-column layout */
#content-wrapper::after {
    content: "";
    display: table;
    clear: both;
}

#summarybar {
    right: 30px;
    left: auto;
    margin-left: 0;
}

.endorseleft {
    width: 800px;
}

@media screen and (max-width: 768px) {
    #quote {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    #breed {
        width: auto !important;
        max-width: 100% !important;
        font-size: 14px !important;
    }
}

/* =========================================================
   Quote App Sidebar
   ========================================================= */

.quote-sidebar {
    padding-top: 35px;
    font-family: Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
    color: #3f3f46;
}


/* Search */

.quote-sidebar-search {
    display: flex;
    width: 100%;
    margin: 0 0 30px 0;
}

.quote-sidebar-search input[type="text"] {
    flex: 1;
    width: auto;
    min-width: 0;
    padding: 9px 11px;
    border: 1px solid #d4d4d8;
    border-radius: 0;
    background: #ffffff;
    color: #3f3f46;
    box-sizing: border-box;
}

.quote-sidebar-search button {
    padding: 9px 14px;
    border: 0;
    background: #61840c;
    color: #ffffff;
    font-size: 14px;
    cursor: pointer;
}


/* Menu */

.quote-sidebar-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.quote-sidebar-menu > ul > li {
    margin: 0 0 22px 0;
    padding: 0;
}

.quote-sidebar-menu > ul > li > a {
    display: block;
    color: #61840c;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
}

.quote-sidebar-menu > ul > li > a:hover {
    color: #496503;
}


/* Submenus */

.quote-sidebar-menu ul ul {
    margin: 7px 0 0 0;
    padding: 0 0 0 18px;
}

.quote-sidebar-menu ul ul li {
    margin: 0 0 6px 0;
    padding: 0;
}

.quote-sidebar-menu ul ul a {
    display: block;
    color: #777777;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.45;
    text-decoration: none;
}

.quote-sidebar-menu ul ul a:hover {
    color: #61840c;
}


/* Remove old Esteem arrow styling from new menu */

.quote-sidebar-menu a::before {
    content: none !important;
}

body,
p,
label,
li,
td,
input,
select,
textarea {
    color: #555555;
}

body.quote-summary-page #secondary {
    padding-top: 55px;
}


/* =========================================================
   SIDEBAR MENU LINK COLORS
   ========================================================= */

/* Normal sidebar menu text */
#secondary #menu-sidebar li a,
#secondary #menu-sidebar li a:visited {
    color: #4f6810 !important;
}

/* Sidebar menu hover */
#secondary #menu-sidebar li a:hover,
#secondary #menu-sidebar li a:focus {
    color: #9c9583 !important;
}

/* Match PHP top navigation typography to WordPress/Zakra */
.main-navigation ul li a {
    font-size: 16px !important;
    letter-spacing: 0.0px !important;
}  

/* Sidebar menu typography - match WordPress */
#secondary #menu-sidebar li a {
    font-size: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 0.16px !important;
}

/* =========================================================
   CONSISTENT LEFT ALIGNMENT
   Title bar and page content
   ========================================================= */

/* Title / breadcrumb bar inner content */
#breadcrumbs .page-title-bar .inner-wrap {
    width: 100% !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
    box-sizing: border-box;
}

/* Main content on Index and Summary */
#quote {
    padding-top: 20px !important;
    padding-left: 45px !important;
    box-sizing: border-box;
}

/* Main content on Add/Edit coverage pages */
#endorsements {
     padding-top: 10px !important;
     padding-left: 45px !important;
    box-sizing: border-box;
}

/* Add space between Submit and Cancel */
#submit .cancel-button {
    margin-left: 10px;
}

/* Remove white strip below footer */
body {
    padding-bottom: 0 !important;
}

/* Desktop sliding Quote Summary */
#summarybar_2 {
    display: none;
}

#summarybar {
    transition: top 0.25s ease-out, margin-top 0.25s ease-out;
}

#summarybar > h3,
#summarybar > h3 * {
    color: #000000 !important;
}

#summarybar #currentEndorsements th {
    color: #ffffff !important;
}

/* =========================================================
   TABLET / NARROW SCREEN
   Move Quote Summary above Endorsements
   ========================================================= */

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

    /* Hide sliding desktop summary */
    #summarybar {
        display: none !important;
    }

    /* Show summary above the endorsements */
    #summarybar_2 {
        display: block !important;
        position: relative !important;
        float: none !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 0 30px 0 !important;
        padding: 80px 15px 0 15px !important;
        box-sizing: border-box !important;

        left: auto !important;
        right: auto !important;
        top: auto !important;
    }

    /* Let endorsement section use full available width */
    .wrapper-sa .endorseleft:not(#summarybar) {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
}

/* Desktop layout - keep text clear of sliding Quote Summary */
@media screen and (min-width: 1001px) {

    /* Main endorsements column */
    .wrapper-sa .endorseleft:not(#summarybar):not(#summarybar_2) {
        width: calc(100% - 410px) !important;
        max-width: calc(100% - 410px) !important;
        box-sizing: border-box !important;
    }

    #form1,
    #endorsements {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Sliding Quote Summary */
    #summarybar {
        width: 360px !important;
        right: 30px !important;
        left: auto !important;
        margin-left: 0 !important;
    }
}

/* =========================================================
   SIDEBAR SEARCH - Zakra / WordPress style
   ========================================================= */

#secondary .zak-search-container {
    width: 100%;
}

#secondary .zak-search-form {
    width: 100%;
    margin: 0;
}

#secondary .zak-search-field-label {
    position: relative;
    display: block;
    width: 100%;
}

#secondary .zak-search-field {
    width: 100%;
    height: 42px;
    padding: 8px 12px;

    border: 1px solid #e4e4e7;
    border-radius: 0;

    background: #ffffff;

    color: #9c9583;
    font-family: Arial, sans-serif;
    font-size: 14px;
    line-height: 1.4;

    box-sizing: border-box;
}

#secondary .zak-search-field::placeholder {
    color: #9c9583;
    opacity: 1;
}

#secondary .zak-search-field:hover,
#secondary .zak-search-field:focus {
    color: #9c9583;
    border-color: #9c9583;
    outline: none;
}

#secondary .zak-search-field:hover::placeholder,
#secondary .zak-search-field:focus::placeholder {
    color: #9c9583;
}

#secondary .zak-icon--search {
    display: none;
    position: absolute;
    left: 12px;
    top: 50%;

    width: 20px;
    height: 20px;

    padding: 0;
    margin: 0;

    transform: translateY(-50%);

    border: 0;
    background: transparent !important;

    color: #4f6810 !important;

    cursor: pointer;
    z-index: 2;
}

#secondary .zak-icon--search:hover,
#secondary .zak-icon--search:focus {
    color: #9c9583 !important;
    background: transparent !important;
}

#secondary .zak-icon--search svg {
    display: block;
    width: 20px;
    height: 20px;
    fill: currentColor;
}


/* =========================================================
   SIDEBAR SEARCH POSITIONING
   ========================================================= */

/* Index page / default */
#secondary #search-4 {
    padding-top: 0px !important;
    padding-right: 20px !important;
    box-sizing: border-box;
    margin-top: -8px !important;
}

/* Summary page only */
.quote-summary-page #secondary #search-4 {
    padding-top: 0px !important;
    margin-top: -35px !important;
}

/* =========================================================
   TYPOGRAPHY - Match Zakra WordPress site
   ========================================================= */

body,
button,
input,
select,
textarea {
    font-family: Arial, sans-serif;
    font-size: 16px;
    line-height: 1.8;
}

/* Body / paragraph text */
p,
li,
label,
td,
th {
    font-size: 16px;
    line-height: 1.8;
}

/* Headings */
h1 {
    font-size: 40px;
}

h2 {
    font-size: 32px;
}

h3 {
    font-size: 24px;
}

h4 {
    font-size: 20px;
}

h5 {
    font-size: 18px;
}

h6 {
    font-size: 16px;
}

/* Page-title / breadcrumb bar uses smaller H1 */
.page-title-bar h1 {
    font-size: 24px !important;
}

/* Main navigation */
.main-navigation a {
    font-size: 16px !important;
}

/* Sidebar navigation */
#secondary #menu-sidebar li a {
    font-size: 15px !important;
}

/* Breadcrumbs */
#breadcrumbs,
#breadcrumbs a,
#breadcrumbs .breadcrumb,
#breadcrumbs .breadcrumb-title {
    font-size: 16px !important;
}

/* Search field */
#secondary .zak-search-field {
    font-size: 16px !important;
}

/* Form fields */
input,
select,
textarea {
    font-size: 16px !important;
}

/* Buttons */
button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    font-size: 16px !important;
}

/* Summary page - indent Optional Coverage bullets */
.quote-summary-page #currentEndorsements li,
.quote-summary-page td li {
    margin-left: 20px !important;
}

/* Summary page - tighter line spacing */
.quote-summary-page p,
.quote-summary-page li,
.quote-summary-page td,
.quote-summary-page th {
    line-height: 1.3 !important;
}

/* Summary page - Restore normal sidebar menu line spacing */
.quote-summary-page #secondary #menu-sidebar li,
.quote-summary-page #secondary #menu-sidebar li a {
    line-height: 1.8 !important;
}

/* Summary page - indent Additional Information bullet items */
.quote-summary-page .additional-info-labels {
    margin-left: 20px !important;
}

#proposal-header,
.proposal-header,
.quote-header,
.quote-summary-title

/* =====================================================
   ADD ENDORSEMENTS — COVERAGE OPTION TYPOGRAPHY
   Makes all available coverage options bold and italic
   ===================================================== */

/* Coverage titles use body-text markup at 150% of the base 14px size. */
#endorsements .coverage-title {
    margin: 0 0 5px;
    color: #4a6608;
    font-size: 21px !important;
    line-height: 1.4 !important;
    text-decoration: underline;
}

#endorsements p.coverage-options,
#endorsements p.coverage-options *,
#endorsements .coverage-options,
#endorsements .coverage-options * {
    font-weight: 700 !important;
    font-style: italic !important;
    font-size: 13px !important;
}

/* Keep radio-button options the same size as included coverages. */
#endorsements .coverage-option-row,
#endorsements .coverage-option-row * {
    font-size: 13px !important;
}

/* Show each coverage description in a readable window on hover or keyboard focus. */
#endorsements .coverage-tooltip-trigger {
    display: inline-block;
    position: relative;
}

#endorsements .coverage-option-tooltip {
    display: block !important;
    visibility: hidden;
    opacity: 0;
    position: absolute;
    z-index: 1000;
    top: 100%;
    left: 24px;
    width: min(630px, calc(100vw - 80px));
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid #638314;
    border-radius: 4px;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    color: #333333;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    white-space: normal;
    pointer-events: none;
    transition: opacity 0s linear 0s, visibility 0s linear 0s;
}

#endorsements .coverage-option-tooltip * {
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

#endorsements .coverage-option-tooltip b,
#endorsements .coverage-option-tooltip strong {
    font-weight: 700 !important;
}

#endorsements .coverage-option-tooltip i,
#endorsements .coverage-option-tooltip em {
    font-style: italic !important;
}

#endorsements .included-coverage .coverage-option-tooltip,
#endorsements .included-coverage .coverage-option-tooltip * {
    font-style: normal !important;
    font-weight: 400 !important;
}

#endorsements .coverage-tooltip-trigger:hover > .coverage-option-tooltip,
#endorsements .coverage-tooltip-trigger:focus-within > .coverage-option-tooltip {
    display: block !important;
    visibility: visible;
    opacity: 1;
    transition-delay: 1s;
}

/* =====================================================
   ADD ENDORSEMENTS — GROUPED OPTION SPACING
   Keeps the first grouped option aligned with later options
   ===================================================== */

#endorsements .grouped-endorsement .coverage-options {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Separate selectable coverage options without changing paragraph spacing. */
#endorsements .coverage-options > .coverage-option-row.coverage-part-end {
    margin-bottom: 12px !important;
}

/* =====================================================
   SUMMARY PAGE — MOBILE WIDTH
   ===================================================== */

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

    body.quote-summary-page #content-wrapper,
    body.quote-summary-page #content,
    body.quote-summary-page #quote,
    body.quote-summary-page #tabs {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    body.quote-summary-page #quote {
        margin: 0 !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }
}



/* =====================================================
   SUMMARY PAGE — TABLET WIDTH
   ===================================================== */

@media screen and (min-width: 769px) and (max-width: 1180px) {

    body.quote-summary-page #content-wrapper,
    body.quote-summary-page #content,
    body.quote-summary-page #quote,
    body.quote-summary-page #tabs {
        width: 100% !important;
        max-width: none !important;
        box-sizing: border-box !important;
    }

    body.quote-summary-page #quote {
        margin: 0 !important;
        padding-left: 24px !important;
        padding-right: 24px !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
    }
}

/* Center the index form content on tablet and mobile layouts. */
@media screen and (max-width: 768px) {
    body:not(.quote-summary-page) #quote {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    #quote #form1 {
        margin-top: 0 !important;
    }

    /* Place the existing sidebar below the quote content. */
    #secondary {
        display: block !important;
        float: none !important;
        clear: both;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 23px 15px 8px !important;
        box-sizing: border-box;
    }

    #secondary > .hideForPrint {
        padding-left: 0 !important;
    }

    #secondary > .hideForPrint > p:first-child {
        display: none !important;
    }

    #secondary #search-4 {
        margin: 0 0 23px !important;
        padding: 0 !important;
    }

    #secondary #nav_menu-2 {
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* =========================================================
   RESPONSIVE BREADCRUMBS — MATCH WORDPRESS
   ========================================================= */

@media screen and (max-width: 1024px) {
    #breadcrumbs .breadcrumb {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        white-space: nowrap;
    }

    #breadcrumbs .breadcrumb > span:last-child {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    #breadcrumbs .breadcrumb-title {
        display: none;
    }
}

@media screen and (max-width: 480px) {
    #breadcrumbs .breadcrumb {
        display: none !important;
    }
}

/* =========================================================
   RESPONSIVE TOP MENU — INLINE EXPANDING HEADER
   ========================================================= */

/* JavaScript adds these controls for narrow layouts only. */
#site-navigation .quote-submenu-toggle {
    display: none;
}

@media screen and (min-width: 769px) {
    #site-navigation #menu-header > li > .sub-menu {
        top: 50px !important;
    }

    #site-navigation #menu-header .sub-menu .sub-menu {
        top: 0 !important;
    }
}

@media screen and (max-width: 768px) {
    #masthead .hgroup-wrap {
        position: relative;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
    }

    #masthead .site-branding {
        flex: 1 1 auto;
        max-width: calc(100% - 54px);
    }

    #masthead .hgroup-wrap-right {
        float: none !important;
        width: 100%;
        margin: 0;
    }

    #site-navigation {
        position: static;
        width: 100%;
        padding: 0 !important;
    }

    #site-navigation .menu-toggle {
        position: absolute;
        top: 20px;
        right: 0;
        display: block;
        width: 44px;
        height: 44px;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent !important;
        color: #000000 !important;
        cursor: pointer;
    }

    #site-navigation .menu-toggle::before {
        position: static;
        display: block;
        color: #000000 !important;
        font-size: 24px;
        line-height: 44px;
        text-align: center;
    }

    #site-navigation .menu-toggle:hover::before,
    #site-navigation .menu-toggle:focus::before {
        color: #496503 !important;
    }

    #site-navigation .nav-menu,
    #site-navigation #menu-header {
        display: none !important;
        width: 100%;
    }

    #site-navigation.toggled .nav-menu,
    #site-navigation.toggled #menu-header {
        display: block !important;
    }

    #site-navigation.toggled .nav-menu {
        clear: both;
        padding-top: 8px;
        background: #ffffff;
    }

    #site-navigation #menu-header,
    #site-navigation #menu-header ul {
        position: static !important;
        float: none !important;
        margin: 0;
        padding: 0;
        border: 0 !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    #site-navigation #menu-header li {
        position: relative;
        float: none !important;
        display: block;
        width: 100%;
    }

    #site-navigation #menu-header li > a {
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding: 9px 44px 9px 12px;
        border: 0 !important;
        border-bottom: 1px solid #e5e5e5 !important;
        background: #ffffff !important;
        color: #000000 !important;
        font-size: 15px !important;
        line-height: 24px !important;
        text-decoration: none !important;
    }

    #site-navigation #menu-header li > a:hover,
    #site-navigation #menu-header li > a:focus {
        color: #496503 !important;
    }

    #site-navigation #menu-header .sub-menu {
        display: none !important;
        width: 100% !important;
    }

    #site-navigation #menu-header li.submenu-open > .sub-menu {
        display: block !important;
    }

    #site-navigation #menu-header .sub-menu > li > a {
        padding-left: 28px;
    }

    #site-navigation #menu-header .sub-menu .sub-menu > li > a {
        padding-left: 44px;
    }

    #site-navigation .quote-submenu-toggle {
        position: absolute;
        z-index: 2;
        top: 0;
        right: 0;
        display: block;
        width: 44px;
        height: 42px;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent !important;
        color: #000000 !important;
        cursor: pointer;
    }

    #site-navigation .sub-toggle {
        display: none !important;
    }

    #site-navigation .quote-submenu-toggle::before {
        content: "\25BE";
        display: block;
        font-size: 18px;
        line-height: 42px;
        text-align: center;
    }

    #site-navigation .quote-submenu-toggle:hover,
    #site-navigation .quote-submenu-toggle:focus {
        color: #496503 !important;
    }

    #site-navigation li.submenu-open > .quote-submenu-toggle::before {
        content: "\25B4";
    }
}
