/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
    color: #222;
}

html {
    font-size: 1em;
    line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */

audio,
canvas,
img,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browse Happy prompt
   ========================================================================== */

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */

















/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    /* IE 6/7 fallback */
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
    display: none !important;
    visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important; /* Black prints faster: h5bp.com/s */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links for images, or javascript/internal links
     */

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group; /* h5bp.com/t */
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}




/* Global Style */
*{
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
    -moz-box-sizing: border-box;    /* Firefox, other Gecko */
    box-sizing: border-box;         /* Opera/IE 8+ */
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
    display: block;
}
a{
    -webkit-transition: transition: background-color 0.5s ease;
    -moz-transition: transition: background-color 0.5s ease;
    -o-transition: transition: background-color 0.5s ease;
    transition: transition: background-color 0.5s ease;
}
/* -------------------------------- */

body{
    background: url(../img/footer-bg.jpg) repeat-x bottom #F6F5E8;
    color: #333333;
    font-family: Helvetica, Arial, Sans-serif;
}
header{
    width: 100%;
    position: relative;
}
.mobile{
    width: 100%;
    display: block;
    padding: 10px 20px;
    text-align: center;
    background: #A75421;
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid #fff;
}
.mobile:hover{
    color: none;
}
.mobile-nav{
    display: none;
}
.logo{
    width: 300px;
    height: 83px;
    background: url(../img/logo.png) no-repeat;
    display: block;
    position: absolute;
    top: 20px;
    left: 50%;
    margin-left: -150px;
    z-index: 999;
}
body.home .logo{
    top: 30px;
}

header img{
    width: 100%;
}
body.venue header, body.accommodation header, body.restaurant header, body.restaurant header, body.events header, body.attractions header, body.about header, body.contact header, body.terms header{
    min-height: 168px;
    padding: 130px 0 0 0;
}
body.venue header{
    background: url(../img/venue-for-hire-bg.jpg) no-repeat center top;
}
body.accommodation header{
    background: url(../img/accommodation-bg.jpg) no-repeat center top;
}
body.restaurant header{
    background: url(../img/restaurant-bg.jpg) no-repeat center top;
}
body.events header{
    background: url(../img/event-bg.jpg) no-repeat center top;
}
body.attractions header{
    background: url(../img/camp-bg.jpg) no-repeat center top;
}
body.about header{
    background: url(../img/about-bg.jpg) no-repeat center top;
}
body.contact header{
    background: url(../img/contact-bg.jpg) no-repeat center top;
}
body.terms header{
    background: url(../img/contact-bg.jpg) no-repeat center top;
}
nav ul{
    width: 100%;
    margin: 0;
    padding: 0;
    display: none;
}
nav ul li{
    width: 100%;
    float: left;
    margin: 0 0 1px 0;
    text-align: center;
}
nav ul li a{
    font: normal 14px Helvetica, Arial, Sans-serif;
    color: #fff;
    background-color: #342217;
    background-color: rgba(52, 34, 23, 0.9);
    display: block;
    padding: 10px;
    text-decoration: none;
    text-transform: uppercase;
}
nav ul li a:hover{
    color: #fff;
}
section{
    padding: 20px;
    max-width: 960px;
    clear: both;
    margin: 0 auto;
}
section ul{
    margin: 0;
    padding: 0 0 0 20px;
}
section ul li{
    margin: 0 0 20px 0;
    font: normal 0.9em/150% Helvetica, Arial, Sans-serif;
}
strong.title{
    display: block;
}
h1{
    font: bold 1.8em Helvetica, Arial, Sans-serif;
    margin: 20px 0;
    text-align: center;
}
h3{
    font: bold 1.1em Helvetica, Arial, Sans-serif;
}
p{
    font: normal 0.9em/150% Helvetica, Arial, Sans-serif;
    text-align: center;
    margin: 0 0 20px 0;
}
.features{
    background: #E1DFCB;
    padding: 0;
    max-height: 450px;
    width: 70%;
    margin: 0 auto 20px;
    padding: 0 0 20px 0;
}
.features h2{
    font: bold 1.3em Helvetica, Arial, Sans-serif;
    margin: 20px 0 10px;
}
.features img{
    width: 100%;
}
.features a{
    font: normal 0.9em Helvetica, Arial, Sans-serif;
    color: #333;
    display: block;
    text-decoration: none;
    margin: 0 0 5px 0;
    padding: 0 20px;
}
.one{
    border-bottom: 5px solid #5E4A40;
}
.two{
    border-bottom: 5px solid #AE9E7E;
}
.three{
    border-bottom: 5px solid #8C1F22;
}
.four{
    border-bottom: 5px solid #06A1E0;
}
.features a:hover{
    text-decoration: underline;
    color: #E11655;
}
footer{
    border-top: 2px solid #AE9E7E;
    padding: 20px;
    clear: both;
    max-width: 960px;
    margin: 0 auto;
}
footer, footer a{
    text-align: center;
    color: #5E4A3F;
    font: normal 0.9em/150% Helvetica, Arial, Sans-serif;
}
.copyright{
    display: block;
}





aside{
    background: #D5D5C1;
    width: 100%;
    padding: 0 0 20px;
}
article.school-name{
    width: 100%;
    padding: 0 0 20px;
}
aside ul{
    margin: 0;
    list-style: none;
    padding: 0;
    background: #E1DFCB;
}
body.contact aside{
    background: none;
}
body.contact aside p{
    padding: 20px 0 0;
}
aside ul li{
    float: none;
    border-bottom: 1px solid #fff;
}
aside ul li a{
    color: #333;
    display: block;
    padding: 15px 20px;
    text-decoration: none;
    background: url(../img/aside-arrow.png) no-repeat right;
}
aside ul li a:hover{
    background: url(../img/aside-arrow.png) no-repeat right #D9D9C5;
    text-decoration: none;
}
aside h4{
    padding: 15px 20px;
    margin: 0;
    font: bold 1.1em Helvetica, Arial, Sans-serif;
}
aside p strong{
    display: block;
}
aside p{
    text-align: left;
    padding: 0 20px 20px;
    margin: 0;
    color: #666666;
}
aside ul.points{
    list-style: circle;
    margin: 0 0 0 20px;
    padding: 0 20px;
    background: none;
}
aside ul.points li{
    border-bottom: none;
    color: #666666;
}
article img{
    width: 100%;
}
article a img{
   /* width: 15%;*/
    padding: 5px;
    background: #E1DFCB;
    float: left;
    margin: 10px 10px 10px 0;
}
article figure{
    padding: 15px;
    background: #E1DFCB;
    position: relative;
    clear: both;
}
article figcaption{
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 15px 55px 15px 15px;
    display: block;
    font: bold 1.1em Helvetica, Arial, Sans-serif;
    background: url(../img/caption-bg.png) no-repeat right;
}
article h1{
    text-align: left;
}
article p{
    text-align: left;
    margin: 20px 0;
    float: left;
}
aside p a{
    color: #666666;
}
body.accommodation article p, body.venue article p{
    clear: both;
    float: none;
}
article a{
    color: #E11655;
}
.divider{
    width: 100%;
    height: 1px;
    background: #E1DFCB;
    clear: both;
    margin: 30px 0;
}
article form{
    padding: 0 0 50px 0;
}
aside form{
    padding: 0 20px;
}

label{
    font: bold 0.9em Helvetica, Arial, Sans-serif;
    display: block;
    margin: 0 0 10px 0;
}
input[type="text"]{
    border: 1px solid #CCCCCC;
    background: #fff;
    padding: 5px 10px;
    width: 100%;
    margin: 0 0 10px 0;
    font: normal 0.9em Helvetica, Arial, Sans-serif;
    outline: none;
}
input[type="text"]:focus, textarea:focus{
    background: #E1DFCB;
}
.radios{
    padding: 5px 0;
    width: 100%;
    margin: 0 0 10px 0;
}
input[type="radio"]{
    float: left;
    margin: 0 5px 0;
}
.radio-text{
    display: block;
    margin: 0 10px 0 5px;
    float: left;
    font: normal 0.9em Helvetica, Arial, Sans-serif;
}
textarea{
    border: 1px solid #CCCCCC;
    background: #fff;
    width: 100%;
    height: 150px;
    padding: 5px 10px;
    font: normal 0.9em Helvetica, Arial, Sans-serif;
    outline: none;
}
input[type="submit"]{
    background: #B70202;
    padding: 10px 20px;
    border: none;
    color: #fff;
    margin: 20px 0 0 0;
}
article input[type="submit"]:hover{
    background: #7F0101;
}
aside input[type="submit"]{
    background: #4A2C1A;
}
aside input[type="submit"]:hover{
    background: #2D1A10;
}

.date{
    width: 15%;
    float: left;
    margin: 20px 0 0 0;
    padding: 0 15px 0 0;
}
.day, .month, .year{
    display: block;
    text-align: center;
}
.day{
    font-size: 2em;
    line-height: 0.8em;
}
.month{
    font-size: 1.1em;
    font-weight: bold;
}
.year{
    font-size: 0.9em;
}
.event-details{
    float: left;
    width: 85%;
    padding: 0 0 0 15px;
    border-left: 6px solid #D5D5C1;
}
.find-out-more{
    background: url(../img/find-out-more.png) no-repeat right #B70202;
    color: #fff;
    margin: 20px 0 0 0;
    padding: 10px 45px 10px 20px;
    text-decoration: none;
    display: block;
    width: 156px;
}
.find-out-more:hover{
    color: #fff;
    text-decoration: none;
    background: url(../img/find-out-more.png) no-repeat 115px 11px #910101;
}
.view{
    width: 165px;
}

body.venue table tr th, body.accommodation table tr th, body.events table tr th{
    font: normal 0.9em Helvetica, Arial, Sans-serif;
    padding: 10px 10px 5px 10px;
    background: #D2C9B3;
    color: #333;
    font-weight: bold;
    border-bottom: #EBEAD9;
    border-right: 1px solid #EBEAD9;
}
body.venue table tr.second th, body.accommodation table tr.second th, body.events table tr.second th{
    padding: 0px 0 5px;
    border-top: 1px solid #EBEAD9;
}
body.venue table tr td, body.accommodation table tr td{
    font: normal 0.9em Helvetica, Arial, Sans-serif;
}
body.venue table tr:nth-child(odd), body.accommodation table tr:nth-child(odd){
    background: #EBEAD9;
}
body.venue table td, body.accommodation table td, body.events table td{
    border: 1px solid #D2C9B3;
}

td{
    vertical-align: top;
    padding: 10px;
    border-bottom: 1px solid #D2C9B3;
}
td:nth-last-child(1){
    border-right: 0;
}
.smallText{
    font-size: 11px;
}
.asterisk{
    color: red;
}
.accordion h3{
    margin: 0 0 1px;
}
.accordion h3 a{
    color: #333;
    text-decoration: none;
    background: #E1DFCB;
    padding: 10px 20px;
    display: block;
}
.accordion h3 a:hover{
    background: #D9D9C5;
    color: #E11655;
}
.accordion div{
    background: #EEECDC;
    padding: 20px;
}
.accordion h1{
    margin: 10px 0 10px;
    padding: 0 20px 0 0;
    font: bold 1.4em Helvetica, Arial, Sans-serif;
}
.accordion div p{
    margin: 0 0 30px 0;
}
.accordion div td{
    padding: 0;
    border-bottom: none;
}
.accordion div td.category{
    padding: 10px 0 0 0;
    font: normal 1.5em Georgia, Times, Serif;
}
.accordion div ul, .accordion div ol{
    margin: 10px 0 30px 20px;
    padding: 0;
    width: 80%;
}
.accordion div ul li, .accordion div ol li{
    margin: 0 0 5px 0;
    padding: 0;
    font: normal 0.8em Helvetica, Arial, Sans-serif;
    list-style: circle;
}
.price{
    font: normal 1.5em Georgia, Times, Serif;
    display: block;
    margin: 6px 0 0 0;
}
.per{
    font: normal 0.8em Helvetica, Arial, Sans-serif;
}
.single{
    font: normal 0.8em Helvetica, Arial, Sans-serif;
    display: block;
    margin: 15px 0;
}
#map-canvas{
    width: 100%;
    height: 500px;
}
.msg{
    display: block;
    margin: 20px 0 0;
    padding: 20px;
    font: normal 0.9em Helvetica, Arial, Sans-serif;
    border: 1px solid #7FCC7F;
    color: #009900;
    background: #CCEBCC;
}
.error{
    color: red;
    background: #FFE5E5;
    border: 1px solid #FF7F7F;
}
.download-btn{
    display: block;
    padding: 20px;
    background: #342217;
    color: #fff;
    text-decoration: none;
    float: left;
    margin: 0 10px 10px;
    text-align: center;
}
.programme section p{
    width: 100%;
}
.programme section h2{
    text-align: center;
}
article a img.fb{
    width: 50% !important;
    clear: both;
}
article a img.pdf{
    width: 100% !important;
    clear: both;
}
.principle{
    float: left;
    margin: 0 20px 10px 0;
    width: 100px;
    border: 8px solid #e1dfca;
}
article.school-details ul{
    width: 100%;
    clear: both;
}
ul.schools{
    list-style: none;
    text-align: center;
    width: 100%;
    margin: 0;
}
ul.schools a{
    color: #E11655;
}
/*------------------------------------------------------------------------------ 30em */
@media screen and (min-width: 30em) {
    .features{
        float: left;
        width: 45%;
        margin: 0 10px 20px;
        min-height: 410px;
    }
    aside, article.school-name{
        width: 30%;
        float: left;
    }
    article, article.school-details{
        padding: 0 0 0 20px;
        width: 70%;
        float: left;
    }
    article h1, article p{
        float: none;
        width: 100%;
        padding: 0;
    }
    section ul{
        width: 70%;
        float: left;
    }
    section aside ul{
        width: auto;
        float: none;
    }
    section aside ul li{
        margin: 0;
    }
    body.about section p{
        width: 70%;
        float: left;
        padding: 0;
    }
    
    section.form article{
        padding: 0 20px 0 0;
    }
}
p.links a{
    color: #E11655;
}
/*------------------------------------------------------------------------------ 40em */
@media screen and (min-width: 40em) {
    .mobile{
        display: none;
    }
    .mobile-nav{
        display: block;
    }
    body.home a.home-nav, body.venue a.venue-nav, body.accommodation a.accommodation-nav, body.restaurant a.restaurant-nav, body.events a.events-nav, body.attractions a.attractions-nav, body.about a.about-nav, body.contact a.contact-nav{
        color: #333;
        font-weight: bold;
        background: #F6F5E8;
    }
    nav ul{
        max-width: 638px;
        left: 50%;
        margin-left: -319px;
        padding: 0;
        position: absolute;
        bottom: 0;
    }
    nav ul li{
        width: auto;
        float: left;
        margin: 0;
        text-align: center;
    }
    nav ul li a{
        width: 105px;
        padding: 10px 5px;
        text-decoration: none;
        font: normal 0.6em Helvetica, Arial, Sans-serif;
        background-image: url(../img/nav-divider.png);
        background-repeat: no-repeat;
        background-position: right;
        background-color: #342217;
        background-color: rgba(52, 34, 23, 0.9);
    }
    nav ul li a.restaurant-nav{
        background-image: none;
    }
    nav ul li a.events-nav, nav ul li a.attractions-nav, nav ul li a.about-nav, nav ul li a.contact-nav{
        background-image: url(../img/nav-divider.png);
        background-repeat: no-repeat;
        background-position: right;
    }
    nav ul li a.contact-nav{
        background-image: none;
    }
    nav ul li a:hover{
        background-image: url(../img/nav-divider.png);
        background-repeat: no-repeat;
        background-position: right;
        background-color: #E1DFCB;
        text-decoration: none;
        color: #333;
    }
    article a img.fb{
        width: 25% !important;
        float: left !important;
        clear: none;
    }
    article a img.pdf{
        width: 60% !important;
        float: left !important;
        clear: none;
    }
    ul.schools{
        list-style: none;
        text-align: left;
        width: 100%;
    }
}

/*------------------------------------------------------------------------------ 50em */
@media screen and (min-width: 50em) {
    nav ul{
        max-width: 800px;
        margin-left: -400px;
    }
    nav ul li a{
        padding: 10px 5px;
        width: 133px;
        font: normal 0.7em Helvetica, Arial, Sans-serif;
    }
    h1{
        float: left;
        width: 30%;
        text-align: left;
        margin: 0;
    }
    body.contact h1{
        clear: both;
        float: none;
        width: 100%;
    }
    p{
        float: left;
        width: 70%;
        text-align: left;
        padding: 0 0 0 20px;
    }
    .features{
        width: 22%;
        margin: 0 10px 20px;
        min-height: 320px;
    }
    footer{
        text-align: left;
        padding: 20px 0;
    }
    .copyright{
        display: inline;
        float: right;
    }
    .programme section h2{
        text-align: left;
    }
    body.contact article p{
        float: left;
        width: 60%;
    }
    body.terms h1, body.terms p, body.terms ul{
        float: none;
        width: 100%;
    }
    aside p{
        width: auto;
    }
    body.contact p.contact-details{
        float: left;
        width: 40%;
    }
    article label{
        float: left;
        width: 30%;
    }
    article input[type="text"], article .radios, article textarea{
        float: left;
        width: 70%;
    }
    .btn{
        float: left;
        clear: none;
    }
    ul.schools{
        width: 70%;
    }
}
/*------------------------------------------------------------------------------ 60em */
@media screen and (min-width: 60em) {
    nav ul{
        max-width: 960px;
        margin-left: -480px;
    }
    nav ul li a{
        width: 160px;
        padding: 20px;
        font: normal 0.8em Helvetica, Arial, Sans-serif;
    }
    section{
        padding: 50px 0;
        overflow: hidden;
    }
    .features{
        width: 23%;
        margin: 20px 8px 20px;
        min-height: 330px;
    }
}


.clear{
    clear: both;
}

.fancybox-custom .fancybox-skin {
    box-shadow: 0 0 50px #222;
}
