/*
Theme Name: Katahdin Theme
Author: Pannos Marketing
Description: A Wordpress conversion of Katahdin's existing site theme.
Version: 0.0.91
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;
}