/*

HTML5 CSS Reset
Based on Eric Meyer's CSS Reset
and html5doctor.com HTML5 Reset

Copyright (c) 2011 736 Computing Services Limited
Released under the MIT license. http://opensource.736cs.com/licenses/mit

*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
audio,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
mark,
menu,
meter,
nav,
output,
progress,
section,
summary,
time,
video{
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
body{
    line-height:1;
}
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section,
blockquote{
    display:block;
}
nav ul{
    list-style:none;
}
ol{
    list-style:decimal;
}
ul{
    list-style:disc;
}
ul ul{
    list-style:circle;
}
blockquote,
q{
    quotes:none;
}
blockquote:before,
blockquote:after,
q:before,
q:after{
    content:'';
    content:none;
}
ins{
    text-decoration:underline;
}
del{
    text-decoration:line-through;
}
mark{
    background:none;
}
abbr[title],
dfn[title]{
    border-bottom:1px dotted #000;
    cursor:help;
}
/* tables still need 'cellspacing="0"' in the markup */
table{
    border-collapse:collapse;
    border-spacing:0;
}
hr{
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #ccc;
    margin:1em 0;
    padding:0;
}
input[type = "submit"],
input[type = "button"],
button{
    padding:0 !important;
    margin:0 !important;
}
input,
select,
a img{
    vertical-align:middle;
}
/* :torweg added below this line */
*{
    box-sizing:border-box;
}
/******Contains the Global styles******/
/**************************************/

body{
    color:#2b2b2b;
    font:0.8em Verdana, Arial, Helvetica, sans-serif;
    line-height:1.5em;
    background-color:#ebeaea;
    background-repeat:no-repeat;
}

a,
a:link,
a:visited,
a:hover{
    text-decoration:none;
}

h1,
h2,
h3,
h4,
h5,
h6{
    color:#5d5d5d;
    font-family:'fontin';
    margin:0 0 1em 0;
}
h1{
    font-size:1.9em;
}
h2{
    font-size:1.6em;
    margin:1em 0;
}
h3{
    font-size:1.4em;
}
p{
    margin-bottom:1.5em;
}
a{
    color:#0f6db6;
    font-weight:600;
}
a:hover,
a:active,
a:visited{
    color:#1499ff;
}
#page{
    position:relative;
    width:75em;
    margin:0 auto;
    padding:0.6em 0;
}
#siteContent{
    padding:2em;
    background-color:#ffffff;
}
#siteContent ul{
    margin-left:1.2em;
}
#mainContent{
    width:69%;
    padding-right:2em;
}
#mainContent.fullpage{
    width:100%;
    padding-right:0;
}
#siteContent.isHome #mainContent{
    width:59%;
}
#sideContent{
    width:30%;
}
#siteContent.isHome #sideContent{
    width:40%;
}
#mainContent,
#sideContent{
    display:inline-block;
    vertical-align:top;
}
#subContentWrapper{
    padding:1em;
    background-color:#f0f0f0;
    margin-bottom:2em;
}
.subContent{
    position:relative;
    margin-bottom:1em;
    text-align:center;
}
.subContent a{
    display:block;
    color:#ffffff;
}
.subContentTitle a{
    font-family:'fontin';
    position:absolute;
    z-index:2;
    bottom:1em;
    width:100%;
    background-color:rgba(0, 0, 0, 0.7);
    padding:0.5em 0.2em;
    margin:0;
    font-size:1.6em;
}
.subContent img{
    height:auto;
    width:100%;
}
.contentImageWithoutText,
.contentImageWithText{
    margin-bottom:1.6em;
    text-align:center;
}
.contentImageWithoutText,
.contentImageWithText > img{
    text-align:center;
    width:100%;
    height:auto;
}
.contentImageWithText > p{
    text-align:center;
    font-size:0.9em;
}
#footer{
    width:100%;
    height:2.35em;
    padding:0 1.6em;
    background-color:#ababab;
    color:#ffffff;
    text-align:right;
    display:flex;
    align-items:center;
}
#footer span{
    margin-left:auto;
}
#footer ul{
    display:flex;
    align-items:flex-start;
}
#footer ul li a{
    color:#ffffff;
    padding-right:1.6em;
}
/******Contains the styles for the Head************/
/**************************************************/

#headerLogoBar{
    height:7.8em;
    background:url('./img/header-logo-bar-bg.jpg') repeat-x;
}
#logo{
    display:inline-block;
    position:absolute;
    left:0.6em;
    width:27.2em;
    height:7.8em;
    background:url('./img/logo.png') no-repeat center transparent;
}

#siteSearch{
    display:inline-block;
    position:absolute;
    top:3.5em;
    right:2.5em;
    width:21em;
    height:1.8em;
    border:1px solid #ababab;
    background-color:#ffffff;
    color:#ababab;
}
#siteSearch input{
    -webkit-appearance:none;
    width:18em;
    height:1.6em;
    padding-left:0.4em;
    margin:0;
    border:0 none;
    vertical-align:top;
}

#siteSearch button{
    -webkit-appearance:none;
    width:1.6em;
    height:1.6em;
    padding:0;
    margin:0;
    border:0 none;
    background:url('./img/site-search-button.gif') no-repeat center transparent;
    vertical-align:top;
    cursor:pointer;
}

.searchResultWrapper{
    padding:0.5em 1em;
    border-bottom:2px solid #ababab;
}

/***********THEME**************/
/******************************/

.themeText{
    background-color: rgba(0, 0, 0, 0.65);
    color: #ffffff;
    left: 5.5em;
    padding: 1.6em;
    position: absolute;
    top: 5.5em;
    width: 25em;
}
.themeText h1{
    color:#ffffff;
    font-family:'fontin';
    font-weight:bold;
    font-size:1.8em;
    line-height:1.3em;
}
.themeText a{
    color:#ffffff;
    font-weight:bold;
}
/******Contains the styles for the Navigation*******/
/***************************************************/

.singleSpacedMenu{
    height:2.35em;
}
.doubleSpacedMenu{
    height:4.7em;
}
.tripleSpacedMenu{
    height:6.75em;
}
#mainMenu{
    background-color:#ababab;
    line-height:2.35em;
    font-size:1.2em;
    font-weight:bold;
}
.mainMenuItem{
    display:block;
    float:left;
    width:10.41em;
}
.mainMenuItem a,
.mainMenuItem a:link,
.mainMenuItem a:visited,
.mainMenuItem a:hover{
    display:block;
    color:#ffffff;
    text-align:center;
}
.mainMenuItem a:hover{
    color:#5d5d5d;
}
.mainMenuItem.isHome a:hover{
    background-color:#f0f0f0;
}
.mainMenuItem.notHome{
    border-right:1px solid #5d5d5d;
    width:160px;
}
.mainMenuItem.active a,
.mainMenuItem.active a:link,
.mainMenuItem.active a:visited,
.mainMenuItem.active a:hover{
    color:#5d5d5d;
}
.mainMenuItem.active{
    background-color:#f0f0f0;
}
#subMenu{
    line-height:2.35em;
}
.subMenuItem{
    display:block;
    float:left;
    width:160px;
    background-color:#f0f0f0;
}
.subMenuItem a,
.subMenuItem a:link,
.subMenuItem a:visited,
.subMenuItem a:hover{
    display:block;
    color:#5d5d5d;
    text-align:center;
}
.subMenuItem a:hover{
    background-color:#d6d6d6;
}
.subMenuItem.active a,
.subMenuItem.active a:link,
.subMenuItem.active a:visited,
.subMenuItem.active a:hover{
    background-color:#d6d6d6;
}
/******Contains the styles for the Breadcrumb*******/
/***************************************************/

#breadCrumb{
    background-color:#ffffff;
    color:#5d5d5d;
    line-height:30px;
    font-weight:bold;
}
#breadCrumb span,
#breadCrumb ul{
    display:inline-block;
    vertical-align:top;
}
#breadCrumb span{
    margin:1.6em 1em 0 1.6em;
}
#breadCrumb ul{
    margin-top:20px;
    list-style-type:disc;
}
.breadCrumbItem{
    float:left;
    margin-right:1.6em;
    line-height:2.35em;
}
.breadCrumbItem a,
.breadCrumbItem a:link,
.breadCrumbItem a:visited,
.breadCrumbItem a:hover{
    color:#5d5d5d;
}
.breadCrumbItem a:hover{
    text-decoration:underline;
}
.breadCrumbItem:first-child{
    list-style-type:none;
}
.breadCrumbItem:last-child{
    text-decoration:underline;
}
/******Contains the styles for the Contactform*******/
/***************************************************/

#contactForm{
    display:block;
    margin:0 20px 20px 0;
    padding:0 10px;
}
#sideContent.contact{
    margin-top:20px;
}
.contactFormFieldWrapper{
    margin:20px 0;
}
.contactFormFieldWrapper > label{
    display:inline-block;
    margin-bottom:5px;
    vertical-align:top;
    width:18%;
}
.contactFormFieldWrapper > input,
.contactFormFieldWrapper > .contactFormInputAndErrorWrapper{
    width:65%;
    display:inline-block;
}
.contactFormFieldWrapper > .contactFormInputAndErrorWrapper > input,
.contactFormFieldWrapper > .contactFormInputAndErrorWrapper > textarea{
    width:100%;
    display:block;
}
.contactFormFieldWrapper > input::placeholder,
.contactFormFieldWrapper > .contactFormInputAndErrorWrapper > input::placeholder,
.contactFormFieldWrapper > .contactFormInputAndErrorWrapper > textarea::placeholder{
    font-style: italic;
    color: #ababab;
}
#contactFormHint,
#contactFormSubmit{
    margin:20px 0;
    text-align:center;
}
.contactFormFieldWrapper > .contactFormInputAndErrorWrapper > .errorHint{
    display:none;
}
.contactFormFieldWrapper.contactFormFieldError > .contactFormInputAndErrorWrapper > input,
.contactFormFieldWrapper.contactFormFieldError > .contactFormInputAndErrorWrapper > textarea{
    border:1px solid #ff0000;
}
.contactFormFieldWrapper.contactFormFieldError > .contactFormInputAndErrorWrapper > input::placeholder,
.contactFormFieldWrapper.contactFormFieldError > .contactFormInputAndErrorWrapper > textarea::placeholder,
.contactFormFieldWrapper.contactFormFieldError > label,
.contactFormFieldWrapper.contactFormFieldError > .contactFormInputAndErrorWrapper > .errorHint{
    color:#ff0000;
}
.contactFormFieldWrapper.contactFormFieldError > .contactFormInputAndErrorWrapper > .errorHint{
    display:block;
}
.openingTimes {
    margin-bottom:0.8em;
}

/******MAP*********/

#map{
    width:100%;
    height:400px;
    border:2px solid #f0f0f0;
    margin:2em 0;
}
body {
   background-image: linear-gradient(top, #b8b8b9 0%, #ebeaea 45%);
background-image: -o-linear-gradient(top, #b8b8b9 0%, #ebeaea 45%);
background-image: -moz-linear-gradient(top, #b8b8b9 0%, #ebeaea 45%);
background-image: -webkit-linear-gradient(top, #b8b8b9 0%, #ebeaea 45%);
background-image: -ms-linear-gradient(top, #b8b8b9 0%, #ebeaea 45%);
background-image: -webkit-gradient(
	linear,
	left top,
	left bottom,
	color-stop(0.0, #b8b8b9),
	color-stop(0.45, #ebeaea)
);
}
@font-face {
    font-family : 'fontin';
    src : url('fonts/fontin-bold-webfont.eot');
    src : url('fonts/fontin-bold-webfont.eot?#iefix') format('embedded-opentype'), 
    url('fonts/fontin-bold-webfont.woff') format('woff');
    font-weight : bold;
    font-style : normal;
    font-variant : normal;
}

@font-face {
    font-family : 'fontin';
    src : url('fonts/fontin-italic-webfont.eot');
    src : url('fonts/fontin-italic-webfont.eot?#iefix') format('embedded-opentype'), 
    url('fonts/fontin-italic-webfont.woff') format('woff');
    font-weight : normal;
    font-style : italic;
    font-variant : normal;
}

@font-face {
    font-family : 'fontin';
    src : url('fonts/fontin-regular-webfont.eot');
    src : url('fonts/fontin-regular-webfont.eot?#iefix') format('embedded-opentype'), 
    url('fonts/fontin-regular-webfont.woff') format('woff');
    font-weight : normal;
    font-style : normal;
    font-variant : normal;
}

@font-face {
    font-family : 'fontin';
    src : url('fonts/fontin-smallcaps-webfont.eot');
    src : url('fonts/fontin-smallcaps-webfont.eot?#iefix') format('embedded-opentype'), 
    url('fonts/fontin-smallcaps-webfont.woff') format('woff');
    font-weight : normal;
    font-style : normal;
    font-variant : small-caps;
}
body{
    -webkit-text-size-adjust:none;
}
.theme-container{
    width:75em;
    height:35em;
}
.swipe{
    overflow:hidden;
    visibility:hidden;
    position:relative;
}
.swipe-wrap{
    overflow:hidden;
    position:relative;
}
.swipe-wrap > div{
    float:left;
    width:100%;
    position:relative;
}
small{
    margin:0 10px 30px;
    display:block;
    font-size:12px;
}
#mySwipe{
    position:relative;
    visibility:visible;
    max-width:75em;
    height:35em;
    background-color:#000;
}
#button-container{
    height:35em;
    position:absolute;
    top:-23px;
    width:100%;
    display:inline-table;
}
#button-wrapper{
    vertical-align:middle;
    display:table-cell;
}
#prev-button{
    position:absolute;
    left:0;
}
#next-button{
    position:absolute;
    right:0;
}
.theme-button{
    background-color:rgba(0, 0, 0, 0.65);
    border:none;
    color:#ffffff;
    cursor:pointer;
    height:3.5em;
    line-height:0;
    width:3.3em;
}
.theme-button img{
    width:2.2em;
}
