
.responsive_shown {
    display: block;
}

body {
    min-width: 0;
}

@media screen and (min-width: 1500px) {
    .container.wide-container {
        width: 1470px;
    }
}

@media screen and (min-width : 1200px) {

    .spacer_lg {
        margin-top: 15px;
        margin-bottom: 15px;
    }

    .spacer_top_lg {
        margin-top: 15px;
    }

    .spacer_bottom_lg {
        margin-bottom: 15px;
    }

    .padder_lg {
        padding-left: 15px;
        padding-right: 15px;
    }

    .padder_right_lg {
        padding-right: 15px;
    }

    .padder_left_lg {
        padding-left: 15px;
    }

    .nopadding_lg {
        padding: 0 !important;
    }

    .nopadding_right_lg {
        padding-right: 0 !important;
    }

    .nopadding_left_lg {
        padding-left: 0 !important;
    }

    .push_right_lg {
        float: right;
    }

    .push_left_lg {
        float: left;
    }

    .btn_block_lg,
    .feature_row .btn_block_lg {
        display: block;
        float: none !important;
    }

    a.link_block_lg {
        display: block;
        padding: 8px 0;
        margin-top: 5px;
        border-top: 1px solid #d8d8d8;
        border-bottom: 1px solid #d8d8d8;
        text-decoration: none;
        padding-left: 15px;
        padding-right: 25px;
        position: relative;
    }

        a.link_block_lg:hover {
            background-color: rgba(0,0,0,0.1);
        }

    .grid_blocks > .col-lg-12 {
        float: none;
    }
}

@media screen and (min-width : 992px) {

    .nopadding_md {
        padding: 0 !important;
    }

    .nopadding_right_md {
        padding-right: 0 !important;
    }

    .nopadding_left_md {
        padding-left: 0 !important;
    }

    .push_right_md {
        float: right;
    }

    .push_left_md {
        float: left;
    }
}

@media screen and (min-width : 768px) {

    .nopadding_sm {
        padding: 0 !important;
    }

    .nopadding_right_sm {
        padding-right: 0 !important;
    }

    .nopadding_left_sm {
        padding-left: 0 !important;
    }

    .push_right_sm {
        float: right;
    }

    .push_left_sm {
        float: left;
    }
}

@media screen and (max-width : 0) {

    .nopadding_xs {
        padding: 0 !important;
    }

    .nopadding_right_xs {
        padding-right: 0 !important;
    }

    .nopadding_left_xs {
        padding-left: 0 !important;
    }

    .push_right_xs {
        float: right;
    }

    .push_left_xs {
        float: left;
    }
}

@media screen and (max-width : 1199px) {

    :root {
        --header-logo-width: 200px;
    }

    .navbar#navigation ul.dropdown-menu li.dropdown .sub-menu.hybrid_mega_dropdown {
        width: 400px;
    }

    .hybrid_mega_dropdown .hybrid_title {
        padding-right: 15px;
    }

    .hybrid_mega_dropdown .hybrid_links {
        padding-right: 0px;
    }

    .hybrid_mega_dropdown .hybrid_image,
    .hybrid_mega_dropdown .hybrid_youtube {
        display: none;
    }

    .spacer_md {
        margin-top: 15px;
        margin-bottom: 15px;
    }

    .spacer_top_md {
        margin-top: 15px;
    }

    .spacer_bottom_md {
        margin-bottom: 15px;
    }

    .padder_md {
        padding-left: 15px;
        padding-right: 15px;
    }

    .padder_right_md {
        padding-right: 15px;
    }

    .padder_left_md {
        padding-left: 15px;
    }

    .btn_block_md,
    .feature_row .btn_block_md {
        display: block;
        float: none !important;
    }

    a.link_block_md {
        display: block;
        padding: 8px 0;
        margin-top: 5px;
        border-top: 1px solid #d8d8d8;
        border-bottom: 1px solid #d8d8d8;
        text-decoration: none;
        padding-left: 15px;
        padding-right: 25px;
        position: relative;
    }

        a.link_block_md:hover {
            background-color: rgba(0,0,0,0.1);
        }
}

/* Tablets Landscape and Large Tablets Portrait */
@media screen and (max-width : 1199px) and (min-width : 992px) {

    .grid_blocks > .col-md-12 {
        float: none;
    }

    #back-to-top {
        right: 20px;
        bottom: 20px;
    }
}

@media screen and (max-width : 991px) {

    .navbar#navigation #navigation-content > ul {
        position: relative;
    }

    .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown .sub-menu.hybrid_mega_dropdown {
        width: 100px !important;
        padding-top: 0;
        min-height: 0;
        height: auto;
    }

    .navbar#navigation #navigation-content > ul > li.has_megamenu {
        position: static;
    }

    .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown {
        position: relative !important;
    }

    .navbar#navigation ul.dropdown-menu li.dropdown .sub-menu.hybrid_mega_dropdown {
        width: 523px;
    }

    .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown .sub-menu.hybrid_mega_dropdown .hybrid_title,
    .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown .sub-menu.hybrid_mega_dropdown .hybrid_image {
        display: none;
    }

    .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown .sub-menu.hybrid_mega_dropdown .hybrid_links ul {
        width: 100%;
        margin: 0;
    }

        .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown .sub-menu.hybrid_mega_dropdown .hybrid_links ul li {
            margin: 0;
        }

        .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown .sub-menu.hybrid_mega_dropdown .hybrid_links ul a {
            display: block;
            margin: 0;
            padding: 8px 0;
        }

    .navbar#navigation #navigation-content > ul > li > a {
        font-size: 0.9rem;
    }

    .lower-banner {
        padding: 250px 0 15px;
    }

    .lower_nav {
        margin-bottom: 0px;
    }

    .module_article_image.copy {
        display: block;
    }

    .module_article_image.sidebar {
        display: none;
    }

    .column_widget .displayArea.grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .column_widget .displayArea.flex {
        flex-wrap: wrap;
    }

    .btn_block_sm,
    .feature_row .btn_block_sm {
        display: block;
        float: none !important;
    }

    a.link_block_sm {
        display: block;
        padding: 8px 0;
        margin-top: 5px;
        border-top: 1px solid #d8d8d8;
        border-bottom: 1px solid #d8d8d8;
        text-decoration: none;
        padding-left: 15px;
        padding-right: 25px;
        position: relative;
    }

        a.link_block_sm:hover {
            background-color: rgba(0,0,0,0.1);
        }

    .spacer_sm {
        margin-top: 15px;
        margin-bottom: 15px;
    }

    .spacer_top_sm {
        margin-top: 15px;
    }

    .spacer_bottom_sm {
        margin-bottom: 15px;
    }

    .padder_sm {
        padding-left: 15px;
        padding-right: 15px;
    }

    .padder_right_sm {
        padding-right: 15px;
    }

    .padder_left_sm {
        padding-left: 15px;
    }

    img.alignleft,
    img.alignright {
        display: block;
        float: none;
    }

    .membership_number {
        float: left;
        margin-left: 0px;
    }

        .membership_number + h1 {
            clear: both;
        }
}

/* Tablets Portrait */
@media screen and (max-width : 991px) and (min-width : 768px) {

    .grid_blocks > .col-sm-12 {
        float: none;
    }

    .search-overlay .closebtn {
        right: 20px;
    }

    #back-to-top {
        bottom: 10px;
        right: 10px;
    }
}

/* Mobiles Portrait */
@media screen and (max-width : 767px) {

    body {
        -webkit-text-size-adjust: 100%;
    }

    .btn_block_xs,
    .feature_row .btn_block_xs {
        display: block;
        float: none !important;
    }

    .spacer_xs {
        margin-top: 15px;
        margin-bottom: 15px;
    }

    .spacer_top_xs {
        margin-top: 15px;
    }

    .spacer_bottom_xs {
        margin-bottom: 15px;
    }

    .padder_xs {
        padding-left: 15px;
        padding-right: 15px;
    }

    .padder_right_xs {
        padding-right: 15px;
    }

    .padder_left_xs {
        padding-left: 15px;
    }

    a.link_block_xs {
        display: block;
        clear: both;
        padding: 8px 0px;
        margin-top: 5px;
        text-decoration: none;
        position: relative;
    }

        a.link_block_xs:hover {
            background-color: rgba(0,0,0,0.1);
        }

    img {
        max-width: 100%;
        height: auto !important;
    }

    iframe {
        max-width: 100%;
    }

    table {
        max-width: 100%;
    }

    img.alignright {
        max-width: 45%;
        height: auto !important;
    }

    img.alignleft {
        max-width: 45%;
        height: auto !important;
    }

    img.alignright {
        max-width: 100%;
        float: none;
        margin: 4px auto;
    }

    img.alignleft {
        max-width: 100%;
        float: none;
        margin: 4px auto;
    }

    img.fullwidth {
        max-width: 100%;
        margin: 5px 0;
        height: auto !important;
    }

    img.aligncenter {
        max-width: 100%;
        margin: 5px auto;
        height: auto !important;
    }

    .responsive_hidden {
        display: none;
    }

    .responsive_shown {
        display: block;
    }

    /*-----------------------------------------------------------------------------------------------*/

    #cookie_bar {
        padding-bottom: 7px;
        line-height: 1.5em;
    }

        #cookie_bar .cookie_prompt {
            margin-right: 0px;
            margin-bottom: 7px;
        }

    /*-----------------------------------------------------------------------------------------------*/
    /* HEADER */

    #header {
        position: relative;
    }

        #header-controls {
            padding: 0 90px 0 0;
        }

            #header-controls > .container {
                flex-direction: column-reverse;
            }

                #header-controls .header-controls-col a {
                    display: block;
                }

                #header-controls .header-controls-col a + a {
                    margin: 0;
                }

        #header-main {
            position: unset;
            padding: 0;
        }

            #header .logo img {
                position: absolute;
                bottom: calc(-100px - 15px);
            }

            .navbar-toggle {
                position: absolute;
                top: 15px;
                right: 15px;
            }

    /*-----------------------------------------------------------------------------------------------*/
    /* PRIMARY NAVIGATION */

    .navbar#navigation {
        position: relative;
        top: 0;
        left: 0;
        display: block;
        margin-bottom: 0;
        background-color: transparent;
        border-radius: 0;
    }

        .navbar#navigation #navigation-content {
            padding: 0;
            margin: 0 -15px;
        }

        .navbar#navigation #navigation-content::before {
            display: none;
        }

        .navbar#navigation #navigation-content > ul > li > a {
            text-align: left;
            padding: 15px;
            font-size: 1rem;
        }

        .navbar#navigation #navigation-content > ul > li .glyphicon {
            position: absolute;
            right: 15px;
            top: 50%;
            transform: translate(0, -50%);
            margin-top: -0.5em;
            font-weight: lighter;
        }

        .navbar#navigation #navigation-content > ul > li:hover > a {
            background-color: rgba(0, 0, 0, 0.2);
        }

        .navbar#navigation #navigation-content > ul {
            margin: 0;
            background: var(--purple);
        }

        .navbar#navigation #navigation-content li.dropdown ul.dropdown-menu,
        .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown .sub-menu.hybrid_mega_dropdown {
            position: static !important;
            float: none;
            min-width: 0px;
            width: 100%;
            height: auto;
            border: none;
            -moz-border-radius: 0px;
            -webkit-border-radius: 0px;
            border-radius: 0px;
            padding: 0;
        }


        .navbar#navigation #navigation-content li.dropdown > a {
            position: relative;
            padding-left: 20px;
            padding-right: 20px;
        }

        .navbar#navigation #navigation-content ul.nav > li.dropdown > a {
            padding-left: 15px;
            padding-right: 15px;
            font-weight: normal;
        }

        .navbar#navigation #navigation-content li.dropdown > a .glyphicon-triangle-bottom,
        .navbar#navigation #navigation-content li.dropdown > a .glyphicon-menu-down {
            position: absolute;
            display: inline-block;
            top: 50%;
            right: 20px;
            margin: -6px 0px 0px 0px;
        }

        .navbar#navigation #navigation-content li.dropdown > a {
            font-weight: bold;
        }

            .navbar#navigation #navigation-content li.dropdown > a .glyphicon-chevron-right:before {
                content: "\e258";
            }

        .navbar#navigation #navigation-content ul.dropdown-menu {
            min-height: 0px;
            padding-left: 15px;
            padding-right: 15px;
            background: rgba(61, 79, 89, 1);
        }

        .navbar#navigation #navigation-content > ul > li ul.dropdown-menu > li > a {
            color: #fff !important;
            background: rgba(255, 255, 255, 0.2);
            border-bottom: 1px solid #ccc;
            padding-left: 30px;
            font-weight: normal;
        }

        .navbar#navigation #navigation-content > ul > li ul.dropdown-menu > li {
            border-top: 0 !important;
            padding-top: 0;
        }

        .navbar#navigation #navigation-content ul.dropdown-menu > li.dropdown.mega_dropdown:hover > a,
        .navbar#navigation #navigation-content ul.dropdown-menu > li.dropdown.mega_dropdown.maintain_hover > a {
            background-color: #c8c8c8;
            background-image: linear-gradient(to bottom,#d5d5d5 0,#c8c8c8 100%);
        }

        .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown .sub-menu.hybrid_mega_dropdown .hybrid_links ul a {
            position: relative;
            color: #666 !important;
            padding: 12px 0;
            padding-right: 20px;
            border-top: 1px solid #eee;
        }

        .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown .sub-menu.hybrid_mega_dropdown .hybrid_links ul:first-child li:first-child a {
            border-top: 0;
        }

       .navbar#navigation #navigation-content .sub-menu.hybrid_mega_dropdown {
        position: static;
        visibility: visible !important;
        background: none !important;
        float: none;
        padding-left: 0px;
        min-width: 0px;
        width: auto !important;
        min-height: 0px;
        height: auto;
        border-right: none;
        -moz-border-radius: 0px;
        -webkit-border-radius: 0px;
        border-radius: 0px;
    }

    .navbar a .glyphicon-triangle-right,
    .navbar a .glyphicon-chevron-right {
        position: static;
    }

    .navbar#navigation #navigation-content li.dropdown .mega_dropdown > a .glyphicon-triangle-bottom,
    .navbar#navigation #navigation-content li.dropdown .mega_dropdown > a .glyphicon-menu-down {
        display: none;
    }

    .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown .sub-menu.hybrid_mega_dropdown {
        width: 100% !important;
    }

    .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown .sub-menu {
        visibility: visible;
    }

    .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown:hover .sub-menu,
    .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown.maintain_hover .sub-menu {
        display: block;
    }

    .navbar#navigation #navigation-content ul.dropdown-menu li.dropdown.block_hover .sub-menu {
        display: none;
    }

    .navbar#navigation #navigation-content > ul > li > a:hover,
    .navbar#navigation #navigation-content > ul > li:hover > a,
    .navbar#navigation #navigation-content > ul > li.activated > a,
    .navbar#navigation #navigation-content > ul > li.maintain_hover > a,
    .navbar#navigation #navigation-content > ul > li.active > a {
        border: none;
        background: var(--tertiary);
        color: #fff;
    }

    .navbar#navigation #navigation-content > ul.mega_menu > li {
        max-width: 100%;
    }

    .navbar#navigation #navigation-content li.dropdown ul.dropdown-menu.mega_menu_panel {
        padding: 0;
    }

    .navbar#navigation #navigation-content li.dropdown ul.dropdown-menu.mega_menu_panel > li > a {
        padding: 10px 15px 10px 30px;
        background: rgba(255, 255, 255, 0.25);
        font-size: 1rem;
    }

    .navbar#navigation #navigation-content li.dropdown ul.dropdown-menu.mega_menu_panel ul.mega_menu_sub {
        margin: 0;
    }

    .navbar#navigation #navigation-content li.dropdown ul.dropdown-menu.mega_menu_panel ul.mega_menu_sub > li > a {
        padding: 10px 15px 10px 45px;
    }

    .footer_menu > li {
        display: block;
    }

    .footer_menu > li + li {
        padding: 15px 0 0;
    }

    .grid_blocks > .col-xs-12 {
        float: none;
    }

    /*-----------------------------------------------------------------------------------------------*/

    .intro-section {
        padding: 30px 0;
    }

    .information-section .information-container {
        flex-direction: column;
    }

    .highlights-section .highlights-container {
        flex-direction: column;
        align-items: center;
    }

    /*-----------------------------------------------------------------------------------------------*/

    .lower-banner {
        padding: 150px 0 15px;
    }

        .lower-banner .container h1,
        .lower-banner .container p,
        .lower-banner .container span {
            font-size: 1.8rem;
            line-height: 1.2em;
        }

    .module_listing_image {
        text-align: left;
    }

    .members_nav_blocks {
        grid-template-columns: repeat(2, 1fr);
    }
        .members_nav_blocks a span {
            padding: 0 15px;
            text-align: center;
            line-height: 1.3em;
        }
        /*-----------------------------------------------------------------------------------------------*/
        .calendar_week_labels {
            display: none;
        }

    .calendar_day {
        width: auto;
        float: none;
    }

    .calendar_day_inner {
        height: auto !important;
        min-height: 40px;
    }

    .other_month {
        display: none;
    }

    .calendar_day_number {
        right: auto;
        left: 10px;
    }

    a.calendar_event {
        margin-right: 0;
        margin-left: 27px;
    }

    .column_widget .displayArea.grid {
        grid-template-columns: repeat(1, 1fr);
    }

    /*-----------------------------------------------------------------------------------------------*/

    .page_content .table-wrapper {
        overflow: auto;
    }

        .page_content .table-wrapper table {
            width: auto !important;
            max-width: none;
        }

    table.responsive,
    table.responsive thead,
    table.responsive tfoot,
    table.responsive tbody,
    table.responsive th,
    table.responsive td,
    table.responsive tr {
        display: block;
        width: auto !important;
    }

    table.responsive_transpose,
    table.responsive_transpose thead,
    table.responsive_transpose tfoot,
    table.responsive_transpose tbody,
    table.responsive_transpose th,
    table.responsive_transpose td,
    table.responsive_transpose tr {
        display: block;
        width: auto !important;
    }

        table.responsive_transpose thead tr {
            position: absolute;
            top: -9999px;
            left: -9999px;
        }

        table.responsive_transpose tbody td {
            position: relative;
            white-space: normal;
            text-align: left;
            padding-left: 145px !important;
        }

        table.responsive_transpose tfoot td {
            text-align: left;
        }

        table.responsive_transpose td.row_header {
            padding-left: 5px;
            background: #777;
            color: #fff;
        }

            table.responsive_transpose td.row_header:before {
                display: none;
            }

        table.responsive_transpose tbody td:before {
            position: absolute;
            top: 0px;
            left: 0px;
            padding-top: 8px;
            padding-left: 5px;
            width: 140px;
            height: 100%;
            padding-right: 10px;
            white-space: nowrap;
            text-align: left;
            font-weight: bold;
            -moz-box-sizing: border-box;
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            content: attr(data-title);
        }

    /*-----------------------------------------------------------------------------------------------*/

    #back-to-top {
        right: 20px;
        bottom: 20px;
    }

    /*-----------------------------------------------------------------------------------------------*/

    .profile_pending_notice {
        margin-top: 0px;
    }

    .profile_progress {
        margin-bottom: 40px !important;
    }

    .profile_progress_percent {
        margin-left: 0px;
        left: auto;
        right: 0px;
    }

    .addresses > div:last-child .expandable_body {
        padding-bottom: 0px;
    }

    /*-----------------------------------------------------------------------------------------------*/
    /* FOOTER */

    #footer {
        padding: 30px 0;
        text-align: center;
        font-size: 1rem;
    }

        #footer .footer-container {
            flex-direction: column;
            gap: 0;
        }

            #footer .footer-container .footer-container-col:last-child {
                text-align: center;
            }

        #footer .footer-item {
            display: block;
            padding: 7px 0px;
            text-align: center;
            clear: both;
        }

        #footer .footer-separator {
            display: none;
        }
}

/*-----------------------------------------------------------------------------------------------*/
