/*
Theme Name: Katahdin Theme
Author: Pannos Marketing
Description: A Wordpress conversion of Katahdin's existing site theme.
Version: 0.0.95
Text Domain: bank-theme
Template: pm-port-base-theme
*/

/* Header and Nav */

body.fdic-active .fdic-notice {
    display: flex;
}

nav#primary .custom-logo-link svg, nav#primary .custom-logo-link img {
    display: block;
    height: auto;
    margin: 0;
    max-height: 2rem;
    width: 10rem
}


body#home a.custom-logo-link { /* hide logo on homepage (since it is in feature) but restore it when nav is sticky, fancy-pants style */
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none;
}

body#home:has(#gototop.gototopactive) a.custom-logo-link {
    opacity: 1;
    pointer-events: initial;
}

#login form label {
    padding: 0;
}

#login.hide-password form label.valid + label.required {display: inline-block;}

/* Alerts */


/*
section.alerts {
    top: 11.5em;
    position: absolute;
    z-index: 9;
    background: white;
    width: 100%;
}

section.alerts .alert {
    padding: 0 0 0 20rem;
}



.alert {
    zoom: 1;
    font-size: 16px;
    text-align: center;
    padding: .75em 1em;
}

.alert .alert-content .content {
    padding: .5em 2rem;
    text-align: left;
    max-width: 70rem;
    margin: 0 auto;
}

.alert .f-alert-header {
    margin: 0 0 .25em;
    font-size: 24px;
    line-height: 1.5;
    color: inherit;
    padding: 0;
}

.alert .alert-content p {
    margin-top: 0;
    line-height: 1.5;
}

.alert .alert-content p:last-of-type {
    margin-bottom: .5rem;
}

.alert.ab-alert {
    background: #d61b24;
    color: #fff;
    border-top: 2px solid rgba(0, 0, 0, .1);
    border-bottom: 2px solid rgba(0, 0, 0, .1);
}

.alert.ab-info {
    background: linear-gradient(135deg,rgba(233,233,234,1) 0%,rgba(236,237,238,1) 100%);
    color: #000;
    border-top: 2px solid rgba(0, 0, 0, .1);
    border-bottom: 2px solid rgba(0, 0, 0, .1);
}

.alert .alert-content .content a {
    color: inherit;
    font-weight: bold;
    text-decoration: underline;
}

@media screen and (max-width: 950px) {
    .alert .alert-content .content {
        text-align: center;    
        font-size: 14px;   
    }
    .alert .f-alert-header {
        font-size: 22px;
    }

}

*/

/* Adaptations for Notice code */

html {
  --noticeHeight: 0px;
}

header#header, body:not(.fixed) #login, body:not(.fixed) nav#primary {
    transition: opacity .5s ease, visibility .5s ease, height .5s ease-in-out, margin-top .5s ease-in-out;
}



.noticeactive header#header {
    height: calc(6.5em + var(--noticeHeight));
}

.fdic-active.noticeactive header#header {
    height: calc(8.5em + var(--noticeHeight));
}

.noticeactive:not(.fixed) nav#primary {
    margin-top: var(--noticeHeight);
}

.fdic-active.noticeactive:not(.fixed) nav#primary {
    margin-top: var(--noticeHeight);
}

.noticeactive:not(.fixed) #login {
    margin-top: var(--noticeHeight);
}

.fdic-active.noticeactive:not(.fixed) #login {
    margin-top: var(--noticeHeight);
}

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

    .noticeactive header#header {
        height: calc(6.5em + var(--noticeMobileHeight));
    }

    .fdic-active.noticeactive header#header {
        height: calc(8.5em + var(--noticeMobileHeight));
    }

    .noticeactive:not(.fixed) nav#primary {
        margin-top: var(--noticeMobileHeight);
    }

    .fdic-active.noticeactive:not(.fixed) nav#primary {
        margin-top: var(--noticeMobileHeight);
    }

    .noticeactive:not(.fixed) #login {
        margin-top: var(--noticeMobileHeight);
        z-index: 999;
    }

    .fdic-active.noticeactive:not(.fixed) #login {
        margin-top: var(--noticeMobileHeight);
    }

}

/* Optional Rate Table Tweaks. Update or remove these as desired. */

table td p:last-child, table th p:last-child {
    margin-bottom: 0;
}

.mobile-ditto {
    display: none;
}

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

    .mobile-ditto {
        display: inline !important;
    }

    .editableTable td[data-title]:before {
        width: auto;
        padding: 1em;
        margin-right: 1em;
        height: calc(100% - 2em);
    }

    .editableTable td[data-title] {
        padding-right: 1em;
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
    }

    .editableTable td[data-title] > p {padding: 1em 0;}

    .editableTable td[data-title] > a { margin-top: .5em; }

    .editableTable td.cell_0 {
        font-weight: bold;
    }

}

/* Navigation Menu Cursor Tweak */

nav#primary > ul > li > h2 {
    cursor: default;
}

/* Generic Table Tweak */

table.aligncenter {
    text-align: center;
}

/* Locations */


.branch_hours_set dl {
    margin: 1rem 0;
}

.branch_hours_set dl {
    margin: 0;
}

.branch_hours_set dl dt, .branch_hours_set dl dd {
    display: inline;
}

/* Privacy Policy Tables */

.wp-block-table.privacy-left table tr td:first-child, .wp-block-table.privacy-top table tr:first-child td {
    background: #666666;
    color: white;
    border-color: black;
}

.wp-block-table.privacy-left table tr td:first-child {
    font-size: clamp(1.8rem,3vw,2.8rem);
    line-height: 3rem;
    font-weight: 700;
}

.wp-block-table.privacy-left table tr:first-child:not(:last-child) td:not(:first-child) {
    font-size: clamp(1.41rem,3vw,1.777rem);
    line-height: 1.5;
    font-weight: 700;
    color: #58595b;
}

.wp-block-table.privacy-top table tr td, .wp-block-table.privacy-left table tr td {
    padding: 1em 10px;
    min-width: 11rem;
    border-width: 2px;
}

.wp-block-table.privacy-top table tr:first-child td {
    font-size: clamp(1.18rem,3vw,1.777rem);
    line-height: 2rem;
    font-weight: 700;
    vertical-align: top;
}

.wp-block-table.privacy-left table tr:first-child:not(:last-child) td:first-child {
    background: black;
    font-size: clamp(2rem,4vw,3.15rem);
    line-height: 3.5rem;
}

/* Fix for Promo Blocks */

.subsection-promo h2.Mountain {
    padding: 0;
}


section.subsection-promo-half img {
    width: 100%;
    height: auto;
}

/* Table Grid Half - Account for lack of auto-paragraphs */

.inner-content [class="Table-Grid-Half"] > tbody > tr > td {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    align-items: center;
}

.inner-content [class="Table-Grid-Half"] > tbody > tr > td a {
    width: auto;
    width: fit-content;
}

/* Blog Post */

.inner-content.blog-post a.Button2 {
    display: block;
    width: fit-content;
    margin: 18px 0 12px;
}

ul.wp-block-list li > br {
    display: none;
}

/* Speedbump */

.speedbump section.subsection .inner-content {
    padding-top: 0;
}

/* Search */

ul#search_results h4 {
    padding: 0;
}

ul#search_results li:before {
    top: 25px;
}

/* Contact Forms */

span.wpcf7-form-control-wrap, .wpcf7-list-item {
    width: 100%;
    display: inline-block;
    margin: 0;
}

.wpcf7-list-item label {
    padding: 0;
}

input.wpcf7-form-control.wpcf7-submit.Button1 {
    height: unset;
}

.wpcf7 form.wpcf7-form.sent div#hideform {
    display: none;
}

div#show-sent {
    display: none;
}

.wpcf7 form.wpcf7-form.sent div#show-sent {
    display: block;
}

.wpcf7 form.wpcf7-form.sent  .wpcf7-response-output {
    padding: 0;
    margin: 1em 0;
}

/* Customer Satisfaction */

.wpcf7 p.sup {
    display: flex;
    align-items: center;
    gap: 5px;
}

.wpcf7 p.sup span.wpcf7-form-control-wrap {
    width: auto;
}

span.wpcf7-form-control-wrap:last-child {
    width: 100%;
}

span.wpcf7-form-control.wpcf7-radio {
    display: flex;
    justify-content: flex-start;
    gap: 2em;
}

span.wpcf7-form-control.wpcf7-radio span.wpcf7-list-item {
    width: auto;
}

/* New Equipment Screen */

.equipment-categories {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    background: #AA562D;
}

.equipment-categories .content {
    background: #AA562D;
    padding: 2em 1em;
    display: flex;
    max-width: 1200px;
    padding: 30px 10px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
    margin: 0 auto;
    width: 100%;
}

.equipment-categories h2.eq-heading {
    color: white;
    font-family: "Source Sans Pro";
    font-size: 42px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-top: 0;
    padding-top: 0;
}

.equipment-categories nav.eq_cats {

    display: flex;
    padding-bottom: 30px;
    align-items: flex-start;
    gap: 6px;
    align-self: stretch;
    gap: 6px;

    flex-wrap: wrap;
}

.equipment-categories .Button1 {
    border: none !important;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.20);
    color: white;

    display: flex;
    padding: 10px 20px 10px 15px;
    align-items: center;
    gap: 10px;
    text-transform: none;
    margin: 0;

}

.equipment-categories .Button1.current {
    color: #5A4E41;
    text-align: center;
    font-family: "Source Sans Pro";
    font-style: normal;
    font-weight: 700;
    background: white;
}

.equipment-categories .Button1.current span img {
    mix-blend-mode: multiply;
    filter: brightness(0);
    opacity: 0.6;
}

.equipment-categories .Button1:first-child {
    padding-left: 20px;
}


.Table-Grid-Fourths.Equipment {
    width: calc(100vw - 2em);
    max-width: 1220px;
    margin: 2em auto;
}

.Table-Grid-Fourths.Equipment > tbody > tr {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(285px, 285px));
    gap: 20px;
    padding: 1em;
    margin: 0;
    box-sizing: border-box;
    background: transparent;
    justify-content: left;
}

.Table-Grid-Fourths.Equipment > tbody > tr td.product {
    background: #eee;
    padding: 20px;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.Table-Grid-Fourths.Equipment > tbody > tr td.product .photo {
    aspect-ratio: 10 / 9;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.Table-Grid-Fourths.Equipment > tbody > tr td.product .categories img {
    mix-blend-mode: multiply;
    filter: brightness(0);
    opacity: 0.6;
}

.Table-Grid-Fourths.Equipment > tbody > tr td.product .categories {
    display: flex;
    justify-content: flex-end;
    gap: .5rem;
}

.Table-Grid-Fourths.Equipment > tbody > tr td.product .categories span {
    height: 12px;
}

.Table-Grid-Fourths.Equipment > tbody > tr td.product h3.title {
    color: #5A4E41;
    font-family: "Source Sans Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px; /* 111.111% */
    text-transform: uppercase;
}

.Table-Grid-Fourths.Equipment > tbody > tr td.product .description {
    color: #81705D;
    font-family: "Source Sans Pro";
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 20px; /* 133.333% */
    margin: 10px 0;
}

.Table-Grid-Fourths.Equipment > tbody > tr td.product .description > p:last-child {
    margin-bottom: 0;
}

.Table-Grid-Fourths.Equipment > tbody > tr td.product .Button2.mfg-color {
    border-radius: 8px;
    background: #AA562D;
    border-color: #aa562d !important;
    margin: 0 auto;
    padding: 10px 25px;
    font-weight: normal;
}

.Table-Grid-Fourths.Equipment > tbody > tr td.product .Button2.mfg-color:hover {
    color: #cccccc;
}

body#equipment section.subsection h2, body#equipment-details section.subsection h2 {
    padding: 0;
}

body#equipment section.subsection h2:empty, body#equipment-details section.subsection h2:empty {
    display: none;
}

body#equipment section.subsection a.Button2, body#equipment-details section.subsection a.Button2 {
    background: #AA562D;
}

body#equipment section.subsection a, body#equipment-details section.subsection a {
    border-color: #AA562D !important;
}

body#equipment section.subsection a.Button1, body#equipment-details section.subsection a.Button1 {
    color: #AA562D;
}

body#equipment section.subsection a.Button1:hover, body#equipment-details section.subsection a.Button1:hover,
body#equipment section.subsection a.Button2:hover, body#equipment-details section.subsection a.Button2:hover {
    background: #373737;
    color: white;
}

/* Equipment Details */

body#equipment-details .equipment-categories {
    padding-top: clamp(0px,12.5vw,8em);
}

body#equipment-details .equipment-categories .content {
    padding-top: 3em;
}

body#equipment-details .inner-content.eq-heading {
    max-width: 860px;
    display: flex;
    padding: 30px 10px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
}

body#equipment-details .inner-content.eq-heading h1 {
    color: #5A4E41;
    font-family: "Source Sans Pro";
    font-size: 42px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

body#equipment-details .inner-content.eq-heading .category-icons {
    display: flex;
    justify-content: end;
    gap: 10px;
}

body#equipment-details .inner-content.eq-heading .category-icons span {
    border-radius: 9px;
    background: #AA562D;
    display: flex;
    width: 49px;
    height: 49px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

body#equipment-details .inner-content.eq-heading .category-icons span img {
    width: 25px;
    height: auto;
}

body#equipment-details .eq-details {
    max-width: 860px;

    display: flex;
    padding: 20px 20px 40px 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    align-self: stretch;
    margin-bottom: 50px;
    background-color: #EEEEEE;

}

body#equipment-details .eq-details img {
    width: 100%;
    height: auto;
}

body#equipment-details .eq-details ul li {
    list-style: disc;
    padding-left: 0;
}

body#equipment-details .eq-details ul.wp-block-list {
    margin-left: 0;
}

body#equipment-details .back-button .inner-content {
    max-width: 1220px;
    padding: 10px;
}

body#equipment-details .back-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;

    background: #EEE;
}

body#equipment-details .back-button a {
    color: #5A4E41;
    font-family: "Source Sans Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px; /* 144.444% */
}


body#equipment-details .Equipment-Sub-Heading {
    color: #5A4E41;
    font-family: "Source Sans Pro";
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 117.647% */
}

body#equipment-details .eq-text {
    padding-left: 10px;
}

body#equipment-details .Equipment-Gallery-Heading {
    padding: 40px 10px 0 10px;
    color: #5A4E41;
    font-family: "Source Sans Pro";
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 20px; /* 117.647% */
    border-top: 1px solid #5A4E41;
    width: 100%;
}

body#equipment-details .Equipment-Gallery {
    margin-top: 0;
}

body#equipment-details .Equipment-Gallery tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

body#equipment-details .Equipment-Gallery td {
    padding: 0;
}

body#equipment-details .Equipment-Gallery td  img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

footer.mfg-footer {
    background: #CCC5BE;
    padding: 20px;
}

footer.mfg-footer .inner-content {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    padding: 0;
    flex-wrap: wrap;
}

footer.mfg-footer div#mc_embed_signup {
    background: transparent;
    max-width: 90vw;
}

footer.mfg-footer #mc_embed_signup h2 {
    color: #FFF;
    font-family: "Source Sans Pro";
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

footer.mfg-footer #mc_embed_signup:has( .response:not(:empty) ) h2 {
    visibility: hidden;
}

footer.mfg-footer #mc_embed_signup .indicates-required {
    visibility: hidden;
}

footer.mfg-footer #mc_embed_signup .asterisk {
    display: none;
}

footer.mfg-footer div#mc_embed_signup_scroll {
    display: grid;
    grid-template-columns: 3fr 1fr;
    justify-content: stretch;
}

footer.mfg-footer #mc_embed_signup .mc-field-group {display: grid;padding: 3px 0px 3px 15px;justify-content: center;align-items: center;gap: 0;align-self: stretch;background: #FFF;width: 100%;grid-template-columns: 1fr 3.25fr;border-top-left-radius: 30px;border-bottom-left-radius: 30px;}


footer.mfg-footer #mc_embed_signup .mc-field-group label {
    display: block;
    margin-bottom: 3px;
    color: #AA562D;
    font-family: "Source Sans Pro";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 14px;
    padding: 0;
    margin: 0;
}

footer.mfg-footer #mc_embed_signup #mc-embedded-subscribe-form input {
    border-color: transparent;
    border-radius: 30px;
}

footer.mfg-footer #mc_embed_signup #mc-embedded-subscribe-form input.mce_inline_error {
    border: 2px solid #e85c41;
}

footer.mfg-footer #mc_embed_signup #mc-embedded-subscribe-form div.mce_inline_error {
    position: absolute;
    right: 10px;
    top: 40px;
}

footer.mfg-footer #mc_embed_signup .mc-field-group:after {
    display: none;
}

footer.mfg-footer #mc_embed_signup .clear {
    background: white;
    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 6px;
}

footer.mfg-footer #mc_embed_signup .button {
    margin: 0;
    height: 40px;
    border-radius: 30px;
    background: #5A4E41;
}

footer.mfg-footer #mc_embed_signup div#mce-responses {
    position: absolute;
}

footer.mfg-footer #mc_embed_signup div#mce-responses:has( .response:not(:empty) ) {

    background: #CCC5BE;

    position: absolute;
    display: flex;
    padding: 10px 20px;
    text-align: center;
    justify-content: center;
    width: 100%;
    border-radius: 0;
    margin: 0;
    top: unset;
    bottom: 65px;
    font-family: "Source Sans Pro";
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

footer.mfg-footer #mc_embed_signup div.response {
    padding: 0;
    margin: 0;
}


footer.mfg-footer #mc_embed_signup div.response#mce-success-response {
    color: #AA562D;
}