@charset 'UTF-8';
/**
 * © 2016 Higi Bigler (nullnulleins.ch). All rights reserved.
 */

@media all {
	* { margin: 0; padding: 0; }
	html { }
	body { overflow-y: scroll; font: normal normal normal .82em/1.3 Helvetica, Arial, sans-serif; -webkit-text-size-adjust: none; background-color: #EFEFEF; }
	/* structure */
	header, nav { display: block; }
	header { margin-left: 260px; position: relative; }
	#container { max-width: 945px; width: 100%; margin: 0 auto; min-width: 320px; }
	#header { }
	#logo { background-color: #FFF; margin: 0 15px 15px 0; padding: 0 0 8px; }
	#logo > div { display: table; width: 100%; }
	#logo > div > div { display: table-cell; vertical-align: text-bottom; }
	#logo > div > div:first-child { width: 40%; }
	#logo > div > div:last-child { text-align: right; padding: 0 10px 0 0; display: none; }
	#logo > div > div:last-child a { display: inline-block; margin: 0 0 0 8px; }
	#logo > div > div:last-child a:first-child { margin: 0; }
	.fa { font-size: 160%; line-height: .5; background-size: cover; background-position: center; background-repeat: no-repeat; }
	a:hover .fa { opacity: .7; }
	#logo img { border: none; margin: 18px 0 0 7px; padding: 0; }

	#subsite { background-color: #FFF; margin: 0 15px 35px 0; padding: 0; position: relative; }
	#subsite > div { display: table; width: 100%; background-color: #FFF; }
	#subsite > div > div { display: table-cell; vertical-align: top; }
	#subsite > div > div:last-child { text-align: right; padding: 0 10px; }
	#subsite > div > div:last-child a { display: inline-block; margin: 13px 0 0 8px; }
	#subsite ul { margin: 0 0 0 15px; padding: 0; list-style-type: none; display: inline-block; line-height: 100%; min-height: 37px; }
	#subsite li { margin: 11px 0 0; padding: 1px 5px 0; display: inline-block; }
	#subsite li { border-left: 1px solid #000; }
	#subsite li:first-child { border-left: none; }
	header a { color: #000000; font-weight: 600; text-transform: uppercase; }
	header a:hover { color: #9B9B9B !important; }

	#sitewrapper { display: table-cell; text-align: left; vertical-align: top; background-color: #FFF; width: 230px; }
	#site { width: 230px; }
	#site ul { list-style-type: none; margin: 0 0 0 18px; padding: 0; }
	#site li { list-style-type: none; margin: 0; padding: 0; }
	#site > ul > li { margin: 10px 0 18px; padding: 0; }
	#site > ul > li > a { border-bottom: 1px solid black; display: block; text-transform: uppercase; margin: 0; padding: 1px 0 3px 3px; font-size: 120%; font-weight: 600; line-height: 1.1; }
	#site > ul > li ul { display: none; }
	#site > ul > li > ul { margin: 18px 0 0 4px; line-height: 1.2; }
	#site > ul > li > ul ul { margin-left: 20px; }

	#sitewrapper nav a { text-decoration: none; font-weight: bold; font-size: 110%; color: #9B9B9B; margin: 0 0 2px; padding: 0; display: block; }
	nav a:hover, nav a.active, nav a.activesparent { color: #000000; }
	#site li.activesparent > ul { display: block; }

	#smartbutton { top: 13px; right: 10px; position: absolute; display: none !important; width: 20px !important; height: 9px; vertical-align: baseline; border-top: 1px solid #000; border-bottom: 1px solid #000; transition: .3s ease-out all; cursor: pointer; }
	#smartbutton:before, #smartbutton:after { content: ''; width: 20px; height: 1px; background-color: #000; position: absolute; top: 4px; left: 7px; margin-left: -7px; transition: .3s linear all; transform-origin: 50% 50%; }
	body.smartnavigation #smartbutton { border-color: #FFF; }
	body.smartnavigation #smartbutton:before, body.smartnavigation #smartbutton:after { width: 22px; margin-left: -8px; }
	body.smartnavigation #smartbutton:before { -webkit-transform: rotate(225deg); transform: rotate(225deg); }
	body.smartnavigation #smartbutton:after { -webkit-transform: rotate(-225deg); transform: rotate(-225deg); }

	#body { display: table; border-spacing: 15px 0; width: 100%; height: 500px; padding: 0 0 35px; }
	#contentwrapper { display: table-cell; text-align: left; vertical-align: top; background-color: #FFF; }
	#content { padding: 0 0 10px; }
	a { outline: none; text-decoration: none; color: #9B9B9B; }
	a img { border: none; }
	a.backlink { padding-left: 28px; font-weight: bold; background-image: url(./../img/sprites.0.png); background-size: 9px auto; background-position: 0 -18px; background-repeat: no-repeat; }

	div.breadcrump { font-size: 110%; border-bottom: 1px solid black; margin: 0; padding: 10px 80px 4px 20px; position: relative; line-height: 120%; font-weight: 700; }

	span.gvideoembed { display: block; background-size: cover; background-position: center; position: relative; max-width: 100% !important; padding-bottom: 56.25%; height: 0 !important; overflow: hidden; transition: all .25s; cursor: pointer; background-color: #000; }
	span.gvideoembed:hover { opacity: .9; }
	span.gvideoembed a.gvideoembed { display: none; }
	span.gvideoembed:before { opacity: .5; content: ''; display: block; border-radius: 5px; width: 44px; height: 44px; background-color: #FFF; position: absolute; left: 50%; top: 50%; margin: -22px 0 0 -22px; padding: 0; transition: all .25s; }
	span.gvideoembed:after { opacity: .9; content: ''; position: absolute; left: 50%; top: 50%; margin: -12px 0 0 -9px; width:0; height:0; border-top: 12px solid transparent; border-bottom: 12px solid transparent; border-left: 22px solid #000; transition: all .25s; }
	span.gvideoembed:hover:before, span.gvideoembed:hover:after { opacity: .85; }
	span.gvideoembed.loaded, span.gvideoembed.loaded:hover { opacity: 1; cursor: wait; }
	span.gvideoembed.loaded:after, span.gvideoembed.loaded:before { display: none; }
	.gvideoembed iframe, .gvideoembed object, .gvideoembed embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; }

	h1, h2, h3, #content p, #content p img { margin: 0 80px 0 20px; padding: 0; }
	h1, h2, h3 { margin-top: 19px; margin-bottom: 19px; font-size: 120%; line-height: 120%; }
	h3 { font-size: 100%; margin-bottom: 0; }
	#content p, #content img, #content span.gvideoembed { margin-top: 10px; margin-bottom: 10px; padding: 0; }
	#content img, #content span.gvideoembed { margin-top: 20px; }
	#content p img { padding: 0; margin: 10px -60px 0 0; }
	#content ul, #content ol { margin: 10px 20px 20px 20px; padding: 0 0 0 14px; }
	#content ul h3, #content ul p { margin: 0; }
	#content ol { padding-left: 24px; }
	#content li { margin: 10px 0; padding: 0; }
	#content h3 + p { margin-top: 0; }

	hr { border: none; border-bottom: 1px solid #000000; height: 1px; line-height: 1px; margin: 20px 0 10px; padding: 0; }

	/* colors: home = #000000, school = #002F60, concert = #008FC1, rental = #007381, villa = #86A20B */
	body a:hover { color: #000000; }
	body.home div.breadcrump, body.home span.highlighted { color: #000000; }
	body.home div.breadcrump { border-color: #000000; }
	body.school div.breadcrump, body.school span.highlighted, body.school th, body.school a:hover, #site li.school > a, #site li.school a:hover, #site li.school a.active, #site li.school a.activesparent, #site li.sm-62 > a, #site li.sm-62 a:hover, #site li.sm-62 a.active, #site li.sm-62 a.activesparent { color: #002F60; }
	body.school div.breadcrump, body.school hr, #site li.school > a, #site li.sm-62 > a { border-color: #002F60; }
	body.concert div.breadcrump, body.concert span.highlighted, body.concert a:hover, #site li.concert > a, #site li.concert a:hover, #site li.concert a.active, #site li.concert a.activesparent, #site li.sm-63 > a, #site li.sm-63 a:hover, #site li.sm-63 a.active, #site li.sm-63 a.activesparent { color: #008FC1; }
	body.concert div.breadcrump, body.concert hr, #site li.concert > a, #site li.sm-63 > a { border-color: #008FC1; }
	body.rental div.breadcrump, body.rental span.highlighted, body.rental a:hover, #site li.rental > a, #site li.rental a:hover, #site li.rental a.active, #site li.rental a.activesparent, #site li.sm-64 > a, #site li.sm-64 a:hover, #site li.sm-64 a.active, #site li.sm-64 a.activesparent { color: #007381; }
	body.rental div.breadcrump, body.rental hr, #site li.rental > a, #site li.sm-64 > a { border-color: #007381; }
	body.villa div.breadcrump, body.villa span.highlighted, body.villa a:hover, #site li.villa > a, #site li.villa a:hover, #site li.villa a.active, #site li.villa a.activesparent, #site li.sm-65 > a, #site li.sm-65 a:hover, #site li.sm-65 a.active, #site li.sm-65 a.activesparent { color: #86A20B; }
	body.villa div.breadcrump, body.villa hr, #site li.villa > a, #site li.sm-65 > a { border-color: #86A20B; }
	
	/* jubilee */
	#logo > div > div#jubilee { display: none; }
	article.subpage { margin: 2em 0; }
	#content table.sponsor th, #content table.sponsor tr:last-child td { border-bottom: 1px solid #C4946C; border-top: 1px solid #C4946C; }
	#content table.sponsor td, #content table.sponsor th { text-align: right; }
	#content table.sponsor td:first-child { text-align: left; }
	div.logowrapper { display: flex; flex-wrap: wrap; align-items: center; margin: 0 calc(20px - 1.5em); padding: 0 0 40px 0; }
	div.logowrapper > div { width: 33.3333%; vertical-align: middle; padding: 1.5em; box-sizing: border-box; }
	div.logowrapper > div span { font-size: 100%; font-weight: bold; line-height: 1; }
	div.logowrapper.silver > div { width: 25%; }
	div.logowrapper.bronze > div { width: 20%; }
	div.sponsor.gold { color: #C4946C; }
	div.sponsor.silver { color: #c0c0c0; }
	div.sponsor.bronze { color: #cd7f32; }
	div.logowrapper img { max-width: 100%; height: auto; margin: 0 auto; display: block; }
	/* end jubilee */

	#content table { width: 100% !important; border-spacing: 0; }
	#content table td, #content table th { padding: 8px 20px 8px 0; margin: 0; vertical-align: top; text-align: left; }
	#content table td:first-child, #content table th:first-child { padding-left: 20px; }
	#content table p { margin: 0; padding: 0; }
	#content table ul { margin: 0; padding: 0; }
	#content table li { margin: 2px 0 0; padding: 0; }
	#content table h1, #content table h3 { margin-left: 0; }
	#content table img { margin-left: 0; margin-right: 0; margin-bottom: 0; max-width: 100%; height: auto; }

	#content table.bottomline { padding: 8px 0; }
	#content table.bottomline th { color: white; font-weight: normal; }
	body.school #content table.bottomline th { background-color: #002F60; }
	body.concert #content table.bottomline th { background-color: #008FC1; }
	body.rental #content table.bottomline th { background-color: #007381; }
	body.villa #content table.bottomline th { background-color: #86A20B; }
	#content table.bottomline td { border-bottom: 1px solid #000000; }
	#content table.bottomline tr:last-child td { border-bottom: none; }
	body.school #content table.bottomline td { border-bottom-color: #002F60; }
	body.concert #content table.bottomline td { border-bottom-color: #008FC1; }
	body.rental #content table.bottomline td { border-bottom-color: #007381; }
	body.villa #content table.bottomline td { border-bottom-color: #86A20B; }

	#content table.holidayplan { padding: 0 0 10px 20px; width: auto !important; }
	#content table.holidayplan td { margin: 0; padding: 0 10px 0 0; }
	#content table.holidayplan h2 { margin: 25px 0 10px; font-size: 100%; }
	#content table.holidayplan tr:first-child h2 { margin-top: 0; }
	#content table.holidayplan td.day { padding-right: 5px; }
	#content table.holidayplan .name { font-weight: bold; padding-right: 20px; }
	#content table.holidayplan tr.name { display: none; }
	#content table.holidayplan span.abbr { display: none; }

	#content table.pricelist {}
	#content table.pricelist td { padding-top: 0; padding-bottom: 0; vertical-align: bottom; }
	#content table.pricelist td:first-child { vertical-align: top; }
	#content table hr { margin: 5px -20px; padding: 0; }
	#content table.pricelist hr { margin-top: 13px; margin-bottom: 13px; }

	#content table.events { width: 100%; border-spacing: 0px; border: none; margin-bottom: 10px; }
	#content table.events td { margin: 0; padding: 0; }
	#content table.events td.day { margin: 0; padding: 0 0 0 20px; font-weight: bold; white-space: nowrap; }
	#content table.events td.date { margin: 0; padding: 0; font-weight: bold; white-space: nowrap; }
	#content table.events td.date br.linebreak { display: none; }
	#content table.events td.title { margin: 0; padding: 0 20px 0 10px; width: 90%; }
	#content table.events th { font-weight: bold; text-align: left; margin: 0; padding: 20px 0 0 20px; background-color: white; color: #002F60; }
	#content table.events tr:first-child th { padding-top: 0; }
	#content table.events hr { margin: 5px 0; }

	#content table.staff { width: 100%; margin: 10px 0; padding: 0; border-spacing: 0px; }
	#content table.staff th { margin: 0; padding: 8px 10px 8px 0; text-align: left; white-space: nowrap; }
	#content table.staff th.name { padding-left: 20px; }
	#content table.staff th.mail { text-align: center; }
	#content table.staff td { margin: 0; padding: 8px 10px 8px 0; vertical-align: top; text-align: left; }
	#content table.staff td.name { font-weight: bold; padding-left: 20px; }
	#content table.staff td.name span { font-weight: normal; }
	#content table.staff td.name span.phones { display: none; }
	#content table.staff td.name span.email { display: none; }
	#content table.staff td.mail { text-align: center; }
	#content table.staff td.address, table.staff td.phones { white-space: nowrap; }
	#content table.staff td.subjects { width: 38%; position: relative; }

	#content table.agency { margin: 20px 0; }
	#content table.agency th { background-color: #007381; padding-left: 20px; padding-right: 20px; }
	#content table.agency td { border-bottom: 1px solid #007381; }
	#content table.agency td.name { font-weight: normal; width: 40%; }
	#content table.agency strong { color: #007381; }

	#content div.calendars { padding: 0; margin: 10px; }
	#content div.calendarwrapper { width: 33.3333%; float: left; clear: none; }
	#content div.calendarinner { margin: 10px; } 
	#content table.calendar { border-collapse: collapse; }
	#content table.calendar th { margin: 0; padding: 0; text-align: center; border: 1px solid #007381; color: white; background-color: #007381; height: 26px; vertical-align: middle; }
	#content table.calendar td { margin: 0; padding: 0; text-align: center; border: 1px solid #007381; height: 22px; width: 14.28571428571429%; vertical-align: middle; }
	#content table.calendar tr.emptyrow td { border-color: #FFF; }
	#content table.calendar tr.header td { font-weight: bold; }
	#content table.calendar td.reserved { background-color: #007381 !important; color: #FFFFFF; }

	#content table.stafflist { width: auto !important; margin: 10px 0 20px; padding: 0 10px; border-spacing: 0px; }
	#content table.stafflist td { margin: 0; padding: 0 10px; vertical-align: top; text-align: left; }
	#content table.stafflist td.name { font-weight: bold; }
	#content table.stafflist td p { margin: 0; padding: 0; }
	#content table.stafflist td span:first-child { margin-right: 20px; }

	#content div.subjectswrapper { margin: 0 0 0 20px; }
	#content p + div.subjectswrapper { margin-top: 20px; }
	#content ul.subjects { list-style-type: none; padding: 0; margin: 0; width: 100%; }
	#content p + ul.subjects { margin-top: 10px; }
	#content ul.subjects li { list-style-type: none; padding: 0; margin: 0; float: left; width: 50%; background-image: none; }
	#content ul.subjects.type-1 li { width: 33.3333%; }
	#content ul.subjects li a { margin: 0 20px 0 0; display: block; }
	#content ul.subjects figure { position: relative; margin: 0 0 20px 0; height: 0; padding-bottom: 77.65929316043733%; background-size: cover; background-color: #CCC; }
	#content ul.subjects figure img { padding: 0; margin: 0; display: block; width: 100%; height: auto; display: none; }
	#content ul.subjects figure figcaption { position: absolute; bottom: 0; left: 0; font-size: 110%; background-color: rgba(0,0,0,.5); width: 100%; font-weight: bold; padding: 5px 10px; box-sizing: border-box; overflow: hidden; }
	#content ul.subjects a { color: #FFF; }
	#content ul.subjects a:hover figcaption { background-color: #002F60; }
	/*
	#content ul.subjects li h2 { display: table; width: 100%; border-spacing: 0; }
	#content ul.subjects li h2 a { display: table-row; }
	#content ul.subjects li h2 a span { display: table-cell; vertical-align: top; text-align: left; padding-right: 20px; overflow: hidden; }
	#content ul.subjects li h2 a span:first-child { width: 33.84615384615385%; }
	#content ul.subjects li h2 a span:last-child { padding-right: 10px; }
*/
	#content div.gallerylistwrapper { margin: 0 0 0 20px; }
	#content p + div.gallerylistwrapper { margin-top: 20px; }
	/*
	#content ul.gallerylist li { margin: 0; width: 100%; float: none; }
	#content ul.subjects h2 { font-size: 110%; margin: 0; padding: 0; }
	#content ul.subjects img { margin: 0 0 10px 0; padding: 0; width: 100%; height: auto; }
	*/

	#content ul.gallery { list-style-type: none; padding-left: 0; margin-bottom: 10px; margin-right: 20px; float: left; background-color: #EFEFEF; }
	#content ul.gallery li { list-style-type: none; padding: 0; margin: 0; display: none; line-height: 1px; }
	#content ul.gallery li:first-child { display: block; width: 630px; float: left; }
	#content ul.gallery li img { padding: 0; margin: 0; }
	div.gallery { margin: 0; padding: 0; position: relative; }
	#content div.gallery ul.gallerynavigation { position: absolute; right: 20px; top: -11px; list-style-type: none; margin: 0; padding: 0; }
	#content div.gallery ul.gallerynavigation li { float: left; margin: 0 0 0 9px; padding: 0; height: 19px; background-image: url(./../img/sprites.0.png); background-size: 9px auto; background-position: 0 -19px; background-repeat: no-repeat; width: 9px; cursor: pointer; }
	#content div.gallery ul.gallerynavigation li.prev { background-position: 0 0; }
	
	#content div.newslist { list-style-type: none; margin: 0; padding: 0; }
	#content div.newslist article { list-style-type: none; margin: 0; padding: 10px 20px; border-top: 1px solid #000000; position: relative; }
	div.newslist figure { float: left; max-width: 39%; }
	div.newslist div.newstext { margin-left: 39%; padding: 0 0 0 20px; }
	#content div.newslist figure img { margin: 0; padding: 0; }
	#content div.newslist article.offline { background-color: #EFEFEF; }
	#content div.newslist article:first-child { border-top: none; }
	#content div.newslist h1, #content div.newslist h2, #content div.newslist h3, #content div.newslist p { margin: 0; padding: 0; }
	#content div.newslist li img.newsimage { float: left; margin: 0 10px 0 20px; padding: 0; }
	.imagenews { width: 350px; margin: 0 0 0 265px; padding: 0; }

	#content ul { list-style-type: none; padding-left: 0; }
	#content ul li { list-style-type: none; padding-left: 28px; background-image: url(./../img/sprites.0.png); background-size: 9px auto; background-position: 0 -18px; background-repeat: no-repeat; }
	
	#floorplan { width: 630px; height: 343px; margin: 20px 20px 0; padding: 0; /*background-image: url(./../img/floorplan.0.png);*/ position: relative; font-weight: bold; }
	#floorplan a { position: absolute; }

	#content img.gimageleft, #content img[style*='float:left'] { margin: 2px 10px 2px 0 !important; }
	#content img.gimageright, #content img[style*='float:right'] { margin: 2px 0 2px 10px !important; }

	#presaleform { margin: 0; padding: 0 10px 0 10px; max-width: 600px; }
	#presaleform > div { float: left; width: 50%; }
	
	#presaleform ul { width: auto; padding: 0; margin: 10px 15px 0 10px; list-style-type: none; border-top: 1px solid #008FC1; float: left; }
	#presaleform ul li { margin: 5px 0 0; padding: 0; float: left; width: 100%; background-image: none; }
	#presaleform ul li.halfsize { width: 50%; }
	#presaleform ul li.halfsize input { width: calc(100% - 5px); }
	#presaleform ul li.halfsize + li.halfsize input { width: 100%; }
	#presaleform ul li.quartersize { width: 25%; }
	#presaleform ul li.quartersize input { width: calc(100% - 5px); }
	#presaleform ul li.threequartersize { width: 75%; }
	#presaleform ul ul { margin: 0 0 5px; padding: 0 0 12px; list-style-type: none; border-top: none; }
	#presaleform ul.tickets { border-top: none; margin: 10px 10px 0 15px; }
	#presaleform ul.tickets > li { border-top: 1px solid #008FC1; margin-top: 0; padding-top: 10px; }
	#presaleform h3 { margin: 0 0 3px; padding: 0; }
	#presaleform input { margin: 0; padding: 0; }
	#presaleform input.text, #presaleform textarea { width: 100%; border: 1px solid #9B9B9B; padding: 0 1px; box-sizing: border-box; }
	#presaleform label.radiobutton { width: 50%; display: block; float: left; margin: 5px 0 3px; }
	#presaleform label.radiobutton input { margin-right: 5px; float: left; }
	/*#presaleform li.halfsize input.text { width: 126px; }
	#presaleform li.quartersize input.text { width: 51px; }
	#presaleform li.threequartersize input.text { width: 200px; }*/
	#presaleform li.note { margin-top: 20px; font-size: 90%; }
	#presaleform input.numeric { width: 30px; margin-right: 10px; float: left; }
	#presaleform li.error label { font-weight: bold; color: red; }
	#presaleform li.error input.text { background-color: #FFDDDD; }
	#presaleform textarea { width: 100%; min-width: 100%; max-width: 100%; height: 80px; min-height: 80px; margin: 0; padding: 0; overflow: auto; }
	#presaleform p.error { margin-top: 20px; color: red; font-weight: bold; margin-left: 10px; }
	#internform { margin: 0 20px; padding: 0; }
	#internform input { font-size: 100%; font-family: Helvetica, Arial, sans-serif; }
	#internform input.text { width: 261px; border: 1px solid #9B9B9B; padding: 0 1px; margin-bottom: 10px; }
	
	#content p.presalecomplete { margin-top: 20px; padding: 15px 20px 0; border: 1px solid #008FC1; border-left: none; border-right: none; }
	#content p.presalecomplete.vipform { padding-bottom: 15px; border-color: #C4946C; }
	
	#presaleform.vipform label.radiobutton { width: 100%; }
	#presaleform.vipform label.radiobutton span { padding-left: 1.5em; display: block; }
	#presaleform.vipform ul { border-top-color: #C4946C; }
	
	/* imageslider */
	figure.single { margin: 10px 0 20px; padding: 0 20px; }
	figure .imagewrapper { display: block; margin: 0 auto; }
	figure .imagewrapperinner { height: 0; background-color: #EFEFEF; }
	figure img { display: block; width: 100%; height: auto; }
	.imageslider { max-width: 100%; width: 100%; padding: 0; position: relative; margin: 20px 0 0; }
	.imageslider img { margin: 0 !important; padding: 0; }
	.imagesliderwrapper { overflow: hidden; background-color: #EFEFEF; margin: 0 20px 0; }
	.imagesliderinner { display: table; position: relative; border-spacing: 0; }
	.imageslider .slide { text-align: center; display: table-cell; vertical-align: top; }
	.imageslider .slideinner { max-width: 100%; margin: 0 auto; padding: 0; }
	.imageslider figure { padding-bottom: 66.66666%; height: 0; background-size: contain; background-repeat: no-repeat; background-position: center bottom; }
	.imageslidernavigation { bottom: 0; z-index: 10; width: calc(100% - 20px); margin: 0 10px; }
	#content .imageslidernavigation ul { list-style: none; margin: 0 auto; padding: 10px 0 0; display: block; width: 100%; text-align: center; }
	#content .imageslidernavigation ul li { display: inline-block; text-align: center; margin: 0; padding: 0 !important; background-image: none; }
	.imageslidernavigation a { display: inline-block; padding: 4px 6px 0; cursor: pointer; }
	.imageslidernavigation a span { display: block; width: 8px; height: 8px; border-radius: 50%; background-color: #8A8A8A; opacity: .7; }
	.imageslidernavigation li.active a span { background-color: #000; }
	.imageslidernavigation li a:hover span { background-color: #000; opacity: 1; }

	.clearfix:before, .clearfix:after { content: ' '; display: table; }
	.clearfix:after { clear: both; }
	span.nowrap { white-space: nowrap; }
	
	/* image2 */
	img { display: block; }
	figure { margin: 0; padding: 0; }
	figure.gimagecaptioned { margin-bottom: 2em; }
	figure.gimagecaptioned figcaption { font-size: 90%; margin-top: .5em; max-width: 100%; }
	.gimageleft { float: left; margin: .2em 1em 1em 0; }
	.gimagecenter { text-align: center; }
	.gimagecenter figcaption, .gimagecenter img { margin-left: auto !important; margin-right: auto !important; text-align: left; }
	.gimageright { float: right; margin: .2em 0 1em 1em; }
	
	#content .formbuilderwrapper > form > fieldset > ol { padding: 0 10px 0 20px; margin: 0; }
	#content .formbuilderwrapper form p { padding: 0; margin: 0; }
	#content .formbuilderwrapper ol { padding: 0; margin: 0; }
	#content .formbuilderwrapper ol li { padding: 0; margin: 0 0 .5em; }
	#content div.formbuilderwrapper div.input { margin-right: 10px; }
	.formbuilderwrapper li.options fieldset ol { display: flex; flex-wrap: wrap; }
	#content .formbuilderwrapper li.options fieldset ol li { width: auto; padding: 0 2em 0 0; }
	#content .formbuilderwrapper li.options fieldset ol li:last-child { padding-right: 0; flex-grow: 1; margin-right: 10px; }
	.formbuilderwrapper.error > div { font-weight: bold; }
	
	.formbuilderwrapper li.address, .formbuilderwrapper li.parentaladdress, .formbuilderwrapper li.scholaraddress { width: 50%; }
	.formbuilderwrapper li.parentaladdress li[class*=email]:last-child { width: 100%; }
	.formbuilderwrapper li.parentaladdress legend, .formbuilderwrapper li.scholaraddress fieldset fieldset legend { display: none; }
	#content .formbuilderwrapper li.parentaladdress li.options, #content .formbuilderwrapper li.scholaraddress li.options { margin: 0; }
	#content .formbuilderwrapper li.input_8, #content .formbuilderwrapper li.input_19, #content .formbuilderwrapper li.input_23 { margin-top: 2em; }
	#content .formbuilderwrapper li.input_16 { margin: 2em 0 2.5em; }
	#content li.input_14.options, #content li.input_15.options { margin-bottom: 0; }
	li.input_15.options legend { display: none; }
}

@media screen {
	#bg { position: fixed; width: 100%; height: 100%; top: 0; left: 0; z-index: -1; background-position: center; background-repeat: no-repeat; background-size: cover; }
	#content p img { max-width: 100%; max-width: calc(100% + 60px); height: auto; }
	/* jubilee */
	#site > ul > li.jubilee { color: #FFF; background-color: #ffd46b; margin-top: 0; margin-left: -18px; padding: 10px 0 5px 18px; }
	#site > ul > li.jubilee a { color: #FFF; border-bottom: none; }
	#site > ul > li.jubilee ul { padding-bottom: 18px; }
	body.jubilee div.breadcrump { border-bottom-color: #FFF; background-color: #ffd46b; color: #FFF; }
	body.hasjubilee div.breadcrump { padding-bottom: 9px; }
	body.jubilee #logo > div > div#jubilee { display: none; }
	body.hasjubilee #logo > div > div#jubilee { top: 5px; left: auto; right: 5%; width: 77px; height: 127px; position: absolute; display: block; }	
	div#jubilee .a { fill: #ffd46b; animation-name: glow; animation-duration: 1.25s; animation-iteration-count: infinite; animation-direction: alternate; }
	@keyframes glow { from { opacity: .2; } to { opacity: 1; } }
	/* end jubilee */
}

@media only screen and (max-width: 870px) {
	#content div.calendarwrapper { width: 50%; }
}
@media only screen and (max-width: 840px) {
	h1, h2, h3, #content p, #content img { margin-right: 20px; }
	#content p img { max-width: 100%; }
}
@media only screen and (min-width: 761px) {
	#sitewrapper { display: table-cell !important; }
}
@media only screen and (max-width: 760px) {
	#container { max-width: 700px; }
	header { margin-left: 15px; }
	#logo img { max-width: 100%; height: auto; }
	#body, #contentwrapper { display: block; }
	#body { height: auto; }
	#contentwrapper { margin: 35px 15px 0; }
	#sitewrapper { display: none; padding: 5px 0; margin: 0 15px; width: auto; }
	body.hasjubilee #sitewrapper { padding-top: 0; }
	#smartbutton { display: block !important; }
	#subsite { margin-bottom: 15px; }
	#logo > div > div:last-child { display: table-cell; white-space: nowrap; width: 90px; }
	#subsite > div > div:last-child { display: none; }
	#site { width: auto; }
	#sitewrapper nav a { margin-bottom: 5px; }
	h1, h2, h3, #content p, #content img { margin-right: 80px; }
	#content p img { max-width: 100%; max-width: calc(100% + 60px); height: auto; }
	#content div.calendarwrapper { width: 33.3333%; }
	body.hasjubilee #logo > div > div#jubilee { right: auto; display: table-cell; position: static; text-align: center; height: auto; }
	body.hasjubilee div#jubilee a { display: inline-block; width: 50% }
	body.hasjubilee div#jubilee a svg { max-width: 77px; margin: 0 auto; padding-top: 5px; width: 100%; height: auto; }
}
@media only screen and (max-width: 600px) {
	h1, h2, h3, #content p, #content img { margin-right: 20px; }
	#content p img { max-width: 100%; }
	#content div.calendarwrapper { width: 50%; }
}
@media only screen and (max-width: 550px) {
	table.holidayplan span.full { display: none; }
	#content table.holidayplan span.abbr { display: inline; }
	.formbuilderwrapper li.address, .formbuilderwrapper li.parentaladdress, .formbuilderwrapper li.scholaraddress { width: 100%; }
	#content .formbuilderwrapper li.options fieldset ol li { padding-right: 1.5em; }
}
@media only screen and (max-width: 510px) {
	table.staff th.phones, table.staff td.phones { display: none; }
	#content table.staff td.name span.phones { display: inline; }
	/* */
	header { margin-left: 10px; }
	#logo { margin: 0 10px 10px 0; }
	#subsite { margin: 0 10px 10px 0; }
	#sitewrapper { margin: 0 10px; }
	#contentwrapper { margin: 10px 10px 0; }
	#content div.newslist article { padding: 10px; }
	#subsite ul { margin: 0 0 0 5px; }
	div.breadcrump { padding-left: 10px; padding-right: 10px; }
	h1, h2, h3, #content p { margin-left: 10px; margin-right: 10px; }
	#content .formbuilderwrapper > form > fieldset > ol { padding-left: 10px; padding-right: 0; }
	#content div.subjectswrapper { margin-left: 10px; }
	#content { padding-bottom: 1px; }
	#content table.staff { margin-bottom: 0; }
	#content table.staff th.name { padding-left: 10px; }
	#content table.staff td.name { padding-left: 10px; }
	#content table td, #content table th { padding-right: 10px; }
	#content table td:first-child, #content table th:first-child { padding-left: 10px; }
	#content div.gallerylistwrapper { margin-left: 10px; }
	#content table.holidayplan { padding-left: 0; }
	#content table.stafflist { padding: 0; }
	#content table.stafflist td.name { width: 50%; }
	#content table.events td:first-child { padding-left: 0; }
	#content table.events td.day { padding: 0 0 0 10px; }
	#content table hr { margin-left: -10px; margin-right: -10px; }
	/* */
	#content ul.subjects li { width: 100%; }
	#content ul.subjects.type-1 li { width: 50%; }
	#content ul.subjects li a { margin-right: 10px; }
	#content ul.subjects figure { padding-bottom: 51.77286210695822%; background-position: center; margin-bottom: 10px; }
	
	table.twocolumn, table.twocolumn tr, table.twocolumn td { display: block; }
	table.twocolumn { padding: 0 10px; }
	table.twocolumn tr { padding-bottom: 10px; }
	table.twocolumn td { padding: 0 !important; }
	#presaleform { padding: 0 0 10px; }
	#presaleform > div { width: 100%; }
	
	#content div.calendars { margin: 10px 5px; }
	#content div.calendarwrapper { width: 50%; }
	#content div.calendarinner { margin: 10px 5px; }
	#content table.calendar td:first-child { padding: 0; }

	figure.single { padding: 0 10px; }
	.imagesliderwrapper { margin: 0 10px; }
}
@media only screen and (max-width: 440px) {
	#subsite li.javascript { display: none; }
	table.staff th.mail, table.staff td.mail { display: none; }
	#content table.staff td.name span.email { display: inline; }
	#content table.holidayplan tr.name { display: table-row; }
	#content table.holidayplan td.name { display: none; }
	#content table.holidayplan td.day.start { padding-left: 10px; }
}

@media print {
	#bg { display: none !important; }
	body { background-image: none; background-color: #FFFFFF; }
	header { margin: 0; padding: 0; width: auto; position: static; }
	#logo { margin: 0; padding: 0; position: absolute; top: 0; left: 15px; width: auto; }
	#site { display: none; }
	#subsite { display: none; }
	#sitewrapper { display: none !important; }
	#container { margin: 150px 0 0; max-width: none; }
	#content .imageslidernavigation { display: none; }
	.imagesliderwrapper { background-color: #FFFFFF; overflow: visible; }
	.imagesliderinner { margin-left: 0 !important; display: block; max-width: 100%; }
	.imageslider .slide { text-align: left; display: block; margin: 0 10px 10px 0; float: left; max-width: 350px; width: auto !important; height: 235px !important; }
	#content table.calendar td.reserved { background-color: #007381 !important; color: #FFFFFF !important; text-decoration: line-through; }
	figure .imagewrapper { margin: 0; }
	div.newslist figure { max-width: 245px; }
	div.newslist div.newstext { margin-left: 245px; }
	ul.gallerylinks, div#jubilee { display: none !important; }
}
