/***********/
/* Desktop */
/***********/
@media only screen and (max-width: 1366px) {

    /* VARS */
    :root {
         --content-padding:60px;
         --header-height: 112px;
    }

    /**********/
    /* Header */
    /**********/

    #main-menu .menu-desktop >li.mainmenu_item >a, 
    #main-menu .menu-desktop >li.has_submenu >button, 
    #main-menu .menu-desktop >li.mainmenu_button a {
        font-size:16px;
        font-size:1rem;
        padding: 0;
    }
    #menu-quickaccess li a, 
    #menu-quickaccess li button {
        font-size:13px;
        font-size:0.81rem;
    }
    #main-menu .menu-desktop {        gap: 16px;    }
    #main-menu .menu-desktop >li.mainmenu_button.button a {        padding: 16px;    }
    #main-menu .menu-desktop li.mainmenu_item.menu_CTA {        margin: 0;    }
    #main-menu .menu-desktop li.mainmenu_item {        margin-bottom: 0;    }
    #main-menu .mainmenu_home >a img {        max-height: 58px;    }

    ul#menu-quickaccess {
        padding-right: 145px;
        padding-top: 21px;
        gap: 25px;
    }
        
    
    /**********/
    /* Footer */
    /**********/
    .footer_row {
        gap:26px;
    }
}

/* ============================================ */
/*          BB "LARGE" DESKTOP, only            */
/* ============================================ */

@media only screen and (min-width: 992px) and (max-width: 1366px) {
    #main-menu .sub-menu[data-depth='0'], 
    .top-bar-nav .sub-menu[data-depth='0'] {
        padding-bottom: 26px;
    }
    .search_inner {
        padding: 8px 72px 38px;
    }
}



/**********/
/* Tablet */
/**********/
@media only screen and (max-width: 992px) {

    /* VARS */
    :root {
        --header-height: 104px;
        --content-padding:36px;
    }

    header.fl-page-header .header_inner {
        height: var(--header-height);
        padding: 0 var(--content-padding);
        max-width: 1366px;
        margin: auto;
    }

    #main-menu #menu-main-mobile {
        display: none;
        position: fixed;
        top: unset;
        left: 0;
        background: var(--patch-reef-blue);
        width: 100%;
        height: calc(100% - var(--header-height));
        margin: 0;
        padding: 26px var(--content-padding) 44px;
        list-style: none;
        overflow: auto;
    }
    #main-menu #menu-main-desktop {display:none}

    header.fl-page-header .header_inner {
         padding: 20px var(--content-padding);
    }

    .mobile_menu_open .fl-page-header {
        background: var(--patch-reef-blue);
    } 

    #main-menu .mainmenu_home >a img {
        max-height: 63px;
    }


    #menu-mobile-primary {
        display: flex;
        list-style: none;
        justify-content: space-between;
        padding:0;
        align-items: center;
        gap:24px;
    }
    #menu-mobile-primary li a {background:initial}
    #menu-mobile-primary .mainmenu_home {        margin-right:auto;    }

    #menu-mobile-primary .mobile_menu_give  {
        padding: 16px;
        background: var(--sandbar-blue, #C8EFE8);
        color: var(--patch-reef-blue, #025C6E);
        font-family: var(--font-primary);
        font-weight: 700;
        font-size: 18px;
        font-size: 1.13rem;
        line-height: 28px;
        line-height: 1.75rem;
        border-radius: 6px;
        transition: all .25s ease;
        border:0;
    }
    #menu-mobile-primary a {
        color: var(--Sandbar-Blue, #C8EFE8);
        font-size: 13px;
        font-size: 0.81rem;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }

    #menu-mobile-primary .menu-mobile-visitor,
    #menu-mobile-primary .menu-mobile-contact,
    #menu-mobile-primary .menu-mobile-give {
        transition:all .25s ease;
    }

    .mobile_menu_open #menu-mobile-primary .menu-mobile-visitor,
    .mobile_menu_open #menu-mobile-primary .menu-mobile-contact,
    .mobile_menu_open #menu-mobile-primary .menu-mobile-give {
        opacity:0;
    }

    #menu-main-mobile >li:has(.menu_mobile_search_form_wrapper){padding: 0 0 6px;}
    #menu-main-mobile >li {padding:10px 0;}
    #menu-main-mobile >li >button,
    #menu-main-mobile >li >a {
        color: var(--white, #FFF);
        font-size: 30px;
        font-size: 1.88rem;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        border: 0;
        background: transparent;
        width: 100%;
        text-align: left;
        padding: 0;
        border-radius: 0;
        /* centres icon */
        align-items: center;
        display: inline-flex;
        justify-content: space-between;
    }

    #menu-main-mobile >li.menu_CTA {margin:0 0 10px;}
    #menu-main-mobile >li.menu_CTA >a {
        padding: 16px;
        background: var(--sandbar-blue, #C8EFE8);
        color: var(--patch-reef-blue, #025C6E);
        font-family: var(--font-primary);
        font-weight: 700;
        font-size: 18px;
        font-size: 1.13rem;
        line-height: 28px;
        line-height: 1.75rem;
        border-radius: 6px;
        transition: all .25s ease;
        border: 0;
        display: block;
        text-align: center;

    }

    #menu-main-mobile >li >button:after {
        content: "\f107";
        display: inline-block;
        font-family: "Font Awesome 5 Pro";
        font-size: 28px;
        line-height: 1em;
        font-weight: 400;
        transition: all .25s ease;
        color: var(--sandbar-blue);
        float: right;
        /* margin-right: 18px; */
    }
    #menu-main-mobile >li >button[aria-expanded="true"]:after {
        transform: rotate(180deg);
    }

    #menu-mobile-primary .mobile_menu_toggle {
        background: transparent;
        border: 0;
        font-size: 0;
        position: relative;
        right: 0;
        top: -6px;
        padding: 0;
        margin-left: -8px;
    }

    #menu-mobile-primary .mobile_menu_toggle:after {
        content:"";
        background:url(/wp-content/uploads/himb_hamb_open.svg) center right / contain no-repeat;
        width:51px;
        height:35px;
        display:inline-block;    
        position: relative;
        top: 9px;
        transition:all .25s ease;
    }
    #menu-mobile-primary .mobile_menu_toggle[aria-pressed="true"]:after {
        background:url(/wp-content/uploads/himb_hamb_close.svg) center right / contain no-repeat;
        width:35px;
        height:35px;
        transform: rotate(180deg) translateX(-8px);
    }

    #menu-main-mobile .mobile_quicklinks h3 {display:none}
    #menu-main-mobile .mobile_quicklinks .sub-menu[data-depth='0'] { 
        display: flex;
        padding: 10px 0;
        justify-content: space-between;
        border-top: 1px solid var(--white);
        border-bottom: 1px solid var(--white);
    }
    #menu-main-mobile .mobile_quicklinks .sub-menu[data-depth='0'] a { 
        font-size: 19px;
        font-size: 1.19rem;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
    }
    #main-menu .sub-menu .mainmenu_item {
        min-width: initial;
    }

    #main-menu ul.menu-desktop {
        background:var(--white);
        padding-left: var(--content-padding);
        padding-right: var(--content-padding);
        top: 60px;
    }
    #main-menu ul.menu-desktop li {
        text-align:center !important;
    }
    #main-menu .menu-desktop .mainmenu_home {display:none}
    
    #main-menu ul.menu-desktop li.has_submenu >button,
    #main-menu ul.menu-desktop li.mainmenu_item a{
        font-size: 20px;
        font-size: 1rem;
        line-height: 22px;
        line-height: 1.1rem;
        font-weight:bolder;
        width: 100%;
        border-radius: 0;
        color: var(--mgff-green);
        text-align: left;
        padding: 12px 0;
        display: block;
        margin: 0 !important;
        float: left;
    }
    #main-menu .sub-menu .mainmenu_item h3,
    #main-menu ul.menu-desktop .sub-menu li.mainmenu_item a{
        color:var(--mgff-green);
        font-weight: 400;
        font-size:16px;
        font-size:0.8rem;
        line-height:26px;
        line-height:1.3rem;
        font-weight:normal;
        margin-left: 18px !important;
    }
    #main-menu .sub-menu .mainmenu_item h3{
        margin-left: 0px !important;
        padding-bottom:0!important;
    }
    #main-menu .menu-desktop >li.has_submenu >button{
        max-width: unset;
    }
    
    #main-menu ul.menu-desktop li.has_submenu >button:after,
    #main-menu ul.menu-desktop li.has_submenu >button:hover:after {
        display:none;
    }
    #main-menu .sub-menu[data-depth='0'] li.mainmenu_item a,
    #main-menu .sub-menu[data-depth='1'] li.mainmenu_item a{ 
        padding:6px 0;
        color: var(--Sandbar-Blue,#C8EFE8);
        font-size: 19px;
        font-size: 1.19rem;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        background:initial;
        text-wrap: wrap; /* So long menu items don't expand off screen on iPhone */
    }

    #main-menu .sub-menu[data-depth='0'] >li,
    #main-menu .sub-menu[data-depth='1'] >li {
        margin:10px 0;

    }
    #main-menu .sub-menu[data-depth='0'] {
        border-radius: 0;
        box-shadow: none;
        position: static;
        transform: none;
        width: 100%;
        margin-top: 0px;
        margin-left: auto;
        margin-right: auto;
        padding: 0px 0 10px;
        transition:initial;
        background-color: transparent;
    }
    #main-menu .one_column .sub-menu[data-depth='0']{
        width: unset;
    }
    #main-menu .sub-menu[data-depth='0']:before, 
    .top-bar-nav .sub-menu[data-depth='0']:before{
        display: none;
    }
    #main-menu .has_submenu >button[aria-expanded="false"] ~ .sub-menu[data-depth='0'] {
        margin-top: 0;
        padding:0;
    }

    #main-menu .sub-menu .mainmenu_item a:hover{
        color:var(--mgff-green);
    }

    #main-menu .has_submenu >button[aria-expanded="false"] ~ .sub-menu[data-depth='0'] {
        visibility: visible;
        opacity: 1;
        transform: initial;
        display:none;
        transition:initial;
        padding: 0px 0 10px;
    }



    #main-menu .menu-desktop >li.has_submenu >button:before {    
        right: 0px; 
        transform-origin: 5px 9px;
        text-align: right;
        left:unset;
    }

       
    #main-menu .mainmenu_cont {        padding: 0;    }
    #main-menu .smib_desc {        margin: 0; padding: 0 0 20px;}
    #main-menu .sub-menu[data-depth='0'] >.mainmenu_item >h3 {         
        position: relative;
        top: 0px;
        padding: 8px 0px 8px;
        color: var(--white);
        font-size: 22px;
        font-size: 1.38rem;
        line-height: 26px;
        line-height: 1.63rem;
        font-weight: bold;
        margin-top: 20px;
        white-space: break-spaces;
    }
    
    #main-menu #mega-menu .sub-menu[data-depth='0'] >.mainmenu_item {
        padding: 22px 0;
    }

    .menu_mobile_search_form_wrapper {
        display: flex;
    }
    .menu_mobile_search_form_wrapper #searchform_mobile {width:100%;}
    .menu_mobile_search_form_wrapper #searchform_mobile input[type=text].search_input {
        border: 0;
        border-radius: 8px;
        color: var(--patch-reef-blue);
        font-size: 18px;
        font-size: 1.13rem;
        line-height: 29px; /* 161.111% */
        line-height: 1.81rem; /* 161.111% */
        padding: 9px 16px;
        width: 100%;
    }
    .menu_mobile_search_form_wrapper #searchform_mobile input[type=text].search_input::placeholder {
        color: var(--patch-reef-blue);
    } 

    .menu_mobile_search_form_wrapper  button.search_button {
        border: 0;
        border-radius: 8px;
        background: var(--sandbar-blue);
        color: var(--patch-reef-blue);
        font-size: 18px;
        font-weight: 700;
        padding: 0 32px;
        margin-left: 16px;
    }

    


    .submenu_infobox {        padding: 20px;    }


    #main-menu .mainmenu_icon {
        display: block;
        width: 100%;
        height: 55px;
        border:0;
        border-bottom: 1px solid #ddd;

    }

    #main-menu .menu-desktop .mainmenu_home {
        display:none;
    }
    
    #main-menu .menu-mobile-header .mainmenu_home >a:before {
        width: 40vw;
        height: 37px;
        position: absolute;
        transform: translateX(-20vw);
    }

    #main-menu .menu-mobile-header {
        grid-template-columns: 25vw 53vw 17vw;
    }


    #main-menu .menu-desktop >li.has_submenu >button:before {
        position: absolute;
    }
    #main-menu .menu-desktop >li.has_submenu >button {
        transform: translateX(0);
    }

    

    #main-menu .menu-desktop li.mainmenu_item {
        height:initial;
        padding-top:0px;
        padding-bottom:0px;
    }
    /* #main-menu .has_submenu >button[aria-expanded="false"] ~ .sub-menu[data-depth='0'] { */
    #main-menu #menu-mega-menu .sub-menu[data-depth='0'] {
        visibility: visible;
        opacity: 1;
        transform: initial;
        transition: initial;
    }


    #main-menu #menu-mega-menu .sub-menu[data-depth='0'] {
            padding-top: 22px;
        padding-bottom: 22px;
        padding-left: 10px;
        padding-right: 10px;
        top: 0;
            display: none;
    }
    #main-menu #menu-mega-menu .sub-menu[data-depth='0'] {
        padding-top:0 ;
        padding-bottom: 0;
        margin: 0;
    }
    #main-menu .menu-desktop >li.has_submenu >button[aria-expanded="true"] {
       color: var(--mgff-green);
    }
    .mega_image {display:none}
    
    
 
    
    


    body.mobile_menu_open  {overflow:hidden}


    /* Quick access top bar */


    ul#menu-quickaccess {
        display: none;
    }



    /* Search Box */

    .searchbox, .joinusbox { display: none; top: 67px; }
    .search_inner {        padding: 16px 18px;    }
    .search_form_wrapper >img {     width: 20px;}
    .search_form_wrapper .search_button {
        font-size: 12.6px;
        font-size: 0.7rem;
        width: 80px;
        padding: 17px 0;
    }
    #searchform input[type=text].search_input {
        font-size: 18px;
        font-size: 1rem;
        width: 95%;
    }    
    .search_close {    font-size: 2rem; }
    .search_form_wrapper {    grid-template-columns: 30px auto 75px 40px; }





    /**********/
    /* Footer */
    /**********/
    footer {        padding-top: 250px;    }
    .footer_row {
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .footer_col.col1{
        order:2;
        min-width:initial;
    } 
    .footer_col.col2{
        order:1;
        flex: 1 1 100%;
        max-width: 100%;
    } 
    .footer_col.col3{
        min-width:initial;
        order:3;
    } 
    .footer_rowlast {         margin-top: 50px;    }
    .row_last_inner {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .footer_copy {    margin-left: 0; }  


    .action-carousel-row .slick-track {
        justify-content: right;
        gap: 60px;
    }

    .slick-initialized .slick-slide {
        max-width: 50vw;
    }   
}



/**********/
/* Mobile */
/**********/
@media only screen and (max-width: 768px) {

    /* VARS */
    :root {
        --content-padding:18px;
        --header-height: 63px;
    }
    header.fl-page-header .header_inner {
        padding: 8px var(--content-padding);
    }

    #menu-mobile-primary .menu-mobile-visitor,
    #menu-mobile-primary .menu-mobile-contact,
    #menu-mobile-primary .menu-mobile-give {
        display:none;
    }
    
    #main-menu .mainmenu_home >a img {
        max-height: 45px;
        content:url(/wp-content/uploads/himb_logo_mobile.svg);
    }
    #menu-mobile-primary .mobile_menu_toggle:after {
        background: url(/wp-content/uploads/himb_hamb_open.svg) center right / cover no-repeat;
        background-size:initial;
        width: 35px;
    }
    #menu-main-mobile .mobile_quicklinks .sub-menu[data-depth='0'] {
        display: block;
        padding: 16px 0;
    }
    #main-menu .sub-menu[data-depth='0'] li.mainmenu_item a {
        padding: 0;
        color: var(--white);
    }
    #main-menu .sub-menu[data-depth='0'] >li {
        margin: 0 0 8px;
    }
    #main-menu .sub-menu[data-depth='0'] >li:last-of-type {
        margin: 0;
    }
    

    #menu-main-mobile >li >button:after {
        font-size: 20px;
    }
    
    
    /**********/
    /* Footer */
    /**********/
    footer { padding-top: 120px; }

    .footer_row {             gap: 0 40px;    }
    .footer_col.col1 {margin-top:26px;}
    .footer_col.col3 {margin-top:10px;}
    footer .footer_contactus {
        padding-top: 26px;
        display: inline-block !important;
    }


    .footer_col p,
    .footer_col.col1 p,
    .footer_col.col2 p,
    .footer_col.col3 p,
    .footer_col a,
    .footer_col.col1 a,
    .footer_col.col2 a,
    .footer_col.col3 a    {
        font-size:18px;
        font-size:1.13rem;
        line-height: 28px;
        line-height: 1.75rem;
    }
    
    .footer_col p.small,
    .footer_col.col1 p.small,
    .footer_col.col2 p.small,
    .footer_col.col3 p.small {
        font-size:16px;
        font-size:1rem;
        line-height: 28px;
        line-height: 1.75rem;
    }

    .footer_col .social_networks a {
        font-size: 36px;
        font-size: 2.25rem;
    }

    .footer_col.col2 {
        padding: 26px 18px;
    }

    .footer_col.col3 p {
        line-height:40px;
        line-height:2.5rem;
    }

    .footer_copy_img.img1 {
        max-width: 50%;
        min-width: initial;
    }


}

