
/* Base */

body { min-width: 320px; }
img { height: auto; width: auto; max-width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
input:not([type="submit"]):not([type="button"]):not([type="image"]), select, textarea { width: 100% !important; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; background-size: 100% 100% !important; }
a.more { overflow: hidden; display: inline-block; max-width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; text-overflow: ellipsis; }

/* Shared */

.boxB4,
.bxsliderA .bx-wrapper .slide img { position: relative; left: 50%; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); transform: translateX(-50%); }


/* Headings */

h1 { background-position: 50% 100%; }
h1.r > span { margin-right: auto; margin-left: auto; background-position: 50% 50%; }


/* Forms */

form { float: none; }

form ul > li > input.text { width: 343px; height: 54px; }
form ul > li.typeA > input.text { height: 62px; padding: 23px 17px 19px 36px; }
form ul > li.typeA > label { padding-top: 23px; }
form ul > li.typeA > .placeholder { padding-top: 0; top: 23px; }
form ul > li > textarea { width: 314px; height: 155px; padding: 23px 17px 23px 36px; }
form ul > li.typeB > label { padding-top: 23px; }
form ul > li.typeB > .placeholder { padding-top: 0; top: 23px; }
form ul > li.typeC > textarea { width: 302px; height: 108px; padding: 23px 17px 23px 36px; }


/* Blockquote */

blockquote { width: auto; margin-right: -7px; margin-left: -7px; padding: 15px 0; background-image: none; }
blockquote:before,
blockquote:after { position: absolute; top: 0px; left: 50%; z-index: 10; width: 29px; height: 22px; background: url(../images/quotes1-open-green.png) no-repeat; content: ''; }
blockquote:after { top: auto; bottom: 7px; background: url(../images/quotes1-close-green.png) 100% 100% no-repeat; }
blockquote > .wrapper { background-image: none; }
blockquote .inner { height: auto; padding: 35px 25px 25px; background-size: 100% 100%; text-align: center; }
blockquote .a { display: none; }


/* Clearfix */

#subnav, #calendar .calendar .content, #hire, #footer .colgroup > .colA form { display: block; *display: inline-block; }
#subnav:after, #calendar .calendar .content:after, #hire:after, #footer .colgroup > .colA form:after { clear: both; display: block; height: 0; visibility: hidden; content: "."; }


/* Layout models */

.inner { padding: 15px 15px 1px; }
.section { margin-bottom: 2em; }
.outwards { min-width: 0; }
.inwards { width: auto; padding: 0; }


/* Column group model */

.colgroup .col, ul.colgroup > li, ul.colgroup > .colset > ul > li { display: block; float: none; width: auto; }
.colgroup .col + .col, ul.colgroup > li + li, ul.colgroup > .colset > ul > li + li { float: none; }
.colgroup .colA, ul.colgroup > li.colA, ul.colgroup > .colset > ul > li.colA, .colgroup .colB, ul.colgroup > li.colB, ul.colgroup > .colset > ul > li.colB { width: auto; }
.colgroup .col.star { float: none; }
.colgroup.pillars > .col, ul.colgroup.pillars > li, ul.colgroup.pillars > .colset > ul > li { width: auto; }


/* List models */

.listA { margin: 0; }
.listA > li { display: block; float: none; margin: 0 auto; }
.listA > li + li { margin-top: 2em; }

.listB { float: none; width: auto; margin: 0 7px; }
.listB > li { float: none; width: auto; height: auto; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; margin: 175px 0 25px; padding: 40px 15px 40px; background-size: 100% 100%; text-align: center; }
.listB > li > .img-wrapper { top: auto; bottom: 100%; left: 50%; margin: 0 0 -30px -90px; }
.listB > li > .content { height: auto; }
.listB > li > a.more { display: inline-block; position: static; margin-top: 15px; }

.xoxo > li { max-width: 252px; margin-right: auto; margin-left: auto; }
.xoxo > li > .inner > .content { margin-right: 30px; margin-left: 32px; }


/* Custom column groups */

.colgroup1 > .colA { width: auto; }
.colgroup1 > .colB { overflow: hidden; float: none; width: auto; }


/* Box models */

.box { margin-bottom: 20px; }
.box > form:first-child { margin-top: 0; }

.boxB { height: auto; padding: 55px 15px; background-position: 50% 100%; background-size: auto 100%; }
.boxB1 { height: auto; padding: 35px 15px; background-position: 50% 100%; background-size: auto 100%; }
.boxB2 { overflow: hidden; height: auto; padding: 55px 15px 35px 15px; background-position: 50% 100%; background-size: auto 100%; }
.boxB3 { position: relative; width: auto; height: auto; margin: 0 0 1em auto; padding: 35px 15px 45px 15px; background-position: 50% 100%; background-size: auto 100%; }
.boxB3 > .img-wrapper { position: relative; top: auto; right: auto; margin: 0 0 0 0; }
.boxB3-reverse > .img-wrapper { left: auto; }
.boxB4 { width: auto; height: auto; padding: 35px 15px 45px 15px; background-position: 50% 100%; background-size: auto 100%; }
.boxB5 { height: 455px; padding: 35px 45px 15px 75px; background: url(../images/box14.png) 50% 50% no-repeat; }
.boxB6 { overflow: hidden; height: auto; padding: 65px 15px 45px 15px; background-position: 50% 100%; background-size: auto 100%; }
.boxB7 { height: auto; padding: 55px 15px 50px 15px; background-position: 50% 100%; background-size: auto 100%; }
.boxB8 { height: auto; padding: 35px 15px 50px 15px; background-position: 50% 100%; background-size: auto 100%; }

.boxC { width: auto; }
.boxC > .before { height: 60px; background-position: 50% 0; }
.boxC > .after { width: 100%; height: 60px; background-position: 50% 100%; }
.boxC > .shadow { padding: 1px 15px 0; background-position: 50% 0; }
.boxC > .shadow > .m2t { margin-top: -30px; }
.boxC > .shadow > .m2t > .m2b { bottom: -40px; }
.boxC > .shadow > .m2t > .m2b > form > ul > li > label { display: block; margin: 0 10px 5px; float: none; width: auto; }
.boxC > .shadow > .m2t > .m2b > form > ul > li > label + * { float: none; }


/* Image wrapper */

.img-wrapper { position: relative; float: none; }
.img-wrapper > a { display: block; max-width: 356px; margin-right: auto; margin-left: auto; }


/* Calendar model */

.calendar { width: auto; }

.calendar > h3 {  }
.calendar > h3 + ul.nav { width: 100%; }
.calendar > h3 + ul.nav > li { float: left; width: 36px; }
.calendar > h3 + ul.nav > li.next { float: right; }
.calendar > h3 + ul.nav > li > a { overflow: hidden; float: left; width: 36px; height: 0; padding-top: 17px; background: url(../images/arrow1-rightwards-brown-smaller.png) no-repeat; }
.calendar > h3 + ul.nav > li.previous > a { background-image: url(../images/arrow1-leftwards-brown-smaller.png); }

.calendar > ul.header li,
.calendar > ul.content > li > ul > li { width: calc(14.2857% - 3px); margin: 0 3px 3px 0; }
.calendar > ul.content > li > ul > li { width: calc(14.2857% - 3px); height: 39px; padding: 7px 0; background-size: 100% 100%; line-height: 39px; font-size: 18px; text-align: center; }
.calendar > ul.content > li:first-child > ul > li, .calendar > ul.content > li:first-child + li + li > ul > li { background-size: 100% 100%; }
.calendar > ul.content > li > ul > li > a { width: 100%; height: 100%; background-image: none; }
.calendar > ul.header { overflow: hidden; margin-bottom: 6px; }


/* Navigation */

.navigation .nav-next a { padding-right: 43px; }
.navigation .nav-previous a { padding-left: 43px; }


/* Story section */

.story img { display: block; margin-right: auto; margin-left: auto; }


/* Post section */

.post .entry-content .footer { padding-top: 1em; text-align: center; }
.post .entry-content .more { float: none; display: inline-block; }
.post-404 { text-align: center; }


/* Articles */

.article-A { max-width: none; }


/* Post comments */

#respond #commentform { width: auto; }


/* Single layers */

#wrapper { min-width: 0; }
#blog #main > .colgroup:first-child > .colB { width: 395px; }


/* Main Area */

#main > .box.colgroup:first-child > h1 + .colA + .colB { position: relative; width: 100%; margin-top: 1em; }
#main > .colgroup1 > .colA:first-child > .long-items { margin-top: 40px; }


/* Popup */

#popup { left: auto !important; /* override inline CSS */ width: 100%; margin: 0; }
#popup > .before { background-position: -1px 0; background-size: 100% 100%; }
#popup > .after { background-position: 0 0; background-size: 100% 100%; }
#popup > .shadow { background-position: 0 0; background-size: 100% 100%; } * html #popup-shadow { position: static; }
#popup > .shadow > .m2t > .m2b { padding: 65px 20px 65px 20px; }
#popup .close { top: 40px; right: 70px;  width: 25px; padding-top: 24px; background-size: 100% 100%; }
#popup h1 { margin-bottom: 18px; padding-bottom: 13px; font-size: 20px; line-height: 23px; }
#popup h1 + ul { font-size: 18px; }
#popup h1 + ul > li { margin: .3em 0; }
#popup h1 + ul > li > strong { font-size: 18px; }
#popup .content-inner { font-size: 12px; line-height: 15px; }


/* Main Navigation */

#navbar { position: absolute; top: 53px; right: 20px; z-index: 300; height: auto; padding-top: 0; }
#navbar > ul > li { display: block; float: none !important; margin: 0 !important; }
#navbar > ul > li > a { position: relative; float: none; }
#navbar > ul > li > a,
#navbar > ul > li > a:link,
#navbar > ul > li > a:visited { color: #fff; text-decoration: none; }
#navbar > ul > li > a,
#navbar > ul > li > a:hover,
#navbar > ul > li > a.on { margin: 0 !important; padding: 7px 15px !important; background: none !important; }


/* Sub-navigation */

#subnav { margin-right: 10px; margin-left: 10px; }
#subnav > li { background-size: 100% 100%; }


/* Contact Details */

#contact { margin-top: -40px; margin-bottom: 0; padding-top: 75px; padding-bottom: 75px; }
#contact .nowrap { white-space: normal; }
#contact > .colA { width: auto; }
#contact > .colB { float: none; width: auto; margin-top: 2em !important; }
#contact > .colB > form { position: relative; margin: 0 auto; }


/* Slides */

#banner { padding-right: 0; padding-left: 0; }
.bxsliderA { overflow: hidden; width: 100%; padding: 15px 0 0; }
.bxsliderA,
.bxsliderA .bxslider { height: 352px; }
.bxsliderA .overlay { left: 50%; margin-left: -480px; }
.bxsliderA .bx-wrapper .slide { width: 100% !important; }
.bxsliderA .bx-wrapper .slide img { margin: 0; width: auto; height: auto; max-width: none; }
/* Pagination */
.bxsliderA .bx-wrapper .bx-pager { display: none; }
/* Navigation */
.bxsliderA .bx-wrapper .bx-controls-direction a.bx-prev { left: 7px; }


/* Calendar section */

#calendar form ul > li { padding-bottom: 0; }
#calendar form .rss,
#calendar form a.rss > span { display: block; float: none; }
#calendar form .rss { width: 204px; margin: 0 auto 1em; }
#calendar .calendar .header { margin-right: -7px; margin-left: -7px; }
#calendar .calendar .content { margin-right: -12px; margin-left: -9px; }
#calendar form > .filters { float: none; width: auto; }
#calendar form > .filters > ul > li,
#calendar form > .filters > ul > li + li { clear: left; float: left; width: 100%; margin-top: 0; }
#calendar form > .filters > ul > li > ul > li > span.color { width: 32px; height: 32px; margin-right: 7px; }
#calendar form > .filters > ul > li > ul > li > label { margin: 0 0 0 5px; font-size: 20px; }
#calendar form > .filters > ul > li > ul > li { margin-top: .75em; }


/* The Footer */

#footer { text-align: center; }
#footer input.text { text-align: left; }
#footer > .before + .bg { padding: 30px 0; }
#footer .colgroup > .col { display: block; float: left; width: 100% !important; /* All types */ }
#footer .colgroup > .col + .col { margin-top: 2em; }
#footer .colgroup > .col > * { margin-right: auto; margin-left: auto; }
#footer .colgroup > .colA { margin-right: 0; }  
#footer .colgroup > .colC { text-align: center; }
#footer .colgroup > .colA form,
#footer .colgroup > .colB .sitemap,
#footer .colgroup > .colC .social-links { float: none; margin: 0 auto; }
#footer .colgroup > .colA form { position: relative; width: 235px; }
#footer .colgroup > .colA form .curtain { text-align: center; }
#footer .colgroup > .colA form .curtain a.more { margin-right: auto; margin-left: auto; }
#footer .colgroup > .colA form > ul > li > input.text { width: 100%; height: 49px; }
#footer .colgroup > .colA form > ul > li + li > input.text { width: 100%; height: 54px; }
#footer .colgroup > .colC .social-links { display: inline-block; float: none; width: 195px; padding-bottom: 0; }
#footer #copyright-notice { margin-top: 3em; }


/* About Intro */

#about-main { margin-top: -30px; }


/* Other clauses */

@media only screen and ( max-width: 400px ) {

	#contactform ul > li > input.text,
	#contactform ul > li > textarea { background-size: 100% 100%; }
}

@media only screen and ( min-width: 401px ) and ( max-width: 480px ) {

	#park-history { background: url(../images/box12.png) 50% 50% no-repeat; background-position: 50% 100%; background-size: auto 100%; }
	#contactform { float: none; width: 370px; margin-right: auto; margin-left: auto; }
}