/*
 Theme Name:  Patriot Theme
 Description:  Child Theme for Divi
 Template:     Divi
 Version:      1.0.1
*/

#logo {-webkit-transform: initial;}

.gform input[type=radio],
.gform input[type=checkbox] {
    width: auto;
}

.full-width-btn {
    width: 100%;
    text-align: center;
}

.vertical-align {
    display:flex;
    flex-direction: column;
    justify-content: center;
}


.et_pb_text ul, .et_pb_text ol, .et_pb_tab ul, .et_pb_tab ol, .et_pb_toggle ul, .et_pb_toggle ol {
 list-style-position: outside;
}

.et_pb_text_inner ol li,
.et_pb_text_inner ul li {
    margin: 0px 0px 0px 30px;
    padding-left: 10px;
}

.et_pb_text_inner ol li {
    margin-bottom: 10px;
}

.et_pb_text_inner ol,
.et_pb_text_inner ul {
    margin: 20px 0px 0px 0px;
}

.et_pb_text_inner a {
    text-decoration: underline;
}

.et_pb_text_inner a:hover {
    opacity: 0.7;
}

body.single-post
div.custom-post-header {
        display: none;
}

.inline-images .et_pb_image {
        display: inline-block !important;
        margin: 0px 10px !important;
}
.inline-images {
        text-align: center !important;
}

.inline-images .et_pb_image img {
    max-height: 200px;
    width: auto;
}

.inline-buttons  {
    text-align: center;
}

.inline-buttons .et_pb_button_module_wrapper {
    display: inline-block;
    margin: 0px 5px;
}

@media all and (max-width: 980px) {

    .custom-row {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    }

    .first-on-mobile {
    -webkit-order: 1;
    order: 1;
    }

    .second-on-mobile {
    -webkit-order: 2;
    order: 2;
    }

    .third-on-mobile {
    -webkit-order: 3;
    order: 3;
    }

}

@media (max-width: 980px) {

    .footer-menu .et_pb_menu__menu {
        display: flex!important;
    }

    .footer-menu .et_mobile_nav_menu {
        display: none!important;
    }
}

/*change hamburger icon to x when mobile menu is open*/
#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before,
.et_pb_module.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
    content: '\4d';
}
/*adjust the new toggle element which is added via jQuery*/
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
    width: 44px;
    height: 100%;
    padding: 0px !important;
    max-height: 44px;
    border: none;
    position: absolute;
    right: 0px;
    top: 0px;
    z-index: 999;
    background-color: transparent;
}
/*some code to keep everyting positioned properly*/
ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
    position: relative;
}
/*remove default background color from menu items that have children*/
.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
    background-color: transparent;
}
/*hide the submenu by default*/
ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
    display: none !important;
    visibility: hidden !important;
}
/*show the submenu when toggled open*/
ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
    display: block !important;
    visibility: visible !important;
}
/*adjust the toggle icon position and transparency*/
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
    text-align: center;
    opacity: 1;
}
/*submenu toggle icon when closed*/
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
    top: 10px;
    position: relative;
    font-family: "ETModules";
    content: '\33';
    border-radius: 50%;
    padding: 3px;
}
/*submenu toggle icon when open*/
ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
    content: '\32';
}
/*add point on top of the menu submenu dropdown*/
.et_pb_menu_0.et_pb_menu .et_mobile_menu:after {
    position: absolute;
    right: 5%;
    margin-left: -20px;
    top: -14px;
    width: 0;
    height: 0;
    content: '';
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-bottom: 20px solid #ffffff;
}
/*adjust the position of the hamburger menu*/
.mobile_menu_bar {
    position: relative;
    display: block;
    bottom: 10px;
    line-height: 0;
}



/* long survey layouts */
div.long-form-survey {
    color: #000;
    font-family: Montserrat;
    font-size: 14px !important;
    font-weight: 400;
}

div.long-form-survey
legend {
    font-weight: 400 !important;
    font-size: 14px !important;
}

div.long-form-survey
input[type=submit] {
    border: 0px !important;
    border-radius: 0px !important;
    color: #fff !important;
}

div.long-form-survey
input:hover {
    cursor:pointer;
}

div.long-form-survey
fieldset.gfield--type-radio legend {
    text-indent: -13px !important;
    margin-left: 12px;
    line-height: 1.3em;
}

div.long-form-survey
fieldset.gfield--type-radio
div.gfield_radio {
    margin-left: 12px !important;
}

fieldset.confirmation label {
    font-size: 13px !important;
    line-height: 1.3em;
    margin-left: 5px;
}

div.survey-footer-menu div.et_pb_menu__menu {
    display:block !important;
}
div.survey-footer-menu div.et_mobile_nav_menu {
    display:none !important;
}

@media only screen and (max-width: 879px) {
    div.long-form-survey
    fieldset.gfield--type-radio legend.gform-field-label {
        font-size: 18px !important;
    }
    div.long-form-survey
    input[type=radio] {
        scale: 1.2 !important;
    }
    input[type=checkbox] {
        scale: 1.2 !important;
    }
    div.long-form-survey
    fieldset.gfield--type-radio
    label {
        font-size: 18px !important;
    }
}
/* end of long survey layouts */

/* Petition details */
body.single-petition input.gform_button {
    background-color: #A51232 !Important;
}

body.single-petition input.gform_button:hover {
    background-color: rgb((165,18,50,80) !Important;
}

div.petition-footer-menu div.et_pb_menu__menu {
    display:block !important;
}

div.petition-footer-menu div.et_mobile_nav_menu {
    display:none !important;
}

body.single-petition
.gform-field-label {
    color: #fff!important;
}
/* end of Petition Details */

/* menu styling */
div.top-menu div.et_pb_column {
    display:grid;
    align-items: center;
    padding: 10px 0px;
}

div#desktop-main
ul.sub-menu li:hover,
div#mobile-main
ul.sub-menu li:hover {
    background-color: #333 !Important;
}

div#desktop-main
    ul.sub-menu li:hover > a,
div#desktop-main
    ul.sub-menu li > a:hover {
    text-decoration: none;
    color: #fff;
    opacity: 1.0 !important;
}

div#desktop-main li {
    margin: 0px 3px;
    padding-left: 0px;
    padding-right: 0px;
}

div#desktop-main ul.sub-menu li {
    padding-bottom: 10px;
    padding-left: 10px;
}

div#desktop-main li a {
    padding: 10px 10px 0px 10px;
}

div#desktop-main li.menu-item-has-children>a {
    padding: 10px 20px 0px 10px;
}

div#desktop-main li.menu-item-has-children>a:first-child:after {
        right: 5px !important;
        top: 10px !important;
}

div#desktop-main li:hover > a,
div#desktop-main li > a:hover {
    background-color: #333;
    border-radius: 3px;
    color: #fff;
    opacity: 1.0 !important;
}

div#desktop-main ul.sub-menu li {
    line-height: 1.3em;
}

div#desktop-main ul.sub-menu li:hover {
    background-color: #333;
    display:block;
}

div#desktop-main ul.sub-menu
    li:hover > a,
div#desktop-main ul.sub-menu
    li > a:hover {
    background-color: none;
}

.red {
    background-color: #eb1d26;
}

.blue {
    background-color: #00649d;
}

.green {
    background-color: #40c53a;
}

.red, .blue, .green {
    border-radius: 3px;
}

.red:hover, .blue:hover,
.green:hover {
    background-color:
        rgba(255,255,255,0.9);
}

div#desktop-main li.red:hover > a,
div#desktop-main li.red > a:hover,
div#mobile-main li.red:hover > a,
div#mobile-main li.red > a:hover {
    text-decoration: none;
    color: #eb1d26 !important;
    background-color:transparent;
    opacity: 1.0;
}

div#desktop-main li.blue:hover > a,
div#desktop-main li.blue > a:hover,
div#mobile-main li.blue:hover > a,
div#mobile-main li.blue > a:hover {
    text-decoration: none;
    color: #00649d !important;
    background-color:transparent;
    opacity: 1.0;
}

div#desktop-main li.green:hover>  a,
div#desktop-main li.green > a:hover,
div#mobile-main li.green:hover>  a,
div#mobile-main li.green > a:hover{
    text-decoration: none;
    color: #40c53a !important;
    background-color: transparent;
    opacity: 1.0;
}

.et-social-houzz a.icon:before {
content: url(//web.dorrdb.com/wp-content/uploads/2025/08/rumble-icon_47.png);
}



@media all and (min-width: 1405px) {
    div.top-menu div.et_pb_column {
        grid-template-columns:
            300px auto !important;
    }
}

@media all and (min-width: 1100px) and (max-width: 1405px) {
    div.top-menu div.et_pb_column {
        grid-template-columns:
            250px auto !important;
    }

}

@media all and (min-width: 981px) {
 .red {
        padding: 0px 10px 10px 5px;
    }

    .blue {
        padding: 0px 10px 10px 5px;
    }

    .green {
        padding: 0px 10px 10px 5px;
    }

    #gform_submit_button_2 {
        position:relative;
        top: -3px;
    }
}

@media all and (max-width: 980px) {
    .red {
        margin-right: 30px;
        margin-bottom: 8px;
    }

    .blue {
        margin-right: 30px;
        margin-bottom: 8px;
    }

    .green {
        margin-right: 30px;
        margin-bottom: 8px;
    }

}

@media all and (min-width: 768px) and (max-width: 980px) {
    div.top-menu div.et_pb_column {
        grid-template-columns:
            200px auto !important;
    }

}


.gform_wrapper.gravity-theme .field_description_below .gfield_consent_description, .gform_wrapper.gravity-theme .gfield_consent_description {
        overflow-y: visible !Important;
        border: none !Important;
}

#gform_submit_button_2 {
    padding-right: 3px !important;
    padding-left: 3px !important;
}

/* video settings */
div.aiovg-player-container,
img.aiovg-responsive-element,
div.mfp-content {
    border: 1px solid #5f5f5f;
}


div.mfp-bottom-bar {
    background-color: #026692 !important;
    padding: 10px !important;
}

div.aiovg-title a {
    color :#fff !important;
}

h2.mfp-title,
h2.aiovg-player-title {
    font-family: 'Hepta Slab', Georgia, "Times New Roman", serif;
    color: #fff;
    font-size: 16px !important;
    line-height: 1.4em;
}

h2.mfp-title {
    padding-bottom: 0px;
    margin-bottom: 0px !important;
}

div.aiovg-content-after-player,
div.mfp-description {
    display:none;
}

/* timeline */

.timeline-row.active:before {
        transform: scale(1);
        background: #ed1c29;
}

.timeline {
        position: relative;
        padding: 45px 0;
}

.timeline:before {
        content: '';
        display: block;
        position: absolute;
        left: 50%;
        top: 0;
        width: 0;
        height: 100%;
        border-left: 1px solid #cacaca;
}

.bound-layout {
        position: relative;
        margin: 0 auto;
        width: 100%;
        height: 100%;
        width: calc(100% - 60px);
        max-width: 1080px;
}

.bound-layout:after, .bound-layout:before {
        content: "";
        display: table;
}

.timeline h2 {
    font-family: "Oswald", sans-serif !important;
    letter-spacing: -0.03em;
    font-weight: 800 !important;
    line-height: 1.2em;
    text-wrap: balance;
}

.timeline-row.reverse {
        flex-direction: row-reverse;
}

.timeline-row {
        display: flex;
        justify-content: space-between;
        position: relative;
        margin-bottom: 120px;
}

.timeline-row:before {
        content: '';
        display: block;
        position: absolute;
        top: 10px;
        left: calc(50% - 13px);
        width: 26px;
        height: 26px;
        border-radius: 13px;
        border: 1px solid #cacaca;
        background: #f7f7f7;
        transform: scale(0);
        -webkit-transition: all 200ms cubic-bezier(.345,.6,.87,1.65);
        -moz-transition: all 200ms cubic-bezier(.345,.6,.87,1.65);
        -o-transition: all 200ms cubic-bezier(.345,.6,.87,1.65);
        transition: all 200ms cubic-bezier(.345,.6,.87,1.65);
        -webkit-transition-timing-function: cubic-bezier(.345,.6,.87,1.65);
        -moz-transition-timing-function: cubic-bezier(.345,.6,.87,1.65);
        -o-transition-timing-function: cubic-bezier(.345,.6,.87,1.65);
        transition-timing-function: cubic-bezier(.345,.6,.87,1.65);
}

.timeline-row>* {
        flex-basis: 43%;
}

.timeline .content {
        font-size: 18px;
}
.timeline .timeline-row>* {
        flex-basis: 43%;
}

.timeline-row span.year {
    color: #ed1c29;
}

@media (max-width: 1200px) {
    .bound-layout {
        width: calc(100% - 40px);
    }
}

@media (max-width: 600px) {
    .timeline:before {
        left:0px !Important;
    }

    .timeline h2 {
        font-size: 1.5em !important;
        margin-top: 10px;
    }

    .timeline-row {
        display: block;
        margin-bottom: 60px;
        padding-left: 20px !Important;
    }

    .timeline-row:before {
        left: -33px !important;
    }

    .timeline-row .content {
        font-size: 1em !important;
    }

    .timeline-row .image {
        margin-bottom: 35px;

    }
}

/* groups */
div.affiliated-groups {
    display:flex;
    flex-wrap: wrap;
}

div.affiliated-groups div.group-item {
    padding: 0px 20px 10px;
    width: 220px;
    border: 1px solid #efefef;
    border-radius: 5px;
    margin: 10px;
    background-color: rgba(0,0,0,0.01);
}

div.affiliated-groups h3 {
    font-size: 16px;
    font-family: "Hepta Slab",
        Georgia, "Times New Roman", serif;
    letter-spacing: -0.03em;
    font-weight: 700 !important;
    line-height: 1.2em;
    text-wrap: balance;
    text-align:center;
}