/*** Template Overrides ***/

@media (min-width: 992px) {
    #header .header-nav-main nav > ul > li.dropdown .dropdown-menu li a { color: #292929; }
}

#footer, #footer p, #footer .footer-copyright p {
    color: darkgrey;
}

#footer a:not(.btn):not(.no-footer-css) {
    color: darkgrey;
    transition: all 0.1s ease-in-out;
}

/*** Search Bar - (including JQuery Overrides) ***/

.ui-menu-item-wrapper:hover,
.ui-menu-item-wrapper.ui-state-active,
.ui-menu .ui-menu-item-wrapper.ui-state-active {
    color: white;
    background-color: #b04a4a;
    border-color: #b04a4a;
}

.ui-autocomplete {
    border-radius: 10px;  /* top-left, top-right, bottom-right, bottom-left */
    z-index: 99999 !important;
    border: 1px solid rgba(208, 208, 208, 0.4) !important;
    overflow: hidden;
}

.ui-menu-item:last-child .ui-menu-item-wrapper {
    border-radius: 0 0 10px 10px;
}

.ui-menu-item:first-child .ui-menu-item-wrapper {
    border-radius: 10px 10px 0 0;
}

#searchtext {
    color: #00467e;  /* or whatever color you want */
    font-weight: 600;
}

#searchtext::-webkit-search-cancel-button {
    filter: opacity(0.3);  /* adjust 0.0-1.0 to taste */
}

.search-icon {
    color: #00467e;
}

.simple-search .form-control {
    border-radius: 1.2rem 0 0 1.2rem;
    border: .1rem solid #015ba3;
    border-right: 0;
}

.simple-search .form-control:focus {
    box-shadow: none;
}

.simple-search .btn {
    box-shadow: none !important;
    border-radius: 0 1.2rem 1.2rem 0;
    border: .1rem solid #00467e;
    border-left: 0;
}

.simple-search .form-control::-moz-placeholder {
    color: #3c567c;
    font-weight: 600;
    opacity: .85;
}

.simple-search .form-control::placeholder {
    color: #3c567c;
    font-weight: 600;
    opacity: .85;
}

.simple-search .form-control:-ms-input-placeholder {
    color: #3c567c;
    font-weight: 600;
    opacity: .85;
}

/* Input just flexes to fill whatever the wrapper allows */
#header #searchtext {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;   /* lets it shrink so the button never wraps */
}

#header .header-search-wrapper .input-group {
    flex-wrap: nowrap;
}

/* Wrapper owns the actual width at each breakpoint */
#header .header-search-wrapper { max-width: 320px; }

@media (max-width: 991.98px) {
    #header .header-search-wrapper { max-width: 200px; margin-top: 20px; }
}

@media (max-width: 400px) {
    #header .header-search-wrapper { max-width: 140px; }
}

/* desktop: guarantee room for the full placeholder */
#header .header-search-wrapper { min-width: 275px; }

@media (max-width: 991.98px) {
    #header .header-search-wrapper { min-width: 0; max-width: 200px; }
}

@media (max-width: 400px) {
    #header .header-search-wrapper { max-width: 140px; }
}


/** Nav Menu Tweaks **/

#mainNav {margin-right: 0px; padding-right: 0;}
#mainNav .dropdown { margin-left: -6px; margin-right: -6px;}

nav i { margin-right: 0.4em;}

#header .header-nav.header-nav-divisor-first nav > ul > li {
    margin: 0;
}

#header .header-nav.header-nav-divisor-first nav > ul > li > a {
    border-right: 0;
}

@media (min-width: 993px) {
    #header .header-nav.header-nav-divisor-first nav > ul > li:first-child {
        position: relative;
        padding-right: 5px;
        margin-right: 5px;
    }
    #header .header-nav.header-nav-divisor-first nav > ul > li:first-child::after {
        content: '';
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        height: 50%;
        width: 1px;
        background-color: rgba(0, 0, 0, 0.07);
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    #header .header-nav-main nav > ul > li > a {
        font-size: 0.85rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    .header-center-column {
        justify-content: end;
    }
}

@media (min-width: 1200px) {
    #header .header-nav-main.header-nav-main-font-lg-upper-sola nav > ul > li > a {
        font-size: 1rem;
        text-transform: uppercase;
        letter-spacing: -1px;
    }
    .header-center-column {
        justify-content: center;
    }
}

@media (max-width: 992px) {
    .header-center-column {
        justify-content: end;
    }
}

/** Staff/Team page overrides */

.portfolio-item .thumb-info-wrapper img {
    width: 100%;
    aspect-ratio: 3 / 4;       /* portrait — height is always 1.33× width */
    height: auto;
    object-fit: cover;
    object-position: center top;
}


/** Home Page **/
.feature-box-info a { color: black;}
.feature-box-info a:hover { color: var(--primary); text-decoration: none;}


/******************** datepicker ******************/

#datepicker .ui-datepicker  {
    display:block;
    border-radius:9px;
    -webkit-border-radius:9px;
    box-shadow:1px 1px 2px #bdbcb9;
    -webkit-box-shadow:1px 1px 2px #bdbcb9;
    /*background:url(/images/content-tail.gif);*/
    background-color: rgba(208, 208, 208, 0.15);
    border:1px solid rgba(208, 208, 208, 0.61);
    position:relative;
    width:267px;
}
#datepicker .ui-datepicker-header {
    /*background:url(/images/calendar-head.gif);*/
    background: var(--primary);
    border-radius:9px;
    -webkit-border-radius:9px;
    position:relative;
    top:-1px;
    left:-4px;
    width:269px;
    border:none;
    text-align:center;
    padding:7px 0;
}
#datepicker .ui-datepicker-prev {
    display:inline-block;
    position:absolute;
    width:20px;
    height:20px;
    background:url(/images/datepicker-controls.gif) no-repeat 0 0;
    left:5px;
    top:8px;
}
#datepicker .ui-datepicker-prev span {display:none;}
#datepicker .ui-datepicker-prev:hover {
    background-color: #0a6aa1;
    cursor: pointer;
}
#datepicker .ui-datepicker-next {
    display:inline-block;
    width:20px;
    height:20px;
    position:absolute;
    right:5px;
    top:8px;
    background:url(/images/datepicker-controls.gif) no-repeat right 0;
}
#datepicker .ui-datepicker-next span {display:none;}
#datepicker .ui-datepicker-next:hover {
    background-color: #0a6aa1;
    cursor: pointer;
    border:none;
}
/*#datepicker .ui-datepicker-title {*/
/*    display:block;*/
/*    width:220px;*/
/*    margin:0 auto;*/
/*    overflow:hidden;*/
/*    background:url(/images/calendar-border.gif) no-repeat center center;*/
/*    text-align:center;*/
/*}*/
#datepicker .ui-datepicker-title span {
    font-size:17px;
    line-height:21px;
    color:#fff;
    font-family:Georgia, "Times New Roman", Times, serif;
    font-weight:normal;
}
#datepicker thead tr {display: none;}
#datepicker table {
    width:100%;
}
#datepicker table td {
    border:1px solid #fff;
    border-bottom:none;
    border-right:none;
}
#datepicker table tr td:first-child {
    border-left:none;
}
#datepicker table tr:first-child td {
    border-top:none;
}
#datepicker table td a {
    display:block;
    background:none;
    border:none;
    text-align:center;
    font-family:Georgia, "Times New Roman", Times, serif;
    font-size:14px;
    line-height:20px;
    color:#2c2a2a;
    padding:6px 0 10px;
}
#datepicker table td a:hover {
    text-decoration:none;
    color:var(--primary);
    border:none;
}
#ui-datepicker-div {display:none;}

.img-inverted {
    filter: invert(100%);
}

.figure-caption {
    line-height: 1.2;
}

/* Store Pages */
.search-product-image {
    height: 240px;
    background-color: #f1f1f1;
}
.recommended-product-image {
    height: 138px;
    background-color: #f1f1f1;
}

/* line height styling */
p { line-height: 1.5; margin-bottom: 0.5rem; margin-top: 0;  }
h2, h3, h4 { margin-bottom: 0.5rem; margin-top: 0; padding-top: 0; }
.ckeditor h1 { font-size: 28px;  }
.ckeditor h2 { font-size: 24px;  }
.ckeditor h3 { font-size: 18px;  }
.ckeditor h4 { font-size: 16px;  }
em { font-style: italic; font-weight: normal }
figure { margin-bottom: 0; }
