@media only screen and ( max-width: 1520px ){
    header#main-header .container,    
    div.gallery_listing_description_block,
    div.gallery_listing_block,
    .full_width_block .et_pb_fullwidth_header .et_pb_fullwidth_header_container{
        padding-right: 20px !important;
        padding-left: 20px !important;
    }
}

@media only screen and ( max-width: 1400px ) {
    .site_title{
        font-size: 20px;
    }

    ul#top-menu > li:last-child {
        width: auto;
        padding: 0 20px;
        margin-left: 0;
    }

    img#logo {
        width: 80px;
        height: 80px;
    }
}

@media only screen and ( max-width: 1200px ) {
    #top-menu li a {
        font-size: 14px;
    }

    .gallery_listing_block_3_columns  .et_pb_column{    
        grid-column-gap: var(--listing-gap-3-columns-medium);
    }
    
    .gallery_listing_block_3_columns  .et_pb_column > div:nth-child(7){
        margin-top: var(--listing-gap-3-columns-medium);
    }

    .gallery_listing_block_3_columns  .et_pb_column > div:nth-child(9){
        margin-top: var(--listing-gap-3-columns-medium);
    }
    
    .gallery_listing_block_3_columns  .et_pb_column > div:nth-child(11){
        margin-top: var(--listing-gap-3-columns-medium);
    }    
}

@media only screen and ( max-width: 980px ){
    .site_title {
        color: var(--color-dark-blue);
        margin-left: 20px;
        font-size: 36px;
    }

    header#main-header {
        height: 120px;
    }

    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h1, 
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h2.et_pb_module_header, 
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h3.et_pb_module_header, 
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h4.et_pb_module_header, 
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h5.et_pb_module_header, 
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h6.et_pb_module_header {
        font-size: 38px !important;
    }

    div.default_block_padding{
        padding-top: var(--default-block-padding-tablet) !important;
        padding-bottom: var(--default-block-padding-tablet) !important;
    }
    
    div.default_block_padding_top{
        padding-top: var(--default-block-padding-tablet) !important;
    }
    
    .text_with_slider_block .et_pb_text_1{
        margin-top: var(--default-block-padding-tablet) !important;
        margin-bottom: 0 !important;
        margin-right: 20px !important;
        margin-left: 20px !important;
    }

    
    div.default_block_padding_bottom{
        padding-bottom: var(--default-block-padding-tablet) !important;
    }

    .photo_gallery_single_row .et_pb_column.et_pb_column_empty {
        display: block;
    }

    .testimonial_block .et_pb_row_2 .easy_testimonials_grid_row,
    .testimonial_block .et_pb_row_3 .easy_testimonials_grid_row {
        display: flex !important;
        flex-direction: column;
    }

    .et_pb_side_nav {
        display: none !important;
    }
}

@media only screen and ( max-width: 800px ){
    .et_pb_fullwidth_header .et_pb_fullwidth_header_container.center .header-content{
        width: 100% !important;
    }

    .et_pb_fullscreen .et_pb_fullwidth_header_container{
        width: calc(100% - 40px) !important;
        margin-right: 20px !important;
        margin-left: 20px !important;
    }

    .entry-content .ics-calendar tr td li {
        height: 30px !important;
    }
    
    .entry-content .ics-calendar tr td {
        height: 60px !important;
    }    
}

@media only screen and ( max-width: 678px ){
    .contact_form_block,
    .calendar_block{
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    
    .call_to_action_block.two_buttons_block .header-content{
        display: flex;
        flex-direction: column;
    }

    div.two_buttons_block .header-content > *:not(:last-child) {
        margin-right: 0 !important;
        margin-bottom: 20px !important;
    }

    .address_block p,
    .address_block a,
    .et_pb_section_parallax .et_pb_fullwidth_header_subhead,
    .text_with_slider_block .et_pb_text_inner p,
    .intro_text_block .et_pb_header_content_wrapper{
        font-size: 18px !important;
    }
}

@media only screen and ( max-width: 600px ){
    .gallery_listing_block img {
        margin: 0 auto;
        display: block;
    }

    .list_item__description,
    .list_item__title {
        text-align: center;
    }
}

@media only screen and ( max-width: 500px ){
    .site_title {
        font-size: 26px;
    }

    .et_pb_text_1 h2 {
        font-size: 32px !important;
    }

    img#logo {
        width: 60px;
        height: 60px;
    }

    footer ul#menu-main-menu {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    footer ul#menu-main-menu li {
        padding-right: 0;
        padding-bottom: 15px;
    }

    footer#main-footer div.footer-widget:last-child {
        margin-bottom: 0 !important;
    }

    .footer_links {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .footer_link {
        text-align: center;
    }

    .footer_link::after {
        display: none;
    }

    .footer_links > .footer_link:not(:last-child) {
        margin-bottom: 15px;
    }
}

@media only screen and ( max-width: 480px ){
    .photo_gallery_single_row .et_pb_column.et_pb_column_empty {
        min-height: 200px;
    }

    .calendar_legend {
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .calendar_legend .calendar_legend__item:not(:last-child) {
        margin-right: 0;
        margin-bottom: 20px;
    }

    .calendar_legend__item {
        width: 150px;
        justify-content: flex-start;
    }

    .contact_form_block button,
    .call_to_action_block a.et_pb_button, 
    .et_pb_section_parallax a.et_pb_button{
        min-width: 200px;
        width: 100%;
    }

    header#main-header {
        height: 100px;
    }

    ul#menu-footer-menu {
        display: flex;
        flex-direction: column;
    }

    ul#menu-footer-menu > li:not(:last-child) {
        margin-bottom: 10px;
    }

    ul#menu-footer-menu li {
        padding-right: 0;
    }

    section.et_pb_section_parallax .et_pb_fullwidth_header_container.center div.header-content {
        padding: 40px 20px !important;
    }

    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h1, 
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h2.et_pb_module_header,
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h3.et_pb_module_header,
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h4.et_pb_module_header,
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h5.et_pb_module_header,
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h6.et_pb_module_header {
        font-size: 34px !important;
    }
}

@media only screen and ( max-width: 460px ){
    .calendar_block nav.ics-calendar-arrow-nav{
        top: 90px;
    }
}

@media only screen and ( max-width: 400px ){
    .site_title {
        font-size: 20px;
    }

    body #page-container .et_pb_section .et_pb_fullwidth_header_0 .et_pb_button_one.et_pb_button{
        font-size: 20px !important;
    }

    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h1, 
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h2.et_pb_module_header,
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h3.et_pb_module_header,
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h4.et_pb_module_header,
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h5.et_pb_module_header,
    .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h6.et_pb_module_header {
        font-size: 30px !important;
    }
}


.et_mobile_menu {
    padding: 20px 30px 30px 30px !important;
    border-color: var(--color-main-green) !important;
    margin-top: 20px;
}

.et_mobile_menu a {
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-size: 16px !important;
    color: black !important;
}

.et_mobile_menu .current-menu-item  a{
    color: var(--color-main-green) !important;
}

.et_header_style_left #et-top-navigation .mobile_menu_bar {
    padding-bottom: 0 !important;
}

.mobile_menu_bar:before{
    font-size: 42px !important;
}