/*
Theme Name: Byfield Cabins
Theme URI: http://www.byfieldcabins.com.au
Version: 2015
Author: The Almost Anything Web and Graphic Design Crew
Author URI: http://www.almostanything.com.au
*/

/*
 * RELATIVE EMS: target/context=result
 * So if you want a 24px heading, and the parent element is 15px, you need to specify 1.6ems
 * ie 24/15=1.6
 * Got it yet Stu?
 * Similarly with widths. Elements will be a %age or their parent.
 *
 * THIS IS A MOBILE-FIRST STYLESHEET
 * If you're styling for the desktop you are editing the WRONG FILE
 * Go back, do not pass Go, do not collect $200
 */

/* Resets, Globals */

html {
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
}

    *, *:before, *:after {
        box-sizing: inherit;
    }

div,dl,dt,dd,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,select,button,p,table,blockquote,th,td {
    margin:0;
    padding:0;
    line-height:inherit;
}

    dl,ul,ol,h1,h2,h3,h4,h5,h6,form,fieldset,p,blockquote,table {
        margin:1em 0;
    }

        h1,h2,h3,h4,h5,h6 {
            margin:1em 0 .5em;
            line-height:1.2;
    }

            h1 {
                margin:0 0 .5em;
            }

                .site_title {
                    margin:0;
                }

table {
    border-collapse:collapse;
    border-spacing:0;
}

address,caption,cite,code,dfn,var {
    font-style:normal;
    font-weight:normal;
}
 
caption,th {
    text-align:left;
}

sup {
    vertical-align:text-top;
}

sub {
    vertical-align:text-bottom;
}

input,textarea,select {
    font-family:inherit;
    font-size:inherit;
    font-weight:inherit;
    padding:0 .4em;
}

/* Clearfix */
    
.clearfix:after, header>nav:after {
    content:"";
    display:block;
    clear:both;
}

/* Styles to support our JS scrollbar width calculations */
.scrollbar_measure {
    width: 100px;
    height: 100px;
    overflow: scroll;
    position: absolute;
    top: -9999px;
}

/* Accessibility (skip links, screen reader text) */

.screen-reader-text, .skiplink {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

    .skiplink:focus, .screen-reader-text:focus {
        font-weight:bold;
        background:#eee;
        box-shadow:0 0 10px rgba(0,0,0,0.25);
        top:0;
        left:0;
        float:left;
        width: auto;
        height: auto;
        z-index:9999;
        display:block;
        position:fixed;
        z-index: 100000; /* Above WP toolbar. */
        padding:.5em .75em;
        clip: auto !important;
}

/***************************************************************
 *
 * Let's play Tetris!
 * This is basic grid, we're layout out the main semantic blocks
 *
 ***************************************************************/

html, body {
    margin:0;
    padding:0;
    line-height:1.5;
}

    html {
        font-family:Calibri, sans-serif;
        min-height:100%;
        background:#111;
    }

    body {
        color: #5A1413;
        background: #fff;
        font-size: 100%; /* Baseline: this means that 1em = 16px */
    }

.contentbox {
    width: 100%;
    margin: auto;
    font-size: 1.25em; /* 20px for normal paragraph text */
}

.main_wrap, .contentbox .sidebar, footer {
    padding:0 3%;
}

    .main_wrap {
        clear:both;
        background:#fff;
    }

        .home .main_wrap {
            background:rgba(255,255,255,0.88);
        }
    
article {
    padding:1em 0;
    position: relative;
}

    .home article {
        text-align:center;
        color:#1c1703;
    }

    article::after {
        content: "";
        position: absolute;
        display: block;
        left: 50%;
        bottom: -.65em;
        height: .65em;
        width: 11em;
        -moz-filter: brightness(1000%) grayscale(100%);
        -webkit-filter: brightness(1000%) grayscale(100%);
        filter: brightness(1000%) grayscale(100%);
        -moz-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        background: url(images/diamond--yellow.svg) 0 100% / cover no-repeat;

        /* Hide in IE - because it doesn't do SVG background positioning too well */
        -ms-transform:matrix(0,0,0,0,0,0);
    }

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

.site_info {
    padding:1.5em 3%;
    background:#fff;
    color:#5a1413;

    /* Ensure it stays above header>nav (to hide box-shadow) */
    position: relative;
}

    .site_title {
        text-indent:-9999px;
        width:0;
        height:0;
    }

    .site_logo, .site_logo img {
        display:block;
        background:none;
        position:relative;
        border:none;
    }

        @media (min-width:751px) {
            .site_logo img {
                margin:0 1.5em 0 0;
            }
        }

        @media (max-width:750px) {
            .site_logo, .site_logo img {
                margin:0 auto 1em;
            }
        }

        .site_logo {
            max-width:100%;
        }

    .site_info__usereditable, .site_info__usereditable li {
        list-style:none;
        padding:0;
        margin:0;
    }

        .site_info__usereditable a {
            color:#5a1413;
        }

            .site_info__usereditable a:hover {
                color:#000;
            }

            .site_info__usereditable a[href*="tel"] {
                text-decoration:none;
            }

            .single-room_type .header-book-now {
                display:none;
            }

            .header-book-now__link.button, .header-book-now__link.button:hover {
                color: #5a1413;
                background: url(images/diamond--yellow.svg) 50% / contain no-repeat;
                display: inline-block;
                text-align: center;
                font-weight: bold;
                box-shadow: none;
                padding:.7em;
                font-size:1.5em;
            }

        .header-blurb {
            line-height:1;
        }

            @media (max-width:400px) {
                .header-blurb {
                    font-size:.7em;
                }
            }

            @media (min-width:750px) {

                /* We're hiding the book now button - suck into margin of that widget area. */
                .single-room_type .header-blurb {
                    margin-right:-1.25em;
                }
            }

            .header-blurb__heading {
                font-size:1.25em;
                margin:0;
            }

            .header-blurb__phone {
                font-size:2.05em;
            }

        .site_info__usereditable>li {
            display:block;
            text-align:center;
            margin:.75em 0;
        }

        @media (min-width:750px) {

            .site_info>.contentbox {
                display:table;
            }

            .site_logo, .site_info__usereditable {
                display:table-cell;
                vertical-align: middle;
            }

                .site_info__usereditable {
                    text-align:right;
                }

                    .site_info__usereditable>li {
                        display:inline-block;
                        vertical-align: middle;
                        margin:.25em 0 .25em 1.25em;
                    }

                        .site_info__usereditable>li:first-child {
                            margin-left:0;
                        }

        }


/***************************************************************
 *
 * Navigation
 *
 ***************************************************************/

/* Basic list reformatting */
.nav, nav ul, nav li {margin:0;padding:0;list-style:none;}
    .nav ul, .nav li { float:left; }

/* Customise from here... */
header>nav {
    color:#1c1703;
    background: #fed51a;
    line-height:2;
    padding:0 3%;
}

    .home header>nav {
        box-shadow: 0 0 25px rgba(23, 33, 4, 0.5);
    }

.nav a {
    color: #1c1703;
    text-decoration: none;
    border:none;
    display:block;
    font-size:1.2em;
    
    /* Preferable to a large line height with no top/bottom padding;
    no top/bottom padding causes links that text-wrap to look the same as a couple of one line links... */
    line-height:1.3;
    padding:.4em .6em;
}

    @media (min-width:850px) {
        .nav a {
            padding:.55em .9em;
        }
    }

    .nav ul a {
        padding:.35em 1em;
    }

    nav a {
        display:inline-block;
        padding:.35em 1em;
    }

nav a:hover, nav .sfHover>a {
    background:rgba(255,255,255,0.1);
}

nav .current_page_item>a,
.single-post nav .current_page_parent>a,
nav .current_page_ancestor>a,
nav .current-menu-item>a,
nav .current-menu-parent>a,
nav .current-menu-ancestor>a,
nav .current-page-ancestor>a {
    background: rgba(255, 255, 255, 0.2);
    color: #5a1413;
    font-weight: bold;
}

    nav .sub-menu .current_page_item>a,
    .single-post nav .sub-menu .current_page_parent>a,
    nav .sub-menu .current_page_ancestor>a,
    nav .sub-menu .current-menu-item>a,
    nav .sub-menu .current-menu-parent>a,
    nav .sub-menu .current-menu-ancestor>a,
    nav .sub-menu .current-page-ancestor>a {
        background: rgba(255, 255, 255, 0.1);
        color: #fff;
    }

.contains_submenu>a {
    position:relative;
}

    .show_nav_children {
        position:absolute;
        top:-.25em;
        bottom:-.25em;
        right:-3%;
        line-height:2.5;
        font-weight:bold;
        cursor:pointer;
    }

/* Displays a sub nav immediately after the main (if exists). Here for ease of use on mobile. Hide for desktop and add dropdowns if required */
.mobile_sub_menu {
    padding:1em 3%;
    overflow:hidden;
    background: #718d3b;
    color:#fff;
}

    .mobile_sub_menu a {
        color: #fff;
    }

    .mobile_sub_menu a {
        margin-left:-9999px;
        padding-left:calc(9999px + 1em);
    }

    .mobile_sub_menu h2 {
        margin:0 0 .5em;
    }

    /* Indent sub-menus */
    .mobile_sub_menu .sub-menu, .mobile_sub_menu .children {
        padding:0 0 0 .5em;
        font-size:.9em;
    }

/* This is for the mobile nav icon */
.menu-icon, .menu-icon-label {
    display: none;
}


/* Expanded (desktop) menu styles */
@media (min-width:751px) {

    /* Basic list reformatting */
    .nav li { position:relative; }
    .nav ul { position:absolute; top:-9999px; left:0; }
    .nav ul, .nav ul li { display:block; }

    .nav li:hover ul, .nav li.sfHover ul { z-index:100; display:block; }
        .nav>li:hover>ul, .nav>li.sfHover>ul { top:3.15em; }
            @media (max-width:850px) {
                .nav>li:hover>ul, .nav>li.sfHover>ul { top:2.75em; }
            }

    .nav ul ul { left:auto; right:-250px; }
        .nav li li:hover ul, .nav li li.sfHover ul { top:0; }

    header .nav ul, header .nav li li {width: 250px;}

    .nav li ul {
        display: none;
    }

    .nav .sub-menu, .nav .children {
        background:#1c1703;
        font-size:.9em;
    }

    .nav ul a {
        color:#fed51a;
    }

    .contains_submenu>a {
        padding-right:1.5em;
    }

        .show_nav_children {
            padding:0 .75em 0 .5em;
        }

}


/* Mobile menu styles */
@media (max-width: 750px) {

    header>nav {
        padding:0 3%;
    }

    /* Provide space for the plus/minus symbol */
    .contains_submenu>a {
        padding-right:2.5em;
    }

        /* Element for showing/hiding sub-menus */
        .show_nav_children {
            position:absolute;
            top:-.25em;
            bottom:-.25em;
            right:-3%;
            line-height:2.5;
            z-index:10;
            padding:0 5% 0 .75em;
            padding:0 calc(3% + .5em) 0 .75em;
        }

    nav .sub-menu a,
    .single-post nav .sub-menu a
    {
        margin-left:-9999px;
        padding-left:calc(9999px + 1em);
    }

    /* Turn off floats, we want vertical flow */
    .nav ul, .nav li { float:none; }

        /* Indent sub-menus */
        .sub-menu, .nav .children {
            padding:0 0 0 1.5em;
            font-size:.9em;
        }

    /* Off screen menu */

    .site_info nav {
        line-height:0;
    }

    /* Checkbox input used to toggle nav display.
       Doesn't need to appear because it's linked with the label. */
    .menu-icon {
        position: absolute;
        clip: rect(0, 0, 0, 0);
    }

    .menu-icon-label { 
        cursor:pointer;
        line-height: 1.2;
        font-weight:bold;
        padding-right: 2.3em;
        position: relative;
        display: block;
        float: right;
        clear: left;

        /* Enhance tap target area */
        border: 1em solid transparent;
        border-width:1em 0;
    }

        /* Setup base rules for page content overlay and hamburger icon */
        .menu-icon-label:after, .menu-icon-label:before {
            content:"";
            display:block;
            top:0;
            right: 0;
            bottom: 0;
        }

        /* Overlay for page content */
        .menu-icon-label:before {
            -moz-transition:opacity 125ms ease-in-out;
            -webkit-transition:opacity 125ms ease-in-out;
            transition:opacity 125ms ease-in-out;
            background: rgba(0,0,0,0.6);
            position:fixed;
            z-index: 20;
            
            /* Mobile Safari doesn't cover the page without negative values... */
            top:-200px;
            bottom:-200px;
            left:-200px;
        }

            /* Hide and deactivate overlay if menu is closed */
            .menu-icon:not(:checked) ~ .menu-icon-label:before {
                opacity:0;
                pointer-events:none;

                /* Needed to hide overlay for IE 10 < (no support for pointer-events) */

                /* IE9 */
                -ms-transform:matrix(0,0,0,0,0,0);
                
                /* IE10 */
                -ms-transform:translate3d(100%,0,0);
            }

        /* Hamburger icon */
        .menu-icon-label:after {
            position:absolute;
            width: 1.5em;
            background:linear-gradient(to bottom, #1c1703 0, #1c1703 15%, transparent 15%, transparent 42%, #1c1703 42%, #1c1703 57%, transparent 57%, transparent 85%, #1c1703 85%);
        }

    .nav {
        /* Positioning */
        top: 0;
        right: 0;
        bottom:0;
        z-index: 100;
        position: fixed;

        /* Make scrolling allowance for tall menus */
        overflow-y: auto;
        overflow-x: hidden;

        /* Width, margin, padding */
        width:80%;
        margin:0;
        padding:.5em 0 0;

        /* Slide-in animation. Custom cubic bezier used to provide a fast initial slide, slowing down near the end.  */
        -moz-transition:-moz-transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03), transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03);
        -webkit-transition:-webkit-transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03), transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03);
        transition:-webkit-transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03);
        transition:-moz-transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03);
        transition:transform 200ms cubic-bezier(0.15, 0.73, 0.44, 1.03);

        /* Don't grab any clicks (we turn clicks on when the menu is definitely activated) */
        pointer-events:none;

        /* Styles */
        background: #fed51a;
        font-size: 1.1em;
    }

        /* Turn pointer events back on when the nav is active */
        .menu-icon:checked ~ .nav {
            pointer-events:auto;
        }

        /* This is a FLIPped animation (https://aerotwist.com/blog/flip-your-animations/) */
        .menu-icon:not(:checked) ~ .nav {
            -moz-transform:translate3d(100%,0,0);
            -webkit-transform:translate3d(100%,0,0);
            transform:translate3d(100%,0,0);
            will-change:transform;
        }

            /* IE9 doesn't get anything particular fancy! */
            .ie9 .menu-icon:not(:checked) ~ .nav {
                display:none;
            }

        /* Deal with the WP admin bar */

        @media (max-width:600px) {
            .logged-in .nav {
                padding-top:56px;
                padding-top:calc(46px + .5em);
            }
        }

        @media (min-width:601px) {
            .logged-in .nav {
                top: 46px; 
            }
        }

        /* Inset box shadow (left edge of menu only)
           Recommended using only if .nav has a dark background.
        .nav:after {
            content:"";
            display:block;
            box-shadow: 0 0 60px rgba(0,0,0,0.25);
            position:absolute;
            top:0;
            bottom:0;
            left: -100%;
            width: 100%;
            z-index: -10;
        }
        */

}

/***************************************************************
 *
 * Main Content - <article>
 *
 ***************************************************************/

article h1 {
    font-size: 1.8em;
}

article h2 {
    font-size: 1.4em;
}

article h3 {
    font-size: 1em;
}

article h4, article h5, article h6 {
    font-size: 1em;
}

article a {
    color:#1c1703;
}

    article a:hover {
        color:#000;
    }

/* Clear any floated images down near the bottom of posts */
.blog_navigation {
    clear:both;
}

/* the next 3 rules are for the way WP sets its image floats. On skinny screens we'll just centre them all */
article .alignleft, article .alignright, article .aligncenter {
    text-align:center;
    margin:1.5em auto;
    display:block;
}

img {
    max-width:100%;
    height:auto;
}

a img {
    border:none;
}

#colorbox, #colorbox * {
    -moz-box-sizing:content-box;
    -webkit-box-sizing:content-box;
    box-sizing:content-box;
}

    #colorbox img {
        max-width:none;
    }
    
/* These 2 will make image captions look a bit like polaroids */
.wp-caption {
    background:#eee;
    overflow:hidden;
    max-width:100%;
}

    body.attachment .wp-caption {
        background:none;
        overflow: visible;
    }

    .wp-caption.alignnone {
        margin:1.5em 0;
    }

    .wp-caption>a, .wp-caption img {
        display:block;
    }

        .wp-caption img {
            width:100%;
        }

    .wp-caption-text {
        padding:0;
        margin:.75em 1em;
        line-height:1.3;
    }

        body.attachment .wp-caption-text {
            margin:.75em 0;
            font-weight:bold;
        }

        .gallery .wp-caption-text {
            margin:.25em 1em 0 0;
            font-size:.9em;
        }

.gallery .gallery-item {
    float: left;
    margin:0 0 3%;
}

.gallery a, .gallery img {
    display:block;
}

    .gallery img {
        max-width:95%;
        width:auto;
        height:auto;
    }

@media (max-width: 450px) {

    .gallery dl.gallery-item {
        float: none;
        margin: 0 0 1em;
        width:auto;
        text-align:center;
    }

        .gallery a {
            display:inline-block;
        }

    .gallery .wp-caption-text {
        text-align: center;
        font-size:inherit;
    }

    .gallery img {
        max-width:inherit;
    }

    .gallery br {
        display:none;
    }

}

/*
Image sizes depending on the number of columns
Based on Hybrid theme
*/

.gallery-columns-0 .gallery-item {
    width: 100%;
}
.gallery-columns-1 .gallery-item {
    width: 100%;
}
.gallery-columns-2 .gallery-item {
    width: 50%;
}
.gallery-columns-3 .gallery-item {
    width: 33.33%;
}
.gallery-columns-4 .gallery-item {
    width: 25%;
}
.gallery-columns-5 .gallery-item {
    width: 20%;
}
.gallery-columns-6 .gallery-item {
    width: 16.66%;
}
.gallery-columns-7 .gallery-item {
    width: 14.28%;
}

/* Callouts, pullquotes */
blockquote {
    position:relative;
    padding:0 0 0 3em;
    margin:1.5em 0;
}

blockquote:before {
    content: "\00201C";
    font-size: 5em;
    position: absolute;
    left: 0;
    top: -.3em;
    color:#333;
}

/* Definition Lists */

dt {
    display:block;
    margin-top: 0.5em;
    font-weight:bold;
}

    dt:first-child {
        margin-top:0;
    }

dd {
    padding-left:1em;
}

/* Tables */

table, th, td {
    border:none;
    border:1px solid #ddd;
    text-align:left;
    border-collapse:collapse;
}

    table {
        margin:1em 0;
    }

    td, th {
        line-height:1.3;
        padding:.4em .6em;
    }

    @media (max-width:500px) {

        article table {
            border:none;
        }

        article tr, article td, article th {
            display:block;
            border:none;
        }

            article tr {
                margin:0 0 1em;
            }
            
    }

/* CTA Buttons */ 

.button,
button {
    color: #1c1703;
    background: #fed51a;
    border:none;
    cursor:pointer;
    font-weight:bold;
    border-radius:3px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;  
    padding: .5em .75em;
    text-decoration: none;
}

    button {
        font-size:1em;
    }

    .button:hover,
    button:hover {
        color:#fed51a;
        background:#1c1703;
    }

    .button.inline {
        display:inline-block;
        padding:.05em .5em .1em;
        line-height:1.3;
        margin:0 .2em;
    }

/* Gravity Forms Style fixes */ 

.gform_wrapper form {
    margin-top: 0;
}

article .gform_wrapper textarea,
article .gform_wrapper input[type=text],
article .gform_wrapper input[type=url],
article .gform_wrapper input[type=email],
article .gform_wrapper input[type=tel],
article .gform_wrapper input[type=number],
article .gform_wrapper input[type=password],
article .gform_wrapper .ginput_complex label,
article .gform_wrapper .gfield_time_hour label,
article .gform_wrapper .gfield_time_minute label,
article .gform_wrapper .gfield_date_month label,
article .gform_wrapper .gfield_date_day label,
article .gform_wrapper .gfield_date_year label,
article .gform_wrapper .instruction {
    font-size: 1em;
}

    article .gform_wrapper textarea,
    article .gform_wrapper input[type=text],
    article .gform_wrapper input[type=url],
    article .gform_wrapper input[type=email],
    article .gform_wrapper input[type=tel],
    article .gform_wrapper input[type=number],
    article .gform_wrapper input[type=password] {
        padding: .25em .4em;
        font-size: .8em;
        max-width: 100%;
    }

:root .gform_wrapper .gform_footer {
    padding: 0;
}


/*
 * Booking Manager overrides
 */

/* We don't want RV's on the cabins page */
#page4 .room-information--rv-motorhome-site {
    display:none;
}

/* No need for 3 columns when we only have 2 cabins */
@media (min-width:800px) {
    .booking-manager-room-list .room-information {
        width:49%;
    }
}

.your-details__field--eta option[value="9:00 PM"] {
    display:none;
}



/*
 * Page specific styles
 */

/* Facilities */

@media (min-width:1000px) {
    .page-id-10 .menu-homepage-ctas-container {
        margin: 0 -2em 2em;
        background: rgba(254, 213, 26, 0.25);
        padding: 1.5em 2em .5em;
    }
}

/* Hide irrelevant links */
.page-id-10 .menu-homepage-ctas-container .menu-item-102,
.page-id-10 .menu-homepage-ctas-container .menu-item-161 {
    display:none;
}

.page-id-10 .menu-homepage-ctas-container a::after {
    border-top: 2px solid rgba(255, 255, 255, 0.3);
    bottom: .8em;
    top: auto;
    left: 3em;
    right: 3em;
    transition:all 100ms linear;
}

    .page-id-10 .menu-homepage-ctas-container a:hover::after {
        border-top-color:#fff;
        -webkit-transform: scale(2);
        -ms-transform: scale(2);
    }

@media (max-width:1400px) {
    .page-id-10 .menu-homepage-ctas-container a {
        font-size:1.1em;
    }
}

@media (min-width:650px) {
    .page-id-10 .menu-homepage-ctas-container .menu-item {
        width:24%;
    }
}

@media (min-width:800px) {
    .page-id-10 .menu-homepage-ctas-container .menu-item {
        width:18%;
    }
}


/***************************************************************
 *
 * Sidebar
 *
 ***************************************************************/

.sidebar {
    background:#eee;
}

.sidebar, .sidebar ul, .sidebar li {
    padding: 0;
    margin: 0;
    list-style: none;
    clear: both;
}

.sidebar li ul { /* a nested list, so this should actually be displayed as a list */
    padding-left: 7.142857142857%; /* 20/280=0.07142857142857 */
}

.sidebar li ul li {
    list-style: disc;
}

/***************************************************************
 *
 * News and/or blog
 *
 ***************************************************************/
.postdate, .postmetadata {
    font-size:0.8em;
    font-style:italic;
    margin:0;
}

.news_post_excerpt {
    background: #EAEAEA;
    padding: 1em 1em 2em 1.5em;
    margin-bottom: 1em;
}

.button_news {
    color: #1c1703;
    background: #fed51a;
    border: none;
    cursor: pointer;
    font-weight: bold;
    /* border-radius: 3px; */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: .5em .75em;
    text-decoration: none;
    float: right;
    margin-top: -0.5em;
    margin-right: -1em;
}

/***************************************************************
 *
 * Homepage
 *
 ***************************************************************/

.home .site-header {
    overflow: hidden;
    margin-bottom:-4em;
}


/* Header photos - polaroid style */ 

.homepage-gallery {
    padding:3em 0;
}

    @media (max-width:600px) {
        .homepage-gallery {
            padding:0 0 2em;
        }
    }

    .homepage-gallery__list, .homepage-gallery__img {
        display:block;
        list-style:none;
        margin:0;
        padding:0;
    }

        @media (max-width:1000px) {
            .homepage-gallery__list {
                margin:0 -34%;
            }
        }

        @media (max-width:600px) {
            .homepage-gallery__list {
                margin:0 -15%;
            }
        }

        .homepage-gallery__img {
            width:50%;
            float:left;
            -moz-transform:rotate(-5deg);
            -webkit-transform:rotate(-5deg);
            transform:rotate(-5deg);
            position:relative;
        }

            .homepage-gallery__img img {
                display: block;
                width:100%;
                border:8px solid #fff;
                box-shadow:0 0 20px rgba(0,0,0,0.6);
            }

            .homepage-gallery__img:after {
                content:"";
                display:block;
                position:absolute;
                top: -2px;
                left: -2px;
                right: -2px;
                bottom: -2px;
                border: 11px solid #fff;
            }

            @media (min-width:601px)  {

                .homepage-gallery__img {
                    width:30%;
                }

                .homepage-gallery__img:nth-child(2) {
                    margin:0 -6.6667%;
                }

                .homepage-gallery__img:nth-child(3) {
                    margin:0 -6.7% 0 0;
                    -moz-transform:rotate(5deg);
                    -webkit-transform:rotate(5deg);
                    transform:rotate(5deg);
                }

                .homepage-gallery__img:last-child {
                    float:right;
                }

            }

            @media (max-width:600px) {

                .homepage-gallery__img {
                    width:50%;
                }

                    .homepage-gallery__img:nth-child(1), .homepage-gallery__img:nth-child(4) {
                        -moz-transform:rotate(5deg);
                        -webkit-transform:rotate(5deg);
                        transform:rotate(5deg);
                    }

                    .homepage-gallery__img:nth-child(2), .homepage-gallery__img:nth-child(3) {
                        -moz-transform:rotate(-5deg);
                        -webkit-transform:rotate(-5deg);
                        transform:rotate(-5deg);
                    }

            }



/* Intro Paragraph */

.home article h2 {
    margin-bottom:0;
    font-size:2.3em;
}

.home .intro {
    line-height:1.3;
    font-size:1.4em;
    margin:.25em 0 1em;
}



/* CTAs */ 

.menu-homepage-ctas-container {
    margin:1em 0 .5em;
    text-align:center;
}

.menu-homepage-ctas-container ul,
.menu-homepage-ctas-container li,
.menu-homepage-ctas-container a,
.menu-homepage-ctas-container a:before,
.menu-homepage-ctas-container a:after {
    list-style: none;
    margin: 0;
    padding: 0;
    display: block;
}

    .menu-homepage-ctas-container ul {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-justify-content: space-around;
        -webkit-justify-content: space-around;
        justify-content: space-around;
        -ms-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }

        @media (max-width:1200px) {
            .menu-homepage-ctas-container ul {
                -ms-justify-content: center;
                -webkit-justify-content: center;
                justify-content: center;
            }
        }

    .menu-homepage-ctas-container .menu-item {
        margin:0 0 1em;
    }

        @media (max-width:1200px) {
            .menu-homepage-ctas-container .menu-item {
                margin:0 1% 1em;
            }
        }

        .menu-homepage-ctas-container a, .menu-homepage-ctas-container a:before {
            transition:all 60ms ease-in-out;
        }

        .menu-homepage-ctas-container a {
            color: #5a1413;
            background: url(images/diamond--yellow.svg) 50% 100% / contain no-repeat;
            font-size:1em;
            text-decoration:none;
            padding:85% .4em .95em;
            position: relative;
        }

            @media (max-width:750px) {
                .menu-homepage-ctas-container a {
                    font-size:1.15em;
                }
            }

            .menu-homepage-ctas-container a:hover {
                color:#000;
            }

            .menu-homepage-ctas-container a::before,
            .menu-homepage-ctas-container a::after {
                content:"";
                top:0;
                left:0;
                right:0;
                bottom:0;
                position:absolute;
                background:50% 10% / 80% no-repeat;
            }

                .menu-homepage-ctas-container a:hover::before {
                    -moz-transform: scale(1.1);
                    -webkit-transform: scale(1.1);
                    transform: scale(1.1);
                }

                .menu-item-102 a::before {
                    background-image:url(images/cta--cabin-black.svg);
                }

                .menu-item-161 a::before {
                    background-image:url(images/cta--rvs-black.svg);
                }

                .menu-item-186 a::before {
                    background-image:url(images/cta--picnics-black.svg);
                }

                .menu-item-188 a::before {
                    background-image:url(images/cta--bushwalking-black.svg);
                }

                .menu-item-187 a::before {
                    background-image:url(images/cta--kayaking-black.svg);
                }

                .menu-item-184 a::before {
                    background-image:url(images/cta--cycling-black.svg);
                }
                
                .menu-item-185 a::before {
                    background-image:url(images/cta--birdwatching-black.svg);
                }



        /* Rules to determine numbers of CTAs to show at various breakpoints */

        @media (min-width:1201px) {
            .menu-homepage-ctas-container .menu-item {
                width:13%;
            }

                @media (min-width:1500px) {
                    .menu-homepage-ctas-container .menu-item {
                        width:12.5%;
                    }
                }
        }

        @media (min-width:701px) and (max-width:1200px) {
            .menu-homepage-ctas-container .menu-item {
                width:23%;
            }

        }

        @media (min-width:551px) and (max-width:700px) {
            .menu-homepage-ctas-container .menu-item {
                width:30%;
            }
        }

        @media (min-width:301px) and (max-width:550px) {
            .menu-homepage-ctas-container .menu-item {
                width:45%;
            }
        }

        @media (max-width:300px) {
            .menu-homepage-ctas-container .menu-item {
                width:60%;
            }
        }

/***************************************************************
 *
 * Contact Page
 *
 ***************************************************************/

#google_map { /* The outer div */
    margin: 1.5em 0;
}

#google_map #map_canvas { /* the inner container that defines the actual map size */
    width:100%;
    height: 400px;
    margin: auto;
}

.svg-mudmap {
    border-radius:3px;
}

/***************************************************************
 *
 * Footer
 *
 ***************************************************************/

footer {
    color:#ddd;
    background:#111;
    clear: both;
    font-size:.85em;
}

    .home footer {
        text-align:center;
    }

    footer .contentbox {
        padding:2em 0 1em;
    }

.footer-widgets {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: flex-end;
}

    footer .widgetarea {
        width:30%;
        margin-bottom:2em;
    }

        footer .widgetarea>ul, footer .widgetarea>ul>li, footer .vcard, footer .vcard li {
            list-style:none;
            margin:0;
            padding:0;
        }

        .menu-footer-menu-container ul, .menu-footer-menu-container li {
            list-style:none;
            margin:0;
            padding:0;
        }

            .menu-footer-menu-container li {
                display:inline-block;
            }

                .menu-footer-menu-container li:after {
                    content:"|";
                    color:#fed51a;
                    display:inline-block;
                    margin:0 0.3em 0 0.45em;
                }

                    .menu-footer-menu-container li:last-child:after {
                        display: none;
                    }

        .widgetarea--secondary {
            text-align:center;
        }

        .widgetarea--tertiary {
            text-align:right;
        }

        @media (max-width:800px) {

            .footer-widgets {
                -webkit-flex-wrap:wrap;
                flex-wrap:wrap;
            }

            footer .widgetarea {
                width:100%;
                text-align:center;
            }

        }

section.credits {
    clear:both;
    padding:.5em 0 0;
    text-align:center;
    border-top: 1px dotted #555;
}

footer a {
    color:#fed51a;
}

    .footer-facebook-link {
        display:inline-block;
        padding:0 0 0 2em;
        background:url(images/facebook-logo.png) 0 50% / 1.5em no-repeat;
    }

    footer a:hover {
        color:#fff;
    }