/*
Theme Name: Rockhampton Region - Live
Theme URI: http://www.almostanything.com.au
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
 */

/*
 * Colours
 * -------
 *
 * Explore FG: #5ea050
 *
 */

/* Resets, Globals */

html {
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    font-family: "acumin-pro", Helvetica, Arial;
}

    *, *::before, *::after {
        font-smooth: always;
        -webkit-font-smoothing: subpixel-antialiased;
        text-rendering: optimizeLegibility !important;
        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 .25em;
            }

                .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;
}

/* Webfont helper. Be care, the transition rule may override existing transitions */

.u-webfont-wait,
.grid-menu span,
.footer-menu span {
    transition:opacity 150ms linear;
}

    .wf-loading .u-webfont-wait,
    .wf-loading .grid-menu span,
    .wf-loading .footer-menu span {
        opacity:0;
    }

/***************************************************************
 *
 * 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.65;
    background: #fff;
}

    html {

    }

    body {
        color: #383740;
        font-size: 100%;

        /* Background image is mainly for footer - set starting position to bottom of page */
        background: url(images/live.jpg) 0 100%;
    }

.contentbox {
    width: 100%;
    margin: auto;
    padding: 0 .75em;
}

    @media screen and (min-width: 750px) {
        .contentbox {
            padding: 0 1.5em;
        }
    }

    @media screen and (min-width: 1200px) {
        .contentbox {
            padding: 0 5%;
        }
    }

.contentbox .sidebar, footer, .main_wrap, header {
    /*padding:0 5%;*/
}

    body > header {
        background:#fff;
    }

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

    body.be_listing_page .main_wrap {
        background: #fcfcfc;
        border-bottom: #f2f2f2;
    }

article {
    padding:1.5em 0 1em;
}

    body.be_listing_page article {
        padding-top: 1em;
    }

    /* Assuming operator page has no hero image, but a padded title area with *very* light background */
    .bookeasy-operator article {
        padding-top:0;
    }

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

.site_info {
    padding: 1em 0 .5em;
    background: #fff;
}

.site_info > .contentbox {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-flow: row wrap;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
}

    /* Uncomment when you've added logo code
    .site_title {
        text-indent:-9999px;
        width:0;
        height:0;
    }
    */

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

    .site_logo img {
        height: 4em;
        width: auto;
    }
        .site_logo {
            max-width:100%;
        }

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

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

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

        @media (max-width:750px) {
            .site_info__usereditable {
                margin:1em 0 0;
            }
        }

        .site_info__usereditable {
            text-align:center;
        }

        .site_info__usereditable>li {
            display:block;
            margin:.75em 0 0;
            font-size:1.5em;
            line-height:1.25;
        }

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

        @media (max-width: 800px) {
            .site_logo {
                display: inline-block;
            }


        }


#searchform {
    -ms-flex:1 1 auto;
    flex:1 1 auto;
    width:100%;
    position: relative;
    color: #433a65;
    font-size: .8em;
}

#searchform input[type="text"] {
    border: 1px solid #433a65;
    border-bottom-left-radius: .25em;
    border-top-left-radius: .25em;
    padding: .45em 3em .45em .5em;
    height:2.4em;
    width: 100%;
    line-height: 1;
    outline: none;
    transition: transform .35s ease-out;
}

#searchsubmit {
    border: none;
    background-image: url(images/search.svg), url(images/live.jpg);
    background-size:75%, 1200%;
    background-position:center, right;
    background-repeat:no-repeat, repeat;
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 2.4em;
    height: 2.4em;
    color: transparent;
    cursor: pointer;
    overflow: hidden;
    transition:background-size 50ms ease-in-out;
}

    #searchsubmit:hover {
        background-size:130%, auto;
    }

@media (max-width:750px) {
    #searchform {
        padding:0 1.5625em;
    }

        #searchsubmit {
            right: 1.5625em;
        }
}

@media (min-width:1001px) {

    #searchform {
        width:auto;
        padding-left: 1em;
        font-size: 1em;
    }

        #searchform input[type="text"] {
            transform: scaleX(0);
            transform-origin: 100% 50%;
        }

        #searchform input[type="text"].open {
            transform: scale(1);
        }

}



/***************************************************************
 *
 * 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 {
    background: #000;
    line-height:2;
    /*padding:0 5%;*/
    background: url(images/explore-bg.jpg);
}

/* network menu */
.network-nav {
    display: none;
}

    .network-nav .contentbox {
        display:-ms-flexbox;
        display:flex;
        -ms-flex-flow:row wrap;
        flex-flow:row wrap;
        -ms-flex-pack:end;
        justify-content:flex-end;
    }

        @media (max-width:750px) {
            .network-nav .contentbox {
                padding:0;
            }
        }

    .network-nav, .network-menu {
        background: #fff;
        text-align:right;
        display: block;
        margin: 0;
        padding:0;
    }

        .network-menu {
            display:-ms-flexbox;
            display:flex;
            -ms-flex-pack:end;
            justify-content: flex-end;
        }

            @media (max-width:750px) {
                .network-menu {
                    -ms-flex-pack:center;
                    justify-content:center;
                    -ms-flex:1 1 auto;
                    flex:1 1 auto;
                }
            }

    .network-menu li {
        list-style:none;
        border-bottom-left-radius: .65em;
        border-bottom-right-radius: .65em;
        margin-left: .35em;
    }

        @media (max-width:750px) {
            .network-menu li {
                -ms-flex: 1 1 auto;
                flex: 1 1 auto;
            }
        }

    .network-menu a {
        padding:0.3em 0.7em 0.4em;
        text-align: center;
        font-family: "acumin-pro-extra-condensed", Helvetica, Arial;
        font-size: 1.5em;
        line-height:1.1;
        display: block;
        color: #fff;
        text-decoration: none;
    }

    .network-menu .menu-item-253 {
        background: url(images/live-bg.png);
        background-size: cover;
        background-position: 11%;
    }
    .network-menu .menu-item-252 {
        background: url(images/explore-bg.jpg);
    }
    .network-menu .menu-item-254 {
        background: url(images/advance-bg.png);
    }

@media (min-width: 750px) {
    #main_menu {
        margin-left: 1.5em;
        margin-top: .5em;
    }
    #main_menu > li > a {
        font-size:1.5em;
        font-family: "acumin-pro-extra-condensed", Helvetica, Arial;
        font-weight: 200;
        color: #7aa637;
        text-transform: uppercase;
        padding: 0 .5em 0 0;
    }

        .wf-active #main_menu > li > a {
            font-size: 2.35em;
        }

    #main_menu > li > a.open {
        font-weight: normal;
    }

    #main_menu > .menu-item-has-children > a::after {
        content: " ";
        display: inline-block;
        height: .5em;
        width: .8em;
        margin: 0 0 .1em .1em;
        background: url(images/angle.svg);
        transition: transform .25s ease-out;
        background-repeat: no-repeat;
        background-position: center;
        background-size: 60%;
    }

        #main_menu > li > a.open::after {
            transform: rotate(.5turn);
        }

}
.nav a {
    color: #fff;
    text-decoration: none;
    border:none;
    display:block;

    /* 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: .5em .7em .7em;
}

    nav a {
        display:inline-block;
        padding:.15em .5em;
    }

    .nav a:hover, .nav .sfHover>a {
        /*background:#353535;*/
        /*font-weight: bold;*/
    }
nav .current_page_item>a {
    font-weight: bold;
}
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 {
    /*font-weight: bold;*/
}

    .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: #fff;
        color: #000;*/
    }


.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;
    }
.breadcrumbs {
    padding: .5em 0;
    color: #4a4a4a;
    background: #fff;
    border-bottom: 1px solid #ddd;
}

    .breadcrumbs a {
        color: #494949;
        text-decoration: none;
    }

    .breadcrumbs span:last-child:not(:only-child) {
        font-weight:bold;
    }

/*
 * Section menu
 */
/*
.section-menu {
    padding:1em 5% .5em;
    overflow:hidden;
}

    .main_wrap+.section-menu {
        padding-top:0;
    }

    .section-menu .sub-menu {
        display:-ms-flexbox;
        display:-webkit-flex;
        display:flex;
        -ms-flex-direction: row;
        -webkit-flex-direction: row;
        flex-direction: row;
        -ms-justify-content: space-between;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        -ms-align-items: stretch;
        -webkit-align-items: stretch;
        align-items: stretch;
        -ms-flex-wrap:wrap;
        -webkit-flex-wrap:wrap;
        flex-wrap:wrap;
        padding:0;
        margin:0 -.25em;
        font-size:1em;
    }

        .section-menu .sub-menu li {
            margin:0 .25em .5em;
            display:-ms-flexbox;
            display:-webkit-flex;
            display:flex;
            -ms-flex:1 0 auto;
            -webkit-flex:1 0 auto;
            flex:1 0 auto;
        }

    .section-menu a {
        line-height:1.3;
        text-decoration:none;
        color:#333;
        border: 1px solid #ccc;
        padding: .5em .75em;
        min-width:100%;
        -ms-flex:1;
        -webkit-flex:1;
        flex:1;
    }

        .section-menu .current-menu-item>a {
            border: 1px solid #000;
            color:#000;
        }

        .section-menu a:hover {
            border-color:#333;
            color:#333;
            text-decoration:underline;
        }
*/

    /* Hide current page link (hopefully!) */
    .section-menu .menu>li>a {
        display:none;
    }



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

.hero-container {
    display: none;
}


/* Purple overlay gradient */

.hero-container .sub-menu .sub-menu a::before,
.hero-container .sub-menu .sub-menu a::after,
.footer-menu a::before,
.footer-menu a::after,
.grid-menu a::before,
.grid-menu a::after {
    z-index:1;
    display: block;
    position: absolute;
    transition:opacity 100ms linear;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient( to bottom, rgba(2, 32, 59, 0.2) 0, rgba(2, 34, 59, 0.24) 30%, rgba(9, 22, 32, 0.73) 100% );
}

    .footer-menu a::before,
    .footer-menu a::after,
    .grid-menu a::before,
    .grid-menu a::after {
        content: "";
    }

    .hero-container .sub-menu .sub-menu a::after,
    .footer-menu a::after,
    .grid-menu a::after {
        opacity:0;
        background:linear-gradient(
            to bottom,
            transparent 0,
            transparent 70%,
            rgba(0,0,0,0.7) 100%
        );
    }

        .hero-container .sub-menu .sub-menu a:hover::after,
        .footer-menu a:hover::after,
        .grid-menu a:hover::after {
            opacity:1;
        }

    .hero-container .sub-menu .sub-menu a:hover::before,
    .footer-menu a:hover::before,
    .grid-menu a:hover::before {
        opacity:0;
    }

.footer-menu span,
.grid-menu span {
    position: absolute;
    z-index:2;
    left: 0;
    padding: 0.15em 0 0.4em .5em;
    bottom: 0;
    font-size: 1.25em;
    text-shadow:0 -1px 9px rgba(0, 0, 0, 0.5), 0 0 10px rgba(0, 0, 0, 0.7);
    border-bottom:3px solid transparent;
    letter-spacing: .035em;
    text-transform:none;
    line-height: 1em;
}

    .footer-menu a:hover span
    .grid-menu a:hover span {
        border-bottom:3px solid #fff;
    }


/* Expanded (desktop) menu styles */

@media (min-width: 751px) {
    .site_info, .network-nav {
        position: relative;
        z-index: 21;
    }
    .hero-container {
        display: block;
        position: absolute;
        width: 100%;
        min-height: 300px;
        opacity:0;
        transform: translateY(-100%);
        background: rgba(45, 50, 46, 0.99);
        transition: transform 200ms ease-out, opacity 200ms ease-out;
        z-index: 19;
        left: 0;
        padding: .75em 0 1.5em;
    }

    .hero-container a {
        color: #fff;
        text-decoration: none;
        font-family: "acumin-pro-extra-condensed", Helvetica, Arial;
        font-weight: 200;
        font-size: 1.5em;
        text-transform: uppercase;
    }

    .hero-container .sub-menu .sub-menu a {
        width:200px;
        height:200px;
        background: rgb(50, 50, 56);
        display: block;
        margin-right: .4em;
        margin-top: .4em;
        position: relative;
        overflow: hidden;
        box-shadow:0.1em 0.1em 0.3em rgba(0, 0, 0, 0.2);
    }

        .hero-container .sub-menu .sub-menu a::before,
        .hero-container .sub-menu .sub-menu a::after {
            content: "";
        }

    .hero-container .sub-menu .sub-menu a > span {
        position: absolute;
        z-index:2;
        left: 0;
        padding: 0.15em 0 0.4em .5em;
        bottom: 0;
        font-size: 1.25em;
        text-shadow:0 -1px 9px rgba(0, 0, 0, 0.5), 0 0 10px rgba(0, 0, 0, 0.7);
        border-bottom:3px solid transparent;
        letter-spacing: .035em;
        text-transform:none;
        line-height: 1em;
    }

        .hero-container .sub-menu .sub-menu a:hover > span {
            border-bottom:3px solid #fff;
        }

    .hero-container a > img {
        padding-right: 0 !important;

        /* Many thumbs have a light line running across the top. Hide it! */
        margin-top: -1px;
        transition: all 150ms ease-in-out;
    }

        .hero-container a:hover > img {
            transform: scale(1.08);
        }

    .hero-container ul {
        list-style: none;
        padding: 0;
    }

    .hero-container > div > ul > li > a {
        font-size: 1em;
        line-height:1;
        margin:0 0 0 1em;
        font-family:"acumin-pro", Helvetica, Arial;
        font-weight: bold;
    }

    .hero-container .sub-menu .sub-menu {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-flow: row wrap;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        -ms-flex-pack: start;
        -webkit-justify-content:flex-start;
        justify-content: flex-start;
        padding: 0;
        margin: 0 0 2.5em;
    }

    #main_menu .sub-menu {
        display: none;
    }
    /*.nav li:hover ul, .nav li.sfHover ul { z-index:100; display:block; }*/

    .hero-container.open {
        opacity:1;
        transform: translateY(0%);
        box-shadow: 0px 7px 30px 0px rgba(0, 0, 0, 0.75);
    }


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

    .nav {
        margin-left:-.7em;
    }

    en {
        background:#222;
    }

        /*.sub-menu .current_page_item>a,
        .single-post .sub-menu .current_page_parent>a,
        .sub-menu .current_page_ancestor>a,
        .sub-menu .current-menu-item>a,
        .sub-menu .current-menu-parent>a,
        .sub-menu .current-menu-ancestor>a,
        .sub-menu .current-page-ancestor>a {
            background: #eee;
        }*/

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

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

}

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

    /* 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 > li > a {
            text-transform: uppercase;
            font-family: "acumin-pro-extra-condensed", Helvetica, Arial;
            font-size:1.25em;
        }

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

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

    /* Off screen menu */

    .site_info nav {
        line-height:0;
    }

    /* Reduce vertical padding */
    .nav a {
        padding:.2em 1em;
    }

        .nav .sub-menu a {
            padding:.35em 1em;
        }

        /* Make sure background stretches to edge of menu */
        .nav .sub-menu a, .nav .children a {

        }

        .nav .menu-image {
            display:none;
        }

    .nav .sub-menu {
        max-height: 0;
        overflow: hidden;
        padding-left: 1.25em;
    }

    .nav .sub-menu.open {
        max-height: none;
    }

    .nav .menu-item-has-children > a {
        position: relative;
    }

    .nav .menu-item-has-children > a::after {
        content: " ";
        background: url(images/angle-white.svg);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        height: 1em;
        width: 1em;
        display: inline-block;
        padding: .5em;
        cursor: pointer;

        position: absolute;
        top: 50%;
        right: 1.5rem;
        transition: transform .2s ease-out;

        transform:translateY(-50%);
    }

        .nav .sub-menu .menu-item-has-children > a::after {
            opacity:.5;
        }

    .nav .menu-item-has-children > a.open::after {
        transform: rotate(.5turn) translateY(50%);
    }

    /* 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 {
        color:#433a65;
        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, #433a65 0, #433a65 15%, transparent 15%, transparent 42%, #433a65 42%, #433a65 57%, transparent 57%, transparent 85%, #433a65 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:87%;
        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: #334;
        font-size: 1.5em;
    }

        /* 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;
            }
        }

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

        /* 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;
        }
        */

}


/* Pagination */

.pagination {
    margin:2em 0 1em;
}

    .pagination .page-numbers {
        display:inline-block;
        vertical-align: middle;
        text-decoration:none;
        padding:.15em .5em;
        margin:0 .25em 0 0;
        background:#fff;
        border:1px solid #b5add2;
    }

        .pagination .page-numbers:hover {
            border-color:#433a65;
        }

        .page-numbers.current {
            font-weight:bold;
            border-color:#433a65;
            background:#433a65;
            color:#fff;
        }


#site-cover, .front-page-feature {
    color: #fff;
    background-color: #fafafa;
    background-size: cover;
    background-position: center;
    background-repeat:no-repeat;
    text-align: center;
    /*text-shadow:2px 2px 2px rgba(0, 0, 0, .25), -0px -0px 1em rgba(0, 0, 0, 0.7);*/
    word-break:break-word;

    height:25vh;
    min-height:12.5em;

    /* Vertical centring */
    display:-ms-flexbox;
    display:-webkit-flex;
    display:flex;

    -ms-flex-align:center;
}

    @media (max-width:800px) {
        #site-cover {
            height:auto;
            padding:2em 0;
            position: relative;
        }

            #site-cover::before {
                content: "";
                display: block;
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                background: rgba(0, 0, 0, 0.45);
            }
    }

    @media (min-width:1000px) {
        #site-cover {
            height: 25em;
        }
    }

    @media (min-height:700px) {
        #site-cover {
            height: 25em;
        }

        @media (min-width:800px) {
            #site-cover {
                background-position:50% calc((100vh - 800px) * -1);
            }
        }
    }

    @media (min-height:950px) {
        #site-cover {
            min-height: 30em;
        }
    }

    @media (min-height:1000px) {
        #site-cover {
            /*min-height: 60vh;*/
        }
    }

    #site-cover h1 {
        font-size: 7em;
        margin: 0;
        display: inline-block;
        border-top: 4px solid rgba(255,255,255,.95);
        border-bottom: 4px solid rgba(255,255,255,.95);
        line-height: .85em;
        padding: 0 0 .15em;
        font-weight: 100;
        line-height: .85;
        font-family: "acumin-pro-extra-condensed", Helvetica, Arial;
        text-transform:uppercase;
        text-shadow:2px 2px 0 rgba(0,0,0,0.3), 5px 5px .25em rgba(0,0,0,0.4);
    }

        @media (max-width:800px) {
            #site-cover h1 {
                font-size:4em;
                position:relative;
            }
        }

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

.main_wrap {
    background-color: #fff;
    color: #383740;
    color: #4a4a4a;
}

.main_wrap > .contentbox > article > p:first-of-type {
    font-size: 1.3em;
    color: #287e8f;
    line-height: 1.4em;
}

article h1,
article h2 {
    font-weight:normal;
    font-family:"acumin-pro-extra-condensed", Helvetica, Arial;
}

article h1 {
    text-transform: uppercase;
    color: #368d3e;
    font-size: 2.7em;
}

article h2 {
    margin:.5em 0 .25em;
    font-size: 2em;
    color: #368d3e;
}

article h3 {
    font-size: 1.3em;
    color: #368d3e;
}

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

article a {
    color:#368d3e;
}

    article a:hover {
        color:#368d3e;
    }

/* 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;
}

    /* -----
    SVG Icons - svgicons.sparkk.fr
    ----- */

    .svg-icon {
      width: 1em;
      height: 1em;
    }

    .svg-icon path,
    .svg-icon polygon,
    .svg-icon rect {
      fill: #5ea050;
    }

    .svg-icon circle {
      stroke: #5ea050;
      stroke-width: 1;
    }

    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;
    }


.key-docs__content {
    width: 30%;
    min-width: 350px;
    padding: 1em 1.5em;
    
    float: right;
    margin-left: 1em;
    
    box-shadow: 1px 1px 1px 1px rgba(15, 39, 105, 0.25);
}

.key-docs__title {
    margin-top: 0;
}

.key-docs__content a[href*=".pdf"]::after,
.key-docs__content a[href*=".doc"]::after,
.key-docs__content a[href*=".docx"]::after {
    display: inline-block;
    font-size: .7em;
    vertical-align: super;
    margin-left: .35em;
}

.key-docs__content a[href*=".pdf"]::after {
    content: "[PDF]";    
}

.key-docs__content a[href*=".doc"]::after {
    content: "[DOC]";    
}

.key-docs__content a[href*=".docx"]::after {
    content: "[DOCX]";    
}

.key-docs__content a[href*=".xls"]::after {
    content: "[XLS]";    
}

.key-docs__content a[href*=".xlsx"]::after {
    content: "[XLSX]";    
}

@media (max-width: 800px) {
    .key-docs__post-content {
        display: flex;
        display: -ms-flex;
        display: -webkit-flex;
        
        flex-flow: column nowrap;
        -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
        
    }
    
    .key-docs__content {
        order: 2;
        width: 100%;
        margin: 1em 0;
    }
}

/*
 * Objects
 */

/* Content row: group of related content requiring visual separation */

.o-content-row {
    margin:0 0 2em;
}

    /* Variant: semantically the same, but no margin required */
    .o-content-row--padded {
        margin:0;
    }

    /* Variant: tighter spacing */
    .o-content-row--tight {
        margin:0 0 1em;
    }

/* Flex: remember floats? */
.o-flex {
    display:-ms-flexbox;
    display:-webkit-flex;
    display:flex;
    -ms-flex-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}



/*
 * Components
 */

/* Aside box: Lightly tinted box for distinct bits of content */

.c-aside-box {
    background:#F2FDFF;
    padding:1em;
}

    /* Title element: box already has top padding, so disable margin */
    .c-aside-box__title {
        margin-top:0;
    }


/* Cards */

.c-cards,
.be-listing,
.BE.shopping-cart .cartItems {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-flow: row wrap;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
}

    @media (min-width:600px) {
        .c-cards--generic {
            margin:0 -.625em;
            align-items:baseline;
        }
    }

@media (min-width:600px) {
    .c-cards__card,
    .be-listing--generic .be-listing__inner,
    .BE.shopping-cart .item {
        box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, .15);
    }
}

    .c-cards--generic .c-cards__card {
        margin:0 0 1.25em;
    }

        @media (min-width:600px) {
            .c-cards--generic .c-cards__card {
                width:calc(50% - 1.25em);
                margin:0 .625em 1.25em;
            }
        }

        @media (min-width:800px) {
            .c-cards--generic .c-cards__card {
                width:calc(33.333% - 1.25em);
            }
        }

        @media (min-width:1000px) {
            .c-cards--generic .c-cards__card {
                width:calc(25% - 1.25em);
            }
        }

    .card__title {
        margin:.5em 0 .25em;
        line-height:1;
    }

        .card__link--title {
            text-decoration:none;
        }

        @media (min-width:600px) {
            .card__title {
                margin-left:.5em;
                margin-right:.5em;
            }
        }

    .card__excerpt {
        margin:0 0 1em;
    }

        @media (min-width:600px) {
            .card__excerpt {
                margin-left:1em;
                margin-right:1em;
            }
        }

        .card__excerpt p:first-child {
            margin-top:0;
        }

        @media (max-width:1000px) {
            .card__link--description.alignright {
                margin:.25em 0;
            }
        }

    .card__image {
        width:100%;
        display: block;
    }

    .card__link--image {
        display: flex;
        height: 12em;
        overflow: hidden;
        justify-content: center;
        align-items: center;
    }



.grid-menu {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-flow: row wrap;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    list-style: none;
    padding: 0;
}

.grid-menu li {
    padding: .75em;
}

.grid-menu a {
    color: #fff;
    display: block;
    position: relative;
    max-height: 14em;
    overflow: hidden;
    text-align: center;
    box-shadow: 1px 2px 2px 1px rgba(0,0,0,.15);
}

.grid-menu .menu-item a img {
    width: 100%;
    transition:all 150ms ease-in-out;
    padding: 0 !important;
}

    .grid-menu a:hover img {
        -webkit-transform:scale(1.05);
        transform:scale(1.05);
    }

.grid-menu span {
    color:#fff;
    font-size:2em;
    font-family: "acumin-pro-extra-condensed", Helvetica, Arial;
}

@media (min-width: 1000px) {
    .grid-menu li {
        width: 50%;
    }
}

@media (min-width: 1300px) {
    .grid-menu li {
        width: 33.33337%;
    }
}

#page233 article > header {
    padding: 0 5%;
}

/* These 2 will make image captions look a bit like polaroids */
.wp-caption {
    background:#d6e8ba;
    overflow:hidden;
    max-width:100%;
    font-size: .85em;
}

    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;
        text-align: left;
    }

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

        .gallery .wp-caption-text, .gallery-caption {
            margin:.35em 1em 0 0;
            padding: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 br {
        display:none;
    }

    .gallery img {
        max-width:100%;
    }

}

/*
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:.5em 0 .5em 2.5em;
    margin:1.5em 0 1.5em 0;
    font-size:1.3em;
    border: 1px solid #ddd;
    border-width: 1px 0;
}

    @media (min-width:1200px) {
        blockquote {
            margin-left:-2.5em;
        }
    }

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

    blockquote p {
        margin:.5em 0;
    }

    blockquote cite {
        font-weight:bold;
    }

        blockquote cite:before {
            content:"- ";
        }


/* 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,
.im-pricebutton,
.addToCart,
.BE.shopping-cart .checkout a,
.BE.shopping-cart .remove a,
.removeItem a,
.checkOutNow {
    color: #368d3e;
    background: #fff;
    border: 1px solid #368d3e;
    cursor:pointer;
    font-weight: normal;
    font-size: 1.4em;
    border-radius:3px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: .2em .75em .35em;
    text-decoration: none;
    letter-spacing:.025em;
    display:inline-block;
    font-family: "acumin-pro-extra-condensed", Helvetica, Arial;
}

        .button:hover,
        button:hover,
        .im-pricebutton:hover,
        .addToCart:hover,
        .removeItem a:hover,
        .BE.shopping-cart .checkout a:hover,
        .BE.shopping-cart .remove a:hover,
        .checkOutNow:hover {
            color: #fff;
            background: #368d3e;
        }

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

    .button--heavy {
        background:#368d3e;
        color:#fff;
    }

        .button--heavy:hover {
            background:#296B31;
        }

    .button--plain, .button--plain:hover {
        color: #296B31;
        background:transparent;
        border:none;
    }

    .button.button--inverse {
        color: #fff;
        background: transparent;
        border-color: #fff;
    }

        .button.button--inverse:hover {
            color: #362f51;
            background:#fff;
        }


/* Gravity Forms Style fixes */

.gform_wrapper form {
    margin-top: 0;
}

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

    :root .gform_wrapper textarea,
    :root .gform_wrapper input[type=text],
    :root .gform_wrapper input[type=url],
    :root .gform_wrapper input[type=email],
    :root .gform_wrapper input[type=tel],
    :root .gform_wrapper input[type=number],
    :root .gform_wrapper input[type=password] {
        padding:.15em .2em;
        font-size: .8em;
        max-width: 100%;
        border: 1px solid #ddd;
    }

:root .gform_wrapper .gfield_checkbox li input[type=checkbox],
:root .gform_wrapper .gfield_radio li input[type=radio],
:root .gform_wrapper .gfield_checkbox li label,
:root .gform_wrapper .gfield_radio li label {
    display:inline-block;
    vertical-align:top;
    float:none;
    white-space: normal;
}

    :root .gform_wrapper.gform_wrapper .gfield_checkbox li input[type=checkbox],
    :root .gform_wrapper.gform_wrapper .gfield_radio li input[type=radio] {
        margin-top: .25em;
    }

    :root .gform_wrapper .gfield_checkbox li label {
        margin:0 0 0 .25em;
    }

    :root .gform_wrapper .gfield_radio li label {
        margin:0 0 0 .5em;
    }

    :root .gform_wrapper .gfield_checkbox li label,
    :root .gform_wrapper .gfield_radio li label {
        margin-right:1em;
        line-height:1.25;
    }

/* Cut back on vertical spacing! */

:root .gform_wrapper .top_label .gfield_label,
:root .gform_wrapper .field_sublabel_above .gfield_date_day label,
:root .gform_wrapper .field_sublabel_above .gfield_date_month label,
:root .gform_wrapper .field_sublabel_above .gfield_date_year label,
:root .gform_wrapper .field_sublabel_above .gfield_time_ampm label,
:root .gform_wrapper .field_sublabel_above .gfield_time_hour label,
:root .gform_wrapper .field_sublabel_above .gfield_time_minute label,
:root .gform_wrapper .field_sublabel_above .ginput_complex label,
:root .gform_wrapper .field_sublabel_above .instruction {
    margin:.6em 0 .15em;
}

:root .gform_wrapper .ginput_complex label {
    font-size:.85em;
}

body :root .gform_wrapper label.gfield_label+div.ginput_container {
    margin-top:0;
}

:root .gform_wrapper .gfield_checkbox li, :root .gform_wrapper .gfield_radio li {
    margin:0 .25em;
    overflow:initial;
    white-space: nowrap;
}

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


/* Multiple select JS overrides */

.ms-choice.ms-choice > span.placeholder {
    color:rgba(255,255,255,0.8);
}


/***************************************************************
 *
 * 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_excerpt_category {
    font-size: .9em;
}

.news_excerpt_category a {
    color: #666;
    font-style: italic;
}

:root .news_archive {
    align-items: stretch;
}
/***************************************************************
 *
 * Homepage
 *
 ***************************************************************/

.home .main_wrap {
    background-color: transparent;
}

.home article {
    background-color: #fff;
}

/* .front-page-feature {
    padding: 0 1em;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    padding: 2em 0;
} */

.front-page-tiles {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-flow: row wrap;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    font-size: 1.25em;
    padding:0;
    margin: auto;
    width: 100%;
}

.front-page-feature {
    padding:2em 0;
    height:auto;
    position: relative;
    overflow: hidden;
}

    @media (max-width:1024px) {
        .front-page-feature, .front-page-feature .contentbox {
            padding:0;
        }
    }

.front-page-feature__img--background, .front-page-feature__img--svg {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-position: center;
    background-repeat:no-repeat;
}

    .front-page-feature__img--svg {
        /* Hide (we'll show with an IE specific media query) */
        display:none;

        /* Cover background image div */
        background-color:#fff;

        /* Ensure background matches SVG image */
        background-size:contain;
    }

    /* Show for IE 10 & 11 */
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
        .front-page-feature__img--svg {
            display:block;
        }
    }

        .front-page-feature__img--svg image {
            opacity:0;
        }

            .front-page-feature__img--svg.blur image {
                opacity:1;
            }

    .front-page-feature__img--background,
    .front-page-feature__img--svg image {
        background-position: center;
        background-repeat:no-repeat;
        background-size: cover;
        overflow: hidden;
        -ms-transition:all 200ms ease-in-out;
        transition:all 200ms ease-in-out;
    }

    @media (min-width:800px) {
        .front-page-feature__img--background, #site-cover {
            background-attachment:fixed;
        }
    }

.front-page-feature__img--background.blur {
    -webkit-filter: blur(3px) grayscale(100%) brightness(70%);
    -moz-filter: blur(3px) grayscale(100%) brightness(70%);
    -o-filter: blur(3px) grayscale(100%) brightness(70%);
    -ms-filter: blur(3px) grayscale(100%) brightness(70%);
    filter: blur(3px) grayscale(100%) brightness(70%);
}

.front-page-events {
    color: #fff;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.front-page-events .events-icon {
    content: " ";
    background: url(images/explore-splash.png);
    background-position: center;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    padding: .5em 0 4em;
    margin-bottom: -4em;
}

.front-page-events h1 {
    color: #fff;
}

.front-page-tiles > li {
    width: 100%;
    /* height: 200px; */
    position: relative;
    overflow: hidden;
    color: #fff;
    font-size: 1.5em;
    text-align: left;
}

    @media (min-width: 550px) {
        .front-page-tiles > li {
            width: 50%;
        }
    }

    @media (min-width: 820px) {
        .front-page-tiles > li {
            width: 33.333%;
        }
    }

.front-page-tiles a {
    text-decoration: none;
    color: #fff;
}

    @media (max-width:1024px) {
        .front-page-tiles a {
            width:100%;
        }
    }

    .front-page-tiles a:hover {
        box-shadow: 2px 2px 14px 1px rgba(0,0,0,.4);
    }

.front-page-tile {
    line-height:1.5;
}

.home article.front-page-third-section {
    background: url(images/sunset.jpg);
    background-size: cover;
    background-position: center;
    padding-bottom: 15em;
}

    @media (max-width:600px) {
        .home article.front-page-third-section {
            padding-bottom:20em;
        }
    }

.experience-text {
    text-align: left;
    color:#2B2541;
}

    @media (min-width:750px) {
        .experience-text {
            -moz-columns: 2;
            -moz-column-gap: 2.5em;
            -webkit-columns: 2;
            -webkit-column-gap: 2.5em;
            columns: 2;
            column-gap: 2.5em;
        }
    }

    .experience-text p {
        margin: .6em 0;
    }

    .experience-text p:first-of-type {
        margin-top: 0;
    }

@media (min-width:1025px) {

    .front-page-tiles li:nth-of-type(4),
    .front-page-tiles li:nth-of-type(5),
    .front-page-tiles li:nth-of-type(6) {
        text-align: right;
        border-top:1px solid rgba(255, 255, 255, 0.65);
    }
}

.front-page-tiles a {
    position: relative;
    z-index: 18;
    font-family: "acumin-pro-extra-condensed", Helvetica, Arial;
    font-weight: 200;
    font-size: 1.6em;
    height: 5.5em;
    width: 5.5em;
    display: block;
    padding: 0;
    color: rgba(241, 253, 242, 0.95);
    /* background: rgba(0,0,0,.1); */
    text-shadow: -0px -0px 16px rgba(0, 0, 0, 1), -0px -0px 16px rgba(0, 0, 0, 1);
    text-shadow: 2px 2px 0 rgba(19, 32, 21, 0.4), 0 0 0.35em rgba(0,0,0,0.85), 0 0 1.25em rgba(86, 118, 90, 0.5);
    transition: all .35s ease-out;
    letter-spacing:.025em;

    /* Workaround to make sure menu-image doesn't overflow the link */
    -webkit-mask-image: -webkit-radial-gradient(white, black);
}

    @media (max-width:1024px) {
        .front-page-tiles a {
            width:100%;
            height:auto;
            padding: 0;
        }

        .front-page-tiles a::before, .front-page-tiles a::after {
            content: "";
            z-index:1;
            display: block;
            position: absolute;
            transition:all 150ms linear;
            top: -2px;
            left: -2px;
            right: -2px;
            bottom: -2px;
            background:linear-gradient(to bottom, rgba(17, 0, 77, 0.2) 0, rgba(17, 0, 77, 0.25) 30%, rgba(15, 8, 43, 0.73) 100%);
        }

            .front-page-tiles a::before {
                bottom:-100%;
                transition-duration:300ms;
            }

            .front-page-tiles a::after {
                opacity:0;
                background:linear-gradient(to bottom, transparent 0, transparent 60%, rgba(0,0,0,0.7) 100%);
            }

                .front-page-tiles a:hover::after {
                    opacity:1;
                }

            .front-page-tiles a:hover::before {
                opacity:0;
            }

    }

    .front-page-tiles a:hover {
        background: rgba(0,0,0,.1);
        color: #fff;
    }

    @media (min-width:1025px) {
        .front-page-tiles li:nth-of-type(4) a,
        .front-page-tiles li:nth-of-type(5) a,
        .front-page-tiles li:nth-of-type(6) a {
            border-bottom: none;
            padding-top: 0;
        }
        .front-page-tiles li:nth-of-type(4) .menu-image-title,
        .front-page-tiles li:nth-of-type(5) .menu-image-title,
        .front-page-tiles li:nth-of-type(6) .menu-image-title {
            top: .35em;
            bottom: auto;
        }
    }

    .front-page-tiles .menu-image-title {
        display: block;
        margin: 0;
        padding: .1em .5em;
        transition:all 300ms cubic-bezier(0.63, 0.15, 0.28, 1.15);
        line-height: 1.2;
        position: absolute;
        left: 0px;
        bottom: .35em;
        width: 100%;
    }

        @media (max-width:1024px) {
            .front-page-tiles .menu-image-title {
                padding:.25em .5em;

                z-index:2;
            }
        }

        @media (min-width:1025px) {
            .front-page-tiles a:hover .menu-image-title {
                background:rgba(0,0,0,0.35);
            }
            .front-page-tiles .menu-image {
                z-index:-1;
                transition:opacity 200ms cubic-bezier(0.63, 0.15, 0.28, 1.15), transform 600ms ease-in-out;
            }
        }

        @media (min-width:1025px) {
            .front-page-tiles .menu-image {
                opacity:0;
            }
        }

        /* ID selector to override plugin styles */
        #front-page-tiles .menu-image {
            padding:0;
        }

        .front-page-tiles a:hover .menu-image {
            opacity:1;
            -webkit-transform:scale(1.05);
        }


/*
.front-page-tiles > li::before {
    content: " ";
    display: block;
    position: absolute;
    top: 0;
    z-index: 1009;
    width: 5em;
    height: 100%;
    background: url(images/explore-bg.jpg);
    background-position: center;
    background-size: cover;
    opacity: .6;
}
*/
@media (min-width: 1300px) {
    .front-page-tiles {
        font-size: 1.55em;
    }
}
.home .main_wrap article {
    text-align: center;
}

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

.contact--widgetcontent, .contact--widgetcontent>li {
    list-style:none;
    margin:0;
    padding:0;
}

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

footer {
    clear: both;
    color:#f5f5f5;
    font-size:.8em; /* footer has been set to 12.8px */
}

.footer-nav {
    background: #fff;
    padding: 1.75em 0;
}

    .footer-nav__message {
        color:#287e8f;
        font-size:1.5em;
        line-height:1.4;
        margin-top:0;
        margin-bottom:.5em;
        letter-spacing:.06em;
    }

        @media (max-width:450px) {
            .footer-nav__message {
                margin-left:.75rem;
                margin-right:.75rem;
            }
        }

    .footer-nav .contentbox {
        padding: 0;
    }

    .footer-menu {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -ms-flex-flow: row wrap;
        -webkit-flex-flow: row wrap;
        flex-flow: row wrap;
        -ms-flex-pack: justify;
        -webkit-justify-content: space-between;
        justify-content: space-between;
        padding: 0;
        list-style:none;
    }

        .footer-menu li {
            width: 100%;
            padding: 0;
        }

        .footer-menu a {
            display: block;
            position: relative;
            padding: 0;
            font-family: "acumin-pro-extra-condensed", Helvetica, Arial;
            font-weight: 200;
            font-size: 2em;
            overflow: hidden;
        }

            .footer-menu a img {
                transition: all 150ms ease-in-out;
            }

                /* Higher specificity to override plugin stylesheet */
                #footer-menu img {
                    padding:0;
                    width:100%;
                }

                .footer-menu a:hover img {
                    transform: scale(1.05);
                }

            .footer-menu span {
                color: #fff;
                font-size: 1.35em;
            }

        @media (min-width:450px) {

            .footer-menu {
                margin:1em 0 0;
            }

            .footer-nav .contentbox {
                padding:0 .75em;
            }

            @media (min-width: 750px) {
                .footer-nav .contentbox {
                    padding: 0 1.5em;
                }
            }

            @media (min-width: 1200px) {
                .footer-nav .contentbox {
                    padding: 0 5%;
                }
            }

            .footer-menu li {
                width: calc(50% - .5em);
                margin:0 0 1em;
            }

                @media (max-width:749px) {
                    .footer-menu li:last-child {
                        margin:0 auto 1em;
                    }
                }
        }

        @media (min-width: 750px) {

            .footer-menu li {
                width:calc(33.333% - .6667em);
            }
        }

        @media (min-width: 1100px) {

            .footer-menu li {
                width: calc(20% - .8em);
            }
        }


footer .register-info {
    color: #368d3e;
    margin-bottom: 1em;
    margin-top: 1em;
}

footer .register-info .button {
    line-height: 1.5;
    padding: 0 .5em .1em;
    margin-left: .25em;
    color: #fff;
    background: #368d3e;
    font-size: 1.2em;
}

.footer-logo {
    background: #fff;
    text-align: center;
    padding: 2em 0 1em;
}

    @media (min-width:750px) and (max-width:1100px) {
        .footer-logo {
            margin:-9em 0 0;
            padding:2em 0;
        }
    }

/* Social */

.social-media--footer {
    padding: 1em 0 0;
}

    .social-media__title {
        margin:0 .5em 0 0;
        vertical-align: middle;
    }

    .social-media--header {
        margin:.5em 0 0 .65em;
        align-self:flex-end;
    }

        @media (max-width:750px) {
            .social-media--header {
                margin-right:.5em;
            }
        }

    .social-media--header .social-media__icons {
        margin:0;
        display:inline-block;
        vertical-align: middle;
    }

.social-icons {
    text-align: center;
    padding: 0;
    list-style:none;
}

    .social-icons li {
        display: inline-block;
    }

    .social-icons a,
    .social-icons .svg-icon {
        width: 2em;
        height: 2em;
        display: block;
        position:relative;
        text-indent:-9999px;
    }

        .social-media--footer .social-icons a,
        .social-media--footer .svg-icon {
            width: 3.5em;
            height: 3.5em;
        }

        .social-icons .svg-icon {
            position:absolute;
            transition: all 50ms ease-in-out;
        }

            .social-icons a:hover .svg-icon {
                transform:scale(1.1);
            }

        .social-media--footer .svg-icon path,
        .social-media--footer .svg-icon polygon,
        .social-media--footer .svg-icon rect {
            fill: #fff;
        }

        .social-media--footer .svg-icon circle {
            stroke: #fff;
            stroke-width: 1;
        }

.credits {
    clear:both;
    text-align:center;
    padding-bottom: 4em;
    color:rgba(255,255,255,0.7);
}

    footer a {
        color:#fff;
        text-decoration: none;
    }

@media (max-width:800px) {

    footer .widgetarea {
        width:100%;
        padding:0;
        margin:1em 0;
    }

    section.credits {
        width: auto;
        float: none;
    }

}

.hidden {
    display: none !important;
}