@viewport { width: device-width; }

@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,400italic,600italic);

img.ratskeller { width: 79px; height: 86px; }
img.navi-wernesgruener-b { width: 75px; height: 107px; }
img.popup { width: 20px; height: 10px; }
img.submenu { width: 21px; height: 12px; padding: 4px 0; }
img.magnifier { width: 42px; height: 42px; }
img.logo { width: 47px; height: 51px; }
img.social { width: 28px; height: 28px; }

.hide { position:absolute; display: none; }
.left { float: left; }
.right { float: right; }
.clear { clear: both; }
.space { clear: both; padding: 2ex; }
.smallspace { clear: both; padding: 1.2ex; }
.black { color: #333333; !important }
.color { color: #c50017; !important }
.blind { display: none; }

body {
  position: relative;
  border: 0;
  padding: 0;
  margin: 0;
  font-family: 'Source Sans Pro', calibri, helvetica, arial, verdana;
  font-size: 16px;
  color: #333333;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, 1.0);
  background-color: #d1cdcc;
}

a { color: #c50017; text-decoration: none; }
a:hover { color: #c50017; text-decoration: underline; }
p { }
p.start { margin: 0; }
p.price { margin: 1ex 0 0 0; }
img { border: 0; margin: 0; padding: 0; }
img.icon { width: 34px; height: 34px; }
img.arrow { width: 59px; height: 13px; }
div#cms1, div#cms2, div#cms3 { text-shadow: 0 0 0 #333333 !important; }

h1 { font-family: georgia; font-weight: normal; font-size: 32px; color: #c50017; margin: 0; padding: 0; white-space: nowrap; }
h2 { font-family: georgia; font-weight: normal; font-size: 26px; color: #c50017; margin: 0; padding: 0; }
h3 { font-family: georgia; font-weight: normal; font-size: 18px; color: #c50017; margin: 0; padding: 0; }

video, audio {
  text-shadow: none !important;
}
div#head {
  position: fixed;
  z-index: 10;
  width: 100%;
  height: 107px;
  text-align: right;
  background-color: #b0331f;
  -webkit-box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.8);
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.8);
}

div#config {
  position: absolute;
  top: 10px;
  left: 180px;
}
div#config a {
  color: #ffffff;
  text-shadow: 1px 1px 0 rgba(51, 51, 51, 0.5);
}

div#logo {
  position: absolute;
  top: 10px;
  left: 50px;
}

div#navigation {
  position: absolute;
  top: 0px;
  right: 0px;
}
div#navigation a {
  float: left;
}

div#menu {
  position: relative;
  padding: 40px 90px 0 0;
  float: right;
}
div#menu a img {
  padding: 7px 7px 5px 7px;
}
div.menu-list {
  display: block;
  position: relative;
  float: left;
  white-space: nowrap;
}
div.menu-list a.menu-item {
  display: block;
  float: left;
  padding: 10px 7px 8px 7px;
}
div.menu-list a {
  font-size: 20px;
  line-height: 22px;
  color: #f2b5a2;
  text-shadow: 1px 1px 0 rgba(51, 51, 51, 0.5);
  text-decoration: none;
}
div.menu-list a:hover {
  color: #ffffff;
}
div.menu-list a.active {
  color: #ffffff;
}
div.menu-list a img {
  padding: 7px 7px 5px 7px;
}
div.menu-icon {
  display: none;
  position: relative;
  float: left;
}
div.menu-icon a.menu-text {
  display: block;
  float: left;
  padding: 10px 7px 8px 7px;
}
div.menu-icon a {
  font-size: 20px;
  line-height: 22px;
  color: #f2b5a2;
  text-shadow: 1px 1px 0 rgba(51, 51, 51, 0.5);
  text-decoration: none;
}
div.menu-icon a:hover {
  color: #ffffff;
}
div.menu-icon a img {
  padding: 7px 7px 5px 7px;
}
div.menu-mobile {
  display: none;
  position: relative;
  float: left;
}
div.menu-mobile a.menu-text {
  display: block;
  float: left;
  padding: 10px 7px 8px 7px;
}
div.menu-mobile a {
  font-size: 20px;
  line-height: 22px;
  color: #f2b5a2;
  text-shadow: 1px 1px 0 rgba(51, 51, 51, 0.5);
  text-decoration: none;
}
div.menu-mobile a:hover {
  color: #ffffff;
}
div.menu-mobile a img {
  padding: 7px 7px 5px 7px;
}
div.menu-find {
  position: relative;
  float: left;
}
div.menu-language {
  position: relative;
  float: left;
}
div.menu-list div.menu-item, div.menu-icon div.menu-item {
  position: relative;
  float: left;
}
div.menu-list div.menu-popup, div.menu-icon div.menu-popup {
  display: none;
  position: absolute;
  top: 67px;
  text-align: left;
  -webkit-box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.8);
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.8);
}
div.menu-list div.menu-popup {
  left: -10px;
}
div.menu-icon div.menu-popup {
  right: -202px;
}
div.menu-popup span {
  position: absolute;
  top: -15px;
}
div.menu-list div.menu-popup span {
  left: 15px;
}
div.menu-icon div.menu-popup span {
  left: 15px;
}
div.menu-subitem {
  position: relative;
  cursor: pointer;
}
div.menu-subitem div.menu-subpopup {
  display: block;
}
a.menu-topitem {
  display: block;
  z-index: 2;
  height: 1px;
  width: 305px;
  padding: 0px 5px 0px 15px !important;
  background-color: #73030f;
  background-color: rgba(115, 3, 15, 0.9);
  -webkit-box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.8);
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.8);
}
a.menu-subitem {
  display: block;
  z-index: 1;
  width: 305px;
  font-size: 19px !important;
  padding: 6px 5px 5px 15px !important;
  background-color: #b0331f;
  background-color: rgba(176, 51, 31, 0.9);
  border-bottom: 1px solid #d76671;
}
a.menu-subitem:hover {
  color: #ffffff;
  background-color: #7c2216;
  background-color: rgba(124, 34, 22, 0.9);
}
a.menu-subitem img {
  float: right;
}
a.menu-subsubitem {
  display: block;
  z-index: 1;
  width: 290px;
  font-size: 19px !important;
  padding: 6px 5px 5px 30px !important;
  background-color: #b0331f;
  background-color: rgba(176, 51, 31, 0.9);
  border-bottom: 1px solid #d76671;
}
a.menu-subsubitem:hover {
  color: #ffffff;
  background-color: #7c2216;
  background-color: rgba(124, 34, 22, 0.9);
}

div#start {
  position: relative;
  border-top: 100px solid #b0331f;
  overflow: hidden;
}
div#start div.photo {
  position: relative;
  z-index: 1;
  top: 7px;
  max-height: 570px;
  text-align: center;
}
div#start div.index {
  position: relative;
}
div#start div.blind {
  position: absolute;
  width: 100%;
}
div#start div.photo img.photo {
  max-width: 100%;
  height: auto;
}
div#start div.photo div.layer {
  position: relative;
  clear: both;
  max-width: 904px;
  padding: 0px 60px 0px 60px;
  margin: 0 auto;
}
div#start div.photo div.layer div.claim {
  position: absolute;
  z-index: 9;
  bottom: 35px;
  right: 60px;
  padding: 20px 20px 20px 20px;
  margin-left: 60px;
  text-shadow: 1px 1px 0 rgba(51, 51, 51, 0.5);
  background-image: url(images/claim-block.png);
}
div#start div.photo div.layer div.claim-white {
  background-image: url(images/claim-block-white.png);
}
div#start div.photo div.layer div.claim-orange {
  background-image: url(images/claim-block-orange.png);
}
div#start div.photo div.layer div.claim div.arrow {
  position: absolute;
  top: -16px;
  left: 20px;
  width: 32px;
  height: 16px;
  background-image: url(images/claim-arrow.png);
  background-size: 32px 16px;
}
div#start div.photo div.layer div.claim div.arrow-white {
  background-image: url(images/claim-arrow-white.png);
}
div#start div.photo div.layer div.claim div.arrow-orange {
  background-image: url(images/claim-arrow-orange.png);
}
div#start div.photo div.layer div.claim-calibri {
  font-family: calibri;
  color: #ffffff;
  text-shadow: 0 0 0 rgba(51, 51, 51, 1.0);
  font-size: 52px;
}
div#start div.photo div.layer div.claim-calibri-italic {
  font-family: calibri;
  color: #ffffff;
  text-shadow: 0 0 0 rgba(51, 51, 51, 1.0);
  font-size: 52px;
  font-style: italic;
}
div#start div.photo div.layer div.claim-georgia {
  font-family: georgia;
  color: #ffffff;
  text-shadow: 0 0 0 rgba(51, 51, 51, 1.0);
  font-size: 52px;
}
div#start div.photo div.layer div.claim-georgia-italic {
  font-family: georgia;
  color: #ffffff;
  text-shadow: 0 0 0 rgba(51, 51, 51, 1.0);
  font-size: 52px;
  font-style: italic;
}

div#photo {
  position: relative;
  border-top: 100px solid #b0331f;
  overflow: hidden;
}
div#photo div.photo {
  position: relative;
  z-index: 1;
  background-position: center 100%;
  background-repeat: no-repeat;
}
div#photo div.photo img.photo {
  filter: alpha(opacity=0);
  opacity: 0.0;
}

div#slideshow {
  position: absolute;
  z-index: -1;
  bottom: 0px;
  right: 0px;
  width: 0px;
  height: 0px;
  overflow: hidden;
}

div#main {
  position: relative;
  z-index: 2;
  -webkit-box-shadow: 0 -3px 5px 0 rgba(0, 0, 0, 0.3);
  box-shadow: 0 -3px 5px 0 rgba(0, 0, 0, 0.3);
}

div#title {
  position: relative;
  clear: both;
  padding: 20px 60px 0 60px;
  max-width: 904px;
  min-height: 120px;
  margin: 0 auto;
  background-color: #ffffff;
}

div#title div.title {
  position: relative;
  padding: 20px 0 5px 0;
  width: 65.333333%;
}
div#title div.text {
  position: relative;
  padding: 0 0 20px 0;
  width: 65.333333%;
}
div#title div.function {
  position: relative;
  padding: 20px 0 5px 0;
  max-width: 30.666666%;
  float: right;
}
div#title div.function span {
  position: absolute;
  right: 40px;
  bottom: 17px;
  white-space: nowrap;
}
div#title div.line {
  position: relative;
  border-bottom: 1px solid #dcdcdc;
}
div#title div.edit {
  right: 60px;
}

div#mobile {
  display: none;
  border-top: 5px solid #b0331f;
  border-top: 5px solid rgba(176, 51, 31, 0.9);
}

div#content {
  position: relative;
  clear: both;
  padding: 20px 60px 20px 60px;
  max-width: 904px;
  margin: 0 auto;
  background-color: #ffffff;
}

div#content div.break { clear: both; }
div#content div.size00 { width: 4.000000%; height: 10px; float: left; }
div#content div.size11 { width: 100.000000%; margin-bottom: 32px; }
div#content div.size12 { width: 48.000000%; margin-bottom: 32px; float: left; }
div#content div.size13 { width: 30.666666%; margin-bottom: 32px; float: left; }
div#content div.size23 { width: 65.333333%; margin-bottom: 32px; float: left; }

div#content div.underline {
  border-bottom: 1px solid #dcdcdc;
}

div#content div.default {
  position: relative;
  background: #f0f0f0;
}
div#content div.default div.image {
  position: relative;
}
div#content div.default div.image img {
  width: 100%;
  height: auto;
}
div#content div.default div.title {
  position: relative;
  padding: 10px 16px 0 16px;
}
div#content div.default div.text {
  position: relative;
  padding: 6px 16px 16px 16px;
}
div#content div.default div.text span {
  width: 50px;
}
div#content div.default div.line {
  position: relative;
  font-weight: bold;
  padding: 0 16px 16px 16px;
}
div#content div.default div.more {
  position: absolute;
  right: 10px;
  bottom: 4px;
}
div#content div.default div.more span {
  position: absolute;
  right: 40px;
  bottom: 12px;
  white-space: nowrap;
}

div#content div.program {
  position: relative;
  background: #f0f0f0;
}
div#content div.program div.image {
  position: relative;
  width: 48%;
  margin: 0 4% 0 0;
  float: left;
}
div#content div.program div.image img {
  width: 100%;
  height: auto;
  float: left;
}
div#content div.program div.title {
  position: relative;
  padding: 10px 0 0 0;
  margin: 0 16px;
}
div#content div.program div.date {
  position: relative;
  padding: 10px 0 0 0;
  margin: 0 16px;
}
div#content div.program div.text {
  position: relative;
  padding: 6px 0 20px 0;
  margin: 0 16px 0 52%;
}
div#content div.program div.link {
  position: absolute;
  right: 10px;
  bottom: 4px;
}
div#content div.program div.link span {
  position: absolute;
  right: 40px;
  bottom: 12px;
  white-space: nowrap;
}

div#content div.teaser {
  position: relative;
}
div#content div.teaser div.image {
  position: relative;
  width: 45%;
  float: left;
}
div#content div.teaser div.image img {
  width: 100%;
  float: left;
  height: auto;
}
div#content div.teaser div.title {
  position: relative;
  padding: 10px 0 0 0;
}
div#content div.teaser div.text {
  position: relative;
  padding: 6px 0 16px 0;
}

div#content div.infobox {
  position: relative;
  overflow: visible;
  text-align: center;
  max-width: 278px;
}
div#content div.infobox-red {
  background-image: url(images/infobox-red.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
div#content div.infobox-green {
  background-image: url(images/infobox-green.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
div#content div.infobox div.title {
  position: relative;
  padding: 40px 0 0 0;
}
div#content div.infobox div.title h2 {
  color: #ffffff;
  font-size: 24px;
  font-style: italic;
  text-shadow: 1px 1px 0 rgba(51, 51, 51, 0.5);
}
div#content div.infobox div.title h2 span {
  display: block;
  width: 60%;
  margin: 10px auto;
  border-bottom: 1px solid #ffffff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
div#content div.infobox div.text {
  position: relative;
  padding: 6px 0 16px 0;
}
div#content div.infobox div.text p {
  color: #ffffff;
  font-size: 16px;
  font-style: italic;
  text-shadow: 1px 1px 0 rgba(51, 51, 51, 0.5);
}
div#content div.infobox a, div#content div.infobox a:hover {
  text-decoration: none;
}

div#content div.gallery {
  position: relative;
  background: #f0f0f0;
}
div#content div.gallery div.image {
  position: relative;
}
div#content div.gallery div.image img.image {
  display: none;
  width: 100%;
  height: auto;
}
div#content div.gallery div.image img.visible {
  display: block;
}
div#content div.gallery div.image div.magnifier {
  position: absolute;
  top: 41%;
  left: 44%;
  display: none;
  cursor: pointer;
}
div#content div.gallery div.image div.prev {
  position: absolute;
  top: 42%;
  left: 0px;
  cursor: pointer;
}
div#content div.gallery div.image div.next {
  position: absolute;
  top: 42%;
  right: 0px;
  cursor: pointer;
}
div#content div.gallery div.title {
  position: relative;
  padding: 10px 16px 0 16px;
}
div#content div.gallery div.text {
  position: relative;
  padding: 6px 16px 16px 16px;
}
div#content div.gallery div.line {
  position: relative;
  font-weight: bold;
  padding: 0 16px 16px 16px;
}
div#content div.gallery div.more {
  position: absolute;
  right: 10px;
  bottom: 4px;
}
div#content div.gallery div.more span {
  position: absolute;
  right: 40px;
  bottom: 12px;
  white-space: nowrap;
}

div#content div.lightbox, div#content div.seats {
  display: none;
  position: fixed; 
  z-index: 998;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  background-color: #000000;
  background-color: rgba(0, 0, 0, 0.8);
}
div#content div.lightbox div.frame, div#content div.seats div.frame {
  position: relative;
  max-width: 964px;
  margin: 20px auto 0 auto;
  z-index: 999;
  background-color: #ffffff;
  padding: 30px 30px 60px 30px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
div#content div.lightbox div.frame img.image, div#content div.seats div.frame img.image {
  display: none;
  width: 100%;
  height: auto;
}
div#content div.lightbox div.frame img.visible, div#content div.seats div.frame img.visible {
  display: block;
}
div#content div.lightbox div.frame div.prev, div#content div.seats div.frame div.prev {
  position: absolute;
  top: 44%;
  left: 30px;
  cursor: pointer;
}
div#content div.lightbox div.frame div.next, div#content div.seats div.frame div.next {
  position: absolute;
  top: 44%;
  right: 30px;
  cursor: pointer;
}
div#content div.lightbox div.frame div.close, div#content div.seats div.frame div.close {
  position: absolute;
  right: 30px;
  bottom: 10px;
  cursor: pointer;
}
div#content div.lightbox div.frame div.text, div#content div.seats div.frame div.text {
  position: absolute;
  left: 15px;
  bottom: 0px;
}

div#content div.scroll {
  position: relative;
}
div#content div.menucard {
  position: relative;
}
div#content div.menucard div.list {
  position: relative;
  width: 65.333333%;
  background: #f0f0f0;
}
div#content div.menucard div.list div.line {
  position: relative;
  height: 1px;
  background-color: #ffffff;
}
div#content div.menucard div.list div.item {
  position: relative;
  border-right: 18px solid #abaaae;
  text-align: center;
}
div#content div.menucard div.list div.blue { border-right: 18px solid #3472b6; }
div#content div.menucard div.list div.lightblue { border-right: 18px solid #30a3d9; }
div#content div.menucard div.list div.red { border-right: 18px solid #b0321f; }
div#content div.menucard div.list div.orange { border-right: 18px solid #e9570f; }
div#content div.menucard div.list div.yellow { border-right: 18px solid #f78f07; }
div#content div.menucard div.list div.green { border-right: 18px solid #209e2a; }
div#content div.menucard div.list div.purple { border-right: 18px solid #8f6bab; }

div#content div.menucard div.list div.item div.image {
  position: relative;
  width: 100%;
}
div#content div.menucard div.list div.item div.image img {
  width: 100%;
  height: auto;
}
div#content div.menucard div.list div.item div.title {
  position: relative;
  padding: 10px 0 0 0;
}
div#content div.menucard div.list div.item div.text {
  position: relative;
  padding: 20px 20px 20px 20px;
}
div#content div.menucard div.link {
  position: relative;
  width: 30.666666%;
  float: right;
  height: 0px;
  overflow: visible;
}
div#content div.menucard div.link a.item {
  display: block;
  z-index: 1;
  font-family: georgia;
  font-size: 19px !important;
  color: #ffffff;
  text-shadow: 1px 1px 0 rgba(51, 51, 51, 0.5);
  text-decoration: none;
  padding: 7px 8px 6px 8px !important;
  background-color: #abaaae;
  background-color: rgba(171, 170, 174, 0.9);
  border-top: 1px solid #ffffff;
}
div#content div.menucard div.link a.italic {
  font-style: italic;
  background-color: #b0331f;
  background-color: rgba(176, 51, 31, 0.9);
}
div#content div.menucard div.link a.item img {
  float: left;
}
div#content div.menucard div.link a.item span {
  display: block;  
  padding: 6px 0 5px 42px;
}
div#content div.menucard div.link a.link img {
  float: right;
}
div#content div.menucard div.link a.link span {
  padding: 6px 0 5px 4px;
}
div#content div.menucard div.link a.link:hover {
  background-color: #b0321f;
  background-color: rgba(176, 50, 31, 0.9);
}
div#content div.menucard div.link a.item-blue:hover {
  background-color: #3472b6;
  background-color: rgba(52, 114, 182, 0.9);
}
div#content div.menucard div.link a.item-lightblue:hover {
  background-color: #30a3d9;
  background-color: rgba(48, 163, 217, 0.9);
}
div#content div.menucard div.link a.item-purple:hover {
  background-color: #8f6bab;
  background-color: rgba(143, 107, 171, 0.9);
}
div#content div.menucard div.link a.item-red:hover {
  background-color: #b0321f;
  background-color: rgba(176, 50, 31, 0.9);
}
div#content div.menucard div.link a.item-orange:hover {
  background-color: #e9570f;
  background-color: rgba(233, 87, 15, 0.9);
}
div#content div.menucard div.link a.item-yellow:hover {
  background-color: #f78f07;
  background-color: rgba(247, 143, 7, 0.9);
}
div#content div.menucard div.link a.item-green:hover {
  background-color: #209e2a;
  background-color: rgba(32, 158, 42, 0.9);
}
div#content div.menucard div.print {
  position: relative;
  float: right;
}
div#content div.menucard div.print span {
  position: absolute;
  right: 40px;
  bottom: 12px;
  white-space: nowrap;
}

div#content div.calendar {
  position: relative;
}
div#content div.calendar div.list {
  position: relative;
  width: 65.333333%;
}
div#content div.calendar div.link {
  position: relative;
  width: 30.666666%;
  float: right;
}

div#content div.text {
  position: relative;
}
div#content div.text div.title {
  position: relative;
  padding: 0 0 0 0;
}
div#content div.text div.text {
  position: relative;
  padding: 0 0 0 0;
}
div#content div.text div.text strong:first-child {
  color: #c50017;
}

div#content div.event {
  position: relative;
  background: #f0f0f0;
}
div#content div.event a.key {
  position: absolute;
  top: -130px;
  left: 0px;
}
div#content div.event div.image {
  position: relative;
  width: 38%;
  margin: 0 3% 0 0;
  float: left;
}
div#content div.event div.image img.teaser {
  position: relative;
  float: left;
  width: 100%;
  height: auto;
}
div#content div.event div.image div.magnifier {
  position: absolute;
  top: 41%;
  left: 44%;
  display: none;
  cursor: pointer;
}
div#content div.event div.date {
  position: relative;
  padding: 9px 0 0 0;
  margin: 0 16px;
}
div#content div.event div.title {
  position: relative;
  padding: 3px 0 0 0;
  margin: 0 16px;
}
div#content div.event div.abstract {
  position: relative;
  padding: 3px 0 38px 0;
  margin: 0 16px 0 40%;
}
div#content div.event div.price {
  position: relative;
  padding: 6px 10px 6px 10px;
  margin: 16px 16px 0 16px;
  background: #cccccc;
  text-shadow: 1px 1px 0 rgba(204, 204, 204, 0.5);
}
div#content div.event div.text {
  position: relative;
  padding: 6px 0 16px 0;
  margin: 10px 16px 0 16px;
}
div#content div.event div.icon {
  position: absolute;
  right: 10px;
  bottom: 4px;
}
div#content div.event div.icon span {
  position: absolute;
  right: 80px;
  bottom: 12px;
  white-space: nowrap;
}
div#content div.event div.soldout, div#content div.event div.popular {
  position: absolute;
  left: 41%;
  bottom: 12px;
  padding: 3px 10px 4px 10px;
  background: #616872 !important;
  color: #ffffff !important;
  text-shadow: 0px 0px 0 #ffffff;
}
div#content div.event div.popular {
  background: #c50017 !important;
}
div#content div.event div.reservation {
  position: relative;
  width: 100%;
  background: #f0f0f0;
  padding-bottom: 50px;
  border-bottom: 15px solid #ffffff;
}
div#content div.event div.reservation div.form {
  clear: both;
  padding: 5px 15px;
}
div#content div.event div.reservation div.form input, div#content div.event div.reservation div.form textarea {
  width: 75%;
  float: right;
}
div#content div.event div.reservation div.form input.line {
  width: 65%;
  float: right;
}
div#content div.event div.reservation div.form select.line {
  width: 10%;
  padding: 2px 0;
  float: right;
}
div#content div.event div.reservation div.form label.red {
  color: #b0331f;
  text-decoration: underline;
}
div#content div.event div.reservation div.icon span {
  right: 40px;
}
div#content div.event div.reservation div.hints {
  position: relative;
  padding: 6px 0 0 0;
  margin: 10px 16px 5px 16px;
}
div#content div.event div.reservation div.hints >strong {
  font-family: georgia;
  font-weight: normal;
  font-size: 18px;
  color: #c50017;
}
div#content div.event div.reservation div.hints ul {
  margin: 1ex 0 1ex 1em;
  padding: 0px;
}
div#content div.text div.back {
  position: relative;
}
div#content div.text div.back span {
  position: absolute;
  left: 40px;
  bottom: 12px;
  white-space: nowrap;
}
div#content div.event div.short {
  position: relative;
}
div#content div.event div.complete {
  position: relative;
}

div#calendar table {
  width: 100.0%;
  border-collapse: collapse;
  border: 1px solid #cccccc;
  text-shadow: 0 0 0 #333333 !important;
}
div#calendar table thead td {
  width: 14.285714286%;
  border: 1px solid #cccccc;
}
div#calendar table thead td {
  background: #cccccc;
}
div#calendar table thead td.title {
  position: relative;
  width: 71.428571429%;
  text-align: center;
  vertical-align: middle;
  font-family: georgia;
  font-size: 18px;
  line-height: 34px;
}
div#calendar table thead td.title a.prev {
  float: left;
  padding: 3px 3px 0 3px;
}
div#calendar table thead td.title a.next {
  float: right;
  padding: 3px 3px 0 3px;
}
div#calendar table thead td.weekday {
  text-align: center;
  vertical-align: middle;
}
div#calendar table tbody td {
  border: 1px solid #cccccc;
}
div#calendar table tbody td.day {
  padding: 2px 2px 8px 4px;
  text-align: left;
  vertical-align: top;
}
div#calendar table tbody td.day {
  background: #ffffff;
  cursor: pointer;
}
div#calendar table tbody td.day.active {
  background: #c50017 !important;
  color: #ffffff !important;
}
div#calendar table tbody td.day.passive {
  background: #eeeeee;
}
div#calendar table tbody td.day.valid {
  color: #c50017;
}
div#calendar table tbody td.day:hover {
  background: #c50017;
  color: #ffffff;
}
div#calendar table tbody td.day.invalid {
  background: #eeeeee;
  cursor: default;
}

div#content div.bloc {
  position: relative;
  padding: 20px 0;
}
div#content div.bloc div.price {
  position: relative;
  background: #f0f0f0;
  padding: 12px 0 12px 7px;
}
div#content div.bloc div.reservation {
  position: absolute;
  top: 25px;
  right: 5px;
  z-index: 100;
}
div#content div.bloc div.reservation span {
  position: absolute;
  right: 40px;
  top: 7px;
  white-space: nowrap;
}
div#content div.bloc div.image {
  position: relative;
}
div#content div.bloc div.image img {
  width: 100%;
  height: auto;
}

div#content div.iframe {
  position: relative;
  min-height: 300px;
}
div#content div.iframe-mp3 {
  min-height: 30px;
}
div#content div.iframe .ratio {
  display: block;
  width: 100%;
  height: auto;
}
div#content div.iframe iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

div#foot {
  position: relative;
  z-index: 3;
}

div#information {
  position: relative;
  clear: both;
  padding: 30px 60px 20px 60px;
  max-width: 904px;
  margin: 0 auto;
  background-color: #3d3d3d;
  color: #ffffff;
  font-size: 12px;
  text-shadow: 1px 1px 0 rgba(51, 51, 51, 0.5);
}
div#information a {
  color: #ffffff;
  text-decoration: none;
}
div#information a:hover {
  text-decoration: underline;
}
div#information div.bloc-left {
  position: relative;
  float: left;
  width: 52%;
}
div#information div.bloc-left div.bloc-logo {
  position: relative;
  float: left;
  width: 45%;
  padding-right: 5%;
}
div#information div.bloc-left div.bloc-logo img.logo {
  position: absolute;
  top: -15px;
  left: 0px;
}
div#information div.bloc-left div.bloc-text {
  position: relative;
  float: left;
  width: 45%;
}
div#information div.bloc-right {
  position: relative;
  float: right;
  width: 48%;
}
div#information div.bloc-right div.caption {
  position: relative;
  padding-bottom: 6px;
}
div#information div.bloc-right div.bloc-newsletter {
  position: relative;
  float: left;
  width: 50%;
}
div#information div.bloc-right div.bloc-search-social {
  position: relative;
  float: right;
  width: 40%;
}
div#information div.bloc-right div.bloc-search-social div.facebook {
  height: 28px;
}
div#information div.bloc-right div.bloc-search-social div.twitter {
  height: 28px;
}
form#newsletter input[type=text], form#search input[type=text],
form#newsletter input[type=email], form#search input[type=email],
form#newsletter input[type=checkbox], form#search input[type=checkbox] {
  height: 15px;
  border: 0;
  margin: 0;
  padding: 2px 0;
  color: #ffffff;
  background-color: #787878;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
form#newsletter input[type=submit], form#search input[type=submit] {
  border: 0;
  margin: 0;
  padding: 0;
  color: #ffffff;
  background-color: #787878;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
form#newsletter input[type=submit]:hover, form#search input[type=submit]:hover {
  background-color: #949494;
}
form#newsletter input.red {
  background-color: #b0331f;
}
form#newsletter input[type=checkbox].red~span {
  color: #b0331f;
}
form#newsletter {
  position: relative;
}
form#newsletter div.newsletter-name {
  position: relative;
  padding: 0 0 10px 0;
}
form#newsletter div.newsletter-name input[name='subscribe_.firstname:record'] {
  width: 44%;
  padding: 2px 2%;
}
form#newsletter div.newsletter-name input[name='subscribe_.lastname:record'] {
  width: 44%;
  padding: 2px 2%;
  float: right;
}
form#newsletter div.newsletter-email {
  position: relative;
  padding: 0 0 10px 0;
}
form#newsletter div.newsletter-email input[name='subscribe_.email:record'] {
  width: 96%;
  padding: 2px 2%;
}
form#newsletter div.newsletter-type {
  position: relative;
  width: 48%;
  float: left;
}
form#newsletter div.newsletter-type input[type=checkbox] {
  float: left;
}
form#newsletter div.newsletter-type span {
  display: block;
  float: left;
  padding-left: 4px; 
}
form#newsletter div.newsletter-submit {
  position: relative;
  width: 48%;
  float: right;
}
form#newsletter div.newsletter-submit input[type=submit] {
  padding: 0 10%;
  float: right;
}

form#search {
  position: relative;
}
form#search div.search-expression {
  position: relative;
  padding: 0 0 10px 0;
}
form#search div.search-expression input[name=expression] {
  width: 100%;
  float: left;
}
form#search div.search-expression input[type=submit] {
  position: absolute;
  width: 10%;
  top: 0px;
  right: 0px;
}

div#copyright {
  position: relative;
  clear: both;
  margin: 0 auto;
  padding:20px 60px 20px 60px;
  max-width: 904px;
  text-align: center;
  background-color: #3d3d3d;
  color: #ffffff;
  font-size: 12px;
  text-shadow: 1px 1px 0 rgba(51, 51, 51, 0.5);
  -webkit-box-shadow: 0 -1px 0 0 rgba(60, 60, 60, 1.0);
  box-shadow: 0 -1px 0 0 rgba(60, 60, 60, 1.0);
}
div#copyright a {
  color: #ffffff;
  text-decoration: none;
}
div#copyright a:hover {
  text-decoration: underline;
}
div#copyright div.bloc {
  position: relative;
  padding: 20px 0 10px 0;
  border-top: 1px solid #787878;
}

.admin {
	color           : #000000;
	font-family     : verdana,arial,helvetica;
	font-size       : 10pt;
	line-height     : 13pt;
	text-shadow     : none;
}
a.admin {
	text-decoration : none;
	white-space     : nowrap;
}
img.admin {
	border          : 0;
}
form.admin {
	margin          : 0px;
}
fieldset.admin {
	margin          : 0;
}
input.admin[type="text"], input.admin[type="password"], input.admin[type="submit"], textarea.admin, select.admin, button.admin {
	border          : 1px solid #666666;
	margin          : 1px 0px 1px 0px;
}
input.admin[type="text"], input.admin[type="password"] {
	padding         : 1px 0px 1px 0px;
}
input.admin[type="submit"], button.admin {
	background      : #bbbbbb;
	cursor          : pointer;
}
select.admin, option.admin {
	overflow        : hidden;
}
select.admin option.grey {
	color           : #999999;
}
a.admin0, a.admin1, a.admin2 {
	display         : block;
	padding         : 1px 2px 1px 2px;
	text-decoration : none;
	color           : #333333;
}
a.admin0 {
	background      : #dddddd;
}
a.admin1 {
	background      : #ffffff;
}
a.admin2 {
	background      : #003366;
	color           : #ffffff;
}
a.admin0:focus, a.admin0:hover, a.admin0:active, a.admin1:focus, a.admin1:hover, a.admin1:active {
	background      : #bbbbbb;
}

div#cms1 div.login {
	position        : relative;
	float           : left;
	width           : 24.5%;
}
div#cms1 div.state {
	position        : relative;
	float           : left;
	width           : 49%;
	padding-left    : 1%;
}
div#cms1 div.document {
	position        : relative;
	float           : right;
	width           : 24.5%;
}
div#cms2 div.admin {
	position        : relative;
	float           : left;
	width           : 49.5%;
}
div#cms2 div.history {
	position        : relative;
	float           : right;
	width           : 49.5%;
}
div#cms3 div.meta {
	position        : relative;
	float           : left;
	width           : 100%;
}

span.fix, span.change, span.control {
	color           : #ffffff;
	font-weight     : bold;
	border-width    : 1px;
	border-style    : outset;
	padding-top     : 1px;
	padding-bottom  : 1px;
	padding-left    : 10px;
	padding-right   : 10px;
}
span.fix {
	background      : #00cc00;
	border-color    : #00cc00;
}
span.change {
	background      : #cc0000;
	border-color    : #cc0000;
}
span.control {
	background      : #ffcc00;
	border-color    : #ffcc00;
}
a.state {
	text-decoration : none;
	font-weight     : bold;
	color           : #ffffff;
}
div.alt {
	position        : absolute;
}
div.clear {
	clear           : both;
}


div.edit {
  position: absolute;
  z-index: 99;
  right: 0px;
  bottom: 0px;
  padding: 2px 5px 1px 5px;
  background-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.5);
  text-shadow: 0 0 0 #333333 !important;
}
div.edit span:before {
  content: '· ';
}
div.new {
  position: relative;
  z-index: 99;
  float: right;
  padding: 2px 5px 1px 5px;
  background-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.5);
  text-shadow: 0 0 0 #333333 !important;
}
div.key {
  position: absolute;
  z-index: 99;
  left: 0px;
  bottom: 0px;
  padding: 2px 5px 1px 5px;
  background-color: #ffffff;
  background-color: rgba(255, 255, 255, 0.5);
  text-shadow: 0 0 0 #333333 !important;
}


div#test {
  position: absolute;
  top: 10px;
  left: 150px;
}

@media 
  only screen and (max-device-width:900px),
  only screen and (max-width: 900px) {
  div.menu-list {
    display: none;
  }
  div.menu-icon {
    display: block;
  }
  div#title div.function {
    z-index: 5;
  }
  div#title div.function span {
    display: none;
    z-index: 5;
    background-color: #ffffff;
    -webkit-box-shadow: 0px 0px 5px 5px rgba(255, 255, 255, 1.0);
    box-shadow: 0px 0px 5px 5px rgba(255, 255, 255, 1.0);
  }
  div#content div.default div.more span {
    display: none;
  }
  div#content div.gallery div.more span {
    display: none;
  }
  div#content div.scroll {
    position: absolute;
  }
  div#content div.menucard div.list {
    width: 100.0%;
    clear: both;
  }
  div#content div.menucard div.link {
    position: relative;
    width: 100.0%;
    clear: both;
  }
  div#information div.bloc-left div.bloc-logo {
    position: relative;
    width: 95%;
  }
  div#information div.bloc-left div.bloc-text {
    position: relative;
    width: 95%;
  }
  div#information div.bloc-right div.bloc-newsletter {
    position: relative;
    margin: 25px 0 15px 0;
    width: 100%;
  }
  div#information div.bloc-right div.bloc-search-social {
    position: relative;
    width: 100%;
  }
  div#calendar table thead td.title {
    font-size: 17px;
    line-height: 25px;
  }
  div#calendar table thead td.title a.prev img {
    width: 25px;
    height: 25px;
  }
  div#calendar table thead td.title a.next img {
    width: 25px;
    height: 25px;
  }
  div#content div.default div.title h2 {
    font-size: 22px;
  }
  div#content div.program div.title h2 {
    font-size: 22px;
  }
  div#content div.program div.text {
    padding: 6px 0 48px 0;
  }
  div#content div.event div.abstract {
    padding: 3px 0 48px 0;
  }
  div#content div.event div.soldout, div#content div.event div.popular {
    left: 16px;
  }
}

@media 
  only screen and (max-device-width: 750px),
  only screen and (max-width: 750px) {
  h1 { white-space: normal; }
  div#content div.size11 { width: 100.0%; clear: both; }
  div#content div.size12 { width: 100.0%; clear: both; }
  div#content div.size13 { width: 100.0%; clear: both; }
  div#content div.size23 { width: 100.0%; clear: both; }
}

@media 
  only screen and (max-device-width: 600px),
  only screen and (max-width: 600px) {
  body {
    background: #ffffff;
  }
  h1 { font-family: georgia; font-weight: normal; font-size: 28px; color: #c50017; margin: 0; padding: 0; white-space: normal; }
  h2 { font-family: georgia; font-weight: normal; font-size: 22px; color: #c50017; margin: 0; padding: 0; }
  div#head {
    position: relative;
  }
  div#start, div#photo, div#slideshow {
    display: none;
  }
  div#start {
    display: block;
    border-top: 0;
    top: -7px;
  }
  div#start div.photo {
    top: 7px;
  }
  div#start div.photo div.layer {
    display: none;
  }
  div#main {
    top: -7px;
  }
  div#title {
    padding: 20px 20px 0 20px;
  }
  div#title div.title {
    width: 100.0%;
  }
  div#title div.text {
    width: 100.0%;
  }
  div#title div.function {
    display: none;
  }
  div#logo {
    left: 20px;
  }
  div#menu {
    padding: 40px 10px 0 0;
  }
  div.menu-icon {
    display: none;
  }
  div.menu-mobile {
    display: block;
    position: static;
  }
  div.menu-mobile div.menu-popup {
    display: none !important;
  }
  div#navigation {
    display: none;
  }
  div#mobile {
    display: none;
  }
  div.menu a {
    font-size: 22px;
    color: #f2b5a2;
    text-shadow: 1px 1px 0 rgba(51, 51, 51, 0.5);
    text-decoration: none;
  }
  div.menu a:hover {
    color: #ffffff;
  }
  a.menu-subitem, a.menu-subsubitem {
    width: auto;
  }
  div#content {
    padding: 20px 20px 20px 20px;
  }
  div#information {
    padding: 30px 20px 20px 20px;
  }
  div#copyright {
    padding:20px 20px 20px 20px;
  }
  div#content div.size00 { width: 0.0%; height: 0px; clear: both; }
  div#content div.size11 { width: 100.0%; clear: both; }
  div#content div.size12 { width: 100.0%; clear: both; }
  div#content div.size13 { width: 100.0%; clear: both; }
  div#content div.size23 { width: 100.0%; clear: both; }
  div#content div.infobox {
    display: none;
  }
  div#content div.lightbox div.frame, div#content div.seats div.frame {
    margin: 10px auto 0 auto;
    padding: 10px 10px 50px 10px;
  }
  div#content div.lightbox div.frame div.prev, div#content div.seats div.frame div.prev {
    left: 10px;
  }
  div#content div.lightbox div.frame div.next, div#content div.seats div.frame div.next {
    right: 10px;
  }
  div#content div.lightbox div.frame div.close, div#content div.seats div.frame div.close {
    right: 10px;
    bottom: 0px;
  }
  div#content div.program div.image {
    width: 100%;
    margin: 0;
    clear: both;
  }
  div#content div.program div.title {
    clear: both;
  }
  div#content div.program div.text {
    padding: 6px 0 40px 0;
    margin: 0 16px 20px 16px;
  }
  div#content div.event div.image {
    width: 100%;
    margin: 0;
    clear: both;
  }
  div#content div.event div.date {
    clear: both;
  }
  div#content div.event div.title {
    clear: both;
  }
  div#content div.event div.abstract {
    padding: 3px 0 48px 0;
    margin: 0 16px 20px 16px;
  }
  div#content div.event div.soldout, div#content div.event div.popular {
    left: 12px;
  }
  img.magnifier {
    display: none;
  }
}

@media 
  only screen and (max-device-width: 400px),
  only screen and (max-width: 400px) {
  div#information div.bloc-left {
    width: 80%;
  }
  div#information div.bloc-right {
    width: 80%;
    float: left;
  }
}

#to-top {
  display: none;
  width: 40px;
  height: 40px;
  background: url('images/totop.png') no-repeat scroll left top transparent;
  overflow: hidden;
  position: fixed;
  z-index: 100;
  right: 10px;
  bottom: 10px;
  text-indent: -999px;
  text-decoration: none;
  border: medium none;
}
#to-top-hover {
  display: block;
  width: 40px;
  height: 40px;
  background: url('images/totop.png') no-repeat scroll left -40px transparent;
  overflow: hidden;
  float: left;
  opacity: 0;
}
#to-top:active, #to-top:focus {
  outline: medium none;
}
#to-top:active, #to-top:focus {
  outline: medium none;
}
