
.responsive_shown {
    display: block;
}

body {
    min-width: 0;
}

@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) {

    .navbar#navigation #navigation-content > ul > li > a {
        padding: 15px 12px 10px 12px;
        font-size: 12px;
    }

    .navbar#navigation #navigation-content ul.dropdown-menu > li > a {
        font-size: 0.9em;
    }

    .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;
    }

    .block {
        font-size: 0.8em;
        height: 230px;
    }

    .block .block_link {
        top: 230px;
    }

    .lower_banner {
        height: 280px;
    }

    .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;
    }

    #header .logo img {
        max-height: 80px;
        margin-bottom: 0;
    }
}

@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.9em;
    }

    #header .logo img {
        max-height: 80px;
        margin-bottom: 0;
    }

    .lower_banner {
        height: 280px;
    }

    .lower_nav {
        margin-bottom: 0px;
    }

    .module_article_image.copy {
        display: block;
    }

    .module_article_image.sidebar {
        display: none;
    }

    .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;
    }
}

/* Tablets Portrait */
@media screen and (max-width : 991px) and (min-width : 768px) {

    .navbar#navigation #navigation-content > ul > li > a {
        font-size: 0.55em;
        padding: 15px 9px 10px;
    }

    .block {
        font-size: 0.75em;
        height: 290px;
    }

    .block .block_link {
        top: 290px;
    }
    
    .grid_blocks > .col-sm-12 {
        float: none;
    }

    .search-overlay .closebtn {
        right: 20px;
    }

        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 {
        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: 15px 0;
        border-top: 1px solid #d8d8d8;
        border-bottom: 1px solid #d8d8d8;
        text-decoration: none;
        padding-left: 15px;
        padding-right: 25px;
        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;
    }

    h4 {
        font-size: 16px;
    }

    a.members_side_menu_parent {
        margin-bottom: -15px;
    }

    /*-----------------------------------------------------------------------------------------------*/

    #cookieModal.modal .modal-dialog {
        width: 90%;
    }

    #cookieModal.modal .properties {
        margin: 0 0 15px;
    }

    #cookieModal.modal .properties span {
        display: block;
        float: none !important;
    }

    #cookieModal.modal .cookie_btn {
        font-size: 0.9em;
        display: block;
        margin: 0 0 15px;
    }

    #cookieModal.modal .cookie_btn + .cookie_btn {
        margin: 0;
    }

    /*-----------------------------------------------------------------------------------------------*/
    /* HEADER */

    #header {
        position: relative;
        background-image: none;
        background-color: #222a5e;
        padding-bottom: 5px;
    }

    #header .logo {
        float: unset;
        text-align: center;
    }

    #header img {
        max-width: 100%;
        max-height: 70px !important;
    }

    #header .header-actions {
        float: left;
        width: 100%;
        text-align: center;
    }

    #header .header-actions .open-search {
        border: none;
    }

    /*-----------------------------------------------------------------------------------------------*/
    /* PRIMARY NAVIGATION */

    .nav_container {
        padding-top: 0;
    }

    .navbar#navigation {
        position: relative;
        background: none;
        margin-bottom: 0;
        border-bottom: 0;
        z-index: 99;
    }

    .navbar#navigation .navbar-header {
        margin: 0;
        background: none;
    }

    .navbar#navigation .navbar-toggle {
        border: none;
        margin-left: 0px;
        margin-right: -15px;
    }

    .navbar#navigation .navbar-collapse#navigation-content {
        /*position: absolute;
        top: 48px;
        right: 0;
        width: 100vw;
        max-width: 100vw;*/
        padding: 0;
        margin: 0;
    }

    .navbar#navigation #navigation-content > ul > li > a {
        text-align: left;
        padding-left: 15px;
        color: #000;
    }

    .navbar#navigation #navigation-content > ul > li .glyphicon {
        position: absolute;
        right: 20px;
        top: 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;
            display: unset !important;
        }

    .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: #000 !important;
        background: rgb(240, 240, 240);
        border-bottom: 1px solid #ccc;
        padding-left: 30px;
        font-weight: normal;
    }

    .navbar#navigation #navigation-content ul.dropdown-menu > li > a:focus,
    .navbar#navigation #navigation-content ul.dropdown-menu > li.active > a {
        background: #cccccc;
    }

    .navbar#navigation #navigation-content > ul > li ul.dropdown-menu > li {
        border-top: 0 !important;
        padding-top: 0;
    }

    .navbar#navigation #navigation-content > ul > li ul.dropdown-menu > li > .dropdown-menu.sub-menu > li > a {
        padding-left: 50px;
    }

    .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.active > a {
        background: rgba(0, 0, 0, 0.2);
        border-bottom: 5px solid #fd973c;
    }

    .side_menu, .side_menu ul {
        margin: 15px 0;
    }

    /*-----------------------------------------------------------------------------------------------*/

    .grid_blocks > .col-xs-12 {
        float: none;
    }

    .lower_banner {
        height: 150px;
    }

    .lower_banner .container h1,
    .lower_banner .container p,
    .lower_banner .container span {
        font-size: 1.7em;
        line-height: 1.2em;
    }

    .module_listing_image {
        text-align: left;
    }

    /*-----------------------------------------------------------------------------------------------*/

    /*.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;
    }*/

    /*-----------------------------------------------------------------------------------------------*/

    .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;
    }

    .membership_number {
        float: left;
        margin-left: 0px;
    }

    .addresses > div:last-child .expandable_body {
        padding-bottom: 0px;
    }

    /*-----------------------------------------------------------------------------------------------*/
    /* FOOTER */

    #footer {
        padding-top: 2em;
        padding-bottom: 2em;
        margin-top: 30px;
        text-align: center;
        font-size: 13px;
        border-top: 1px solid #26337b;
    }

    #footer .footer_item {
        display: block;
        padding: 4px 0px;
        text-align: center;
        clear: both;
    }

    #footer .footer_separator {
        display: none;
    }

    #footer .social {
        text-align: center;
    }

    /* ---------- Study Days ------------ */

    .study-day-image .container {
        display: flex;
        justify-content: center;
    }

    .study-day-title-container {
        width: unset;
    }

    .study-day-event-date {
        padding-left: 0 !important;
        margin-top: .5em;
    }

    .study-day-countdown {
        margin-left: 0;
        margin-top: 1em;
    }

    .study-day-link-image:first-child, .study-day-link-image:nth-child(2), .study-day-link-image:last-child {
        padding: 0 !important;
        margin-bottom: .5em;
    }

    .study-aside {
        display: block;
        padding-left: 0 !important;
        margin-top: 1em;
    }

    /* ---------- Virtual Educational Series / Annual Symposium ------------ */

    .educational-image .container,
    .annual-symposium-image .container {
        display: flex;
        justify-content: center;
    }

    .educational-title-container,
    .annual-symposium-title-container {
        width: unset;
    }

    .educational-event-date,
    .annual-symposium-event-date {
        padding-left: 0 !important;
        margin-top: .5em;
    }

    /*.educational-link-image:first-child,
    .annual-symposium-link-image:first-child,
    .educational-link-image:nth-child(2),
    .annual-symposium-link-image:nth-child(2),
    .educational-link-image:last-child,
    .annual-symposium-link-image:last-child {
        padding: 0 !important;
        margin-bottom: .5em;
    }*/

    .educational-aside,
    .annual-symposium-aside {
        display: block;
        padding-left: 0 !important;
        margin-top: 1em;
    }
}

/*-----------------------------------------------------------------------------------------------*/
