/* CUSTOM FONTS */
@font-face {
  font-family: 'SerlioLHRegular';
  src: url('../fonts/serlilh-webfont.eot');
  src: url('../fonts/serlilh-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/serlilh-webfont.woff') format('woff'), url('../fonts/serlilh-webfont.ttf') format('truetype'), url('../fonts/serlilh-webfont.svg#SerlioLHRegular') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'icomoon';
  src: url('../fonts/icomoon.eot');
  src: url('../fonts/icomoon.eot?#iefix') format('embedded-opentype'), url('../fonts/icomoon.ttf') format('truetype'), url('../fonts/icomoon.woff') format('woff'), url('../fonts/icomoon.svg?#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}
[class^="icon-"],
[class*=" icon-"] {
  font-family: 'icomoon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-cgf-type:before {
  content: "\e601";
}
.icon-social-icons-email:before {
  content: "\e603";
}
.icon-social-icons-facebook:before {
  content: "\e604";
}
.icon-social-icons-gplus:before {
  content: "\e605";
}
.icon-social-icons-linked-in:before {
  content: "\e606";
}
.icon-social-icons-pinterest:before {
  content: "\e607";
}
.icon-social-icons-twitter:before {
  content: "\e608";
}
/* GLOBAL */
html,
body {
  height: 100%;
  font-family: "Cardo", serif;
  /*-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;*/
}
hr.slim {
  margin-top: 10px;
  margin-bottom: 10px;
}
hr.double-top {
  margin-top: 30px;
  margin-bottom: 5px;
}
hr.double-bottom {
  margin-top: 5px;
  margin-bottom: 30px;
}
hr.double {
  margin-top: 30px;
  margin-bottom: 30px;
}
p {
  font-weight: 400;
  font-size: 15px;
  line-height: 1.75em;
  margin-top: 0.5em;
  margin-bottom: 0;
}
p + p {
  text-indent: 1.5em;
  margin-top: 0;
  margin-bottom: 0;
}
p.no-indent {
  text-indent: 0 !important;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "SerlioLHRegular", serif;
  text-align: center;
}
.caption {
  font-style: italic;
  text-align: right;
  margin-bottom: 1em;
}
h1.left {
  margin-top: 0;
}
.caption-flow {
  font-style: italic;
  text-align: left;
  text-indent: 0;
  margin: 0;
}
.caption-flow.right {
  font-style: italic;
  text-align: left;
  text-indent: 0;
  margin: 0 0 0 16px;
}
.strong {
  font-weight: 600;
}
h1 {
  font-size: 36px;
  letter-spacing: 0.05em;
  margin: 0.5em 0;
}
h2 {
  font-size: 28px;
  letter-spacing: 0.03em;
  margin: 0.5em 0;
}
h3 {
  font-size: 28px;
  letter-spacing: 0.03em;
  margin: 1em 0 0.25em;
}
h4 {
  font-size: 24px;
  letter-spacing: 0.03em;
  margin: 1em 0 0.25em;
}
h5 {
  font-size: 18px;
  letter-spacing: 0.03em;
  margin: 1em 0 0.25em;
}
h6 {
  font-size: 14px;
  letter-spacing: 0.03em;
  margin: 1em 0 0.25em;
}
a.btn,
button.btn {
  font-family: "Lato", sans-serif;
  letter-spacing: 2px;
  text-transform: uppercase;
}
.btn-info {
  background-color: #337AB7 !important;
}
.btn-sold-out {
  height: 40px;
  width: 160px;
  font-size: 16px;
  background-color: #ccc;
  margin-top: 1em;
}
.center {
  text-align: center !important;
}
.small-margin-top {
  margin-top: 0.5em !important;
}
.margin-top {
  margin-top: 1em !important;
}
.margin-bottom {
  margin-bottom: 1em;
}
.margin-right {
  margin-right: 1em;
}
.margin-left {
  margin-left: 1em;
}
.big-margin-left {
  margin-left: 2em;
}
.img-margin-right {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  margin-right: 1em;
}
.img-margin-left {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
  margin-left: 1em;
}
img.half-col {
  width: 49%;
  float: left;
}
.red {
  color: red;
}
.black {
  color: black !important;
}
body.weather .weather-links {
  font-size: 80%;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 3px;
  width: 100%;
}
body.weather .weather-links ul {
  text-align: center;
  padding: 0;
}
body.weather .weather-links li {
  list-style: none;
  display: inline;
  margin-right: 2em;
}
body.weather .weather-links li a {
  text-decoration: none;
}
.feature h1,
.biography h1,
.feature h2,
.biography h2,
.feature h3,
.biography h3 {
  font-family: "Cardo", serif;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.2em;
  margin-bottom: 0;
}
.feature h1,
.biography h1,
.biography h3 .feature h3 {
  margin-top: 0;
}
.biography h1,
.biography h2,
.biography h3 {
  text-align: left;
}
.biography h1 small,
.biography h2 small,
.biography h3 small {
  color: black !important;
  font-size: 75%;
  font-style: italic;
}
body.opera-review #opera h3 {
  margin-top: 0.5em;
}
#contact-details p {
  font-size: 18px;
  margin-top: 1em;
  text-indent: 0 !important;
}
/* LAYOUT */
#content {
  margin-top: 20px;
}
#content .imagebox-left {
  float: left;
  margin-bottom: 0.25em;
}
#content .imagebox-left img {
  margin: 10px 16px 4px 0;
}
#content .imagebox-right {
  float: right;
  margin-bottom: 0.25em;
}
#content .imagebox-right img {
  margin: 10px 0 4px 16px;
}
.event {
  margin-left: 0;
  padding-left: 0;
  min-height: 6em;
}
@media screen and (min-width: 768px) {
  .event {
    min-height: 3em;
  }
}
.event ul {
  display: inline-block;
  list-style: none;
  margin: 0 0 0 0;
  padding-left: 0;
}
.event .event-date {
  float: left;
}
@media screen and (min-width: 480px) {
  .event .event-date {
    min-width: 360px;
    padding-left: 5px;
  }
}
.event .event-date h3 {
  text-align: left;
}
.event .event-button {
  margin-left: 25px;
  float: left;
}
.display {
  margin-top: 2em;
  padding-top: 1em;
}
.display h1,
.display h3 {
  line-height: 1em;
}
.display p {
  margin-top: 1em;
}
.synopsis {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  #info {
    padding-right: 20px;
  }
}
#info blockquote {
  height: 6em;
  margin: 1em 0 0 0;
  text-align: center;
  border: none;
  padding-left: 0;
}
@media screen and (min-width: 768px) {
  #info blockquote {
    padding: 0 2em !important;
  }
}
#info blockquote p {
  font-style: italic;
  font-size: 120%;
  line-height: 1.5em;
  text-align: center;
}
#info cite {
  font-style: normal;
  text-transform: uppercase;
  font-size: 85%;
  letter-spacing: 0.2em;
  display: inline-block;
  float: right;
}
#sidebar {
  margin-top: 2em;
  border-top: none;
}
#sidebar h3 {
  margin-top: 0.5em;
}
@media screen and (min-width: 768px) {
  #sidebar {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  body.opera-review #sidebar {
    margin-top: 0;
    border-top: none;
  }
}
body.opera-review .button-book {
  width: 50%;
  margin-bottom: 20px;
}
@media screen and (min-width: 480px) {
  body.opera-review .button-book {
    width: 30%;
  }
}
body.mozart-double #main-review img {
  width: 48%;
}
#reviews {
  margin-top: 1em;
}
@media screen and (min-width: 768px) {
  #reviews {
    margin-top: 1em;
  }
}
#reviews .review {
  min-height: 100px;
  /*width: 48%;*/
  padding: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin-right: 4%;
  float: left;
}
#reviews .review:nth-child(2n) {
  margin-right: 0;
}
@media screen and (min-width: 480px) {
  #reviews .review {
    min-height: 100px;
    width: 31.33333333%;
    margin-right: 3%;
  }
  #reviews .review:nth-child(2n) {
    margin-right: 3%;
  }
  #reviews .review:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (min-width: 768px) {
  #reviews .review {
    width: 100%;
    margin-right: 0;
  }
}
#reviews .review h3 {
  margin-top: 0;
}
#reviews .review p {
  text-align: center;
}
.review-panel {
  margin: 0;
  padding: 15px;
}
.no-float {
  float: none;
}
body.carmen div.carmen,
body.mozart-double div.mozart-double,
body.hansel div.hansel,
body.matrimonio div.matrimonio,
body.barber div.barber,
body.capuleti div.capuleti,
body.italiana div.italiana,
body.abduction div.abduction,
body.cosi div.cosi,
body.miracle div.miracle {
  opacity: 0.6;
  filter: opacity(60%);
  -webkit-filter: opacity(60%);
}
.subscribe .modal-body {
  background: #fafafa;
}
.sosumi {
  height: 30px;
}
/* NAVIGATION */
header .brand,
header .subtitle-bar h3 {
  display: none;
}
@media screen and (min-width: 768px) {
  header {
    text-align: center;
  }
  header .brand {
    display: inherit;
    background: url(../img/cgf-logo.png) no-repeat center;
    width: 768px;
    height: 180px;
    margin: 10px auto 0;
  }
  header .subtitle-bar h3 {
    display: inherit;
    font-family: "Lato";
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 3px;
    line-height: 1em;
    margin-top: 10px;
  }
  header .subtitle-bar h3 .bullet {
    font-size: 7px;
    vertical-align: 15%;
  }
}
.navbar {
  font-family: "SerlioLHRegular", serif;
  font-size: 24px;
  border-radius: 0;
  background-color: white;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .navbar {
    min-height: 0;
    margin-bottom: 35px;
  }
}
.navbar-default {
  border: none;
  text-align: center;
}
.navbar-default ul.navbar-nav {
  text-transform: uppercase;
  font-weight: 400;
  letter-spacing: 3px;
}
@media screen and (min-width: 768px) {
  .navbar-default ul.navbar-nav {
    display: table;
    float: none;
    margin: 25px auto 0;
    layout: fixed;
    font-size: 0.8em;
  }
}
.navbar-default ul.navbar-nav > li {
  padding: 0 80px 20px;
  border-bottom: none;
}
@media screen and (min-width: 768px) {
  .navbar-default ul.navbar-nav > li {
    height: 26px;
    padding: 6px 10px 14px;
    letter-spacing: 2px;
  }
}
@media screen and (min-width: 991px) {
  .navbar-default ul.navbar-nav > li {
    padding: 6px 20px 14px;
  }
}
.navbar-default ul.navbar-nav > li > a {
  color: black !important;
  padding: 1px 0 2px;
}
@media screen and (min-width: 768px) {
  .navbar-default ul.navbar-nav > li > a {
    line-height: normal;
    padding: 1px 2px 2px 6px;
  }
}
.navbar-default ul.navbar-nav > li > a:hover,
.navbar-default ul.navbar-nav > li > a:focus {
  color: red !important;
}
.navbar-default ul.navbar-nav .open .dropdown-menu {
  font-size: 1em;
  padding-top: 0;
  padding-bottom: 0;
  min-width: 100px;
  margin-top: 3px;
}
@media screen and (min-width: 768px) {
  .navbar-default ul.navbar-nav .open .dropdown-menu {
    margin-top: 5px;
    margin-left: 21px;
  }
}
.navbar-default ul.navbar-nav .open .dropdown-menu > li > a {
  padding-left: 0;
  margin-left: 0;
}
@media screen and (min-width: 768px) {
  .navbar-default ul.navbar-nav .open .dropdown-menu > li > a {
    margin-left: 15px;
  }
}
.navbar-default ul.navbar-nav .open .dropdown-menu > li > a:hover,
.navbar-default ul.navbar-nav .open .dropdown-menu > li > a:focus {
  color: red;
  background-color: transparent;
}
.navbar-default .open .dropdown-menu {
  border: none;
  box-shadow: none;
  background-color: transparent;
}
.navbar-default .open .dropdown-menu > li > a {
  padding-left: 2px;
  padding-right: 0px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .navbar-default .open .dropdown-menu > li > a {
    text-align: left;
    margin-left: 15px;
  }
}
@media screen and (min-width: 1024px) {
  .navbar-default .open .dropdown-menu > li > a {
    margin-left: 18px;
  }
}
@media screen and (min-width: 768px) {
  .navbar-default .open .dropdown-menu > li {
    padding-top: 5px;
    padding-bottom: 5px;
  }
}
.navbar-default .navbar-brand {
  color: black;
  width: 150px;
  margin-top: 0;
  padding-top: 20px;
  font-size: 20px;
  margin-left: -5px;
  text-align: center;
}
@media screen and (min-width: 100px) {
  .navbar-default .navbar-brand {
    width: 250px;
    font-size: 13px;
    margin-left: 0;
  }
}
@media screen and (min-width: 375px) {
  .navbar-default .navbar-brand {
    width: 315px;
    font-size: 16px;
  }
}
@media screen and (min-width: 500px) {
  .navbar-default .navbar-brand {
    width: 450px;
    font-size: 24px;
    margin-top: -5px;
  }
}
@media screen and (min-width: 768px) {
  .navbar-default .navbar-brand {
    display: none;
  }
}
.navbar-header .navbar-toggle {
  background-color: rgba(255, 255, 255, 0.6);
}
@media screen and (min-width: 768px) {
  .navbar-header .navbar-toggle {
    display: none;
  }
}
.navbar-header .navbar-toggle:hover,
.navbar-header .navbar-toggle:active,
.navbar-header .navbar-toggle:focus {
  background-color: rgba(255, 255, 255, 0.6);
}
body.home li#home a,
body.history li#history a,
body.weddings li#weddings a,
body.opera li#opera a,
body.opera-biogs li#opera a,
body.diary li#diary a,
body.vineyard li#vineyard a,
body.news li#news a,
body.events li#events a {
  color: black !important;
  cursor: default !important;
  background-color: #eaeaea;
}
@media screen and (min-width: 768px) {
  body.home li#home a,
  body.history li#history a,
  body.weddings li#weddings a,
  body.opera li#opera a,
  body.opera-biogs li#opera a,
  body.diary li#diary a,
  body.vineyard li#vineyard a,
  body.news li#news a,
  body.events li#events a {
    background-color: white;
    border-bottom: 1px solid black;
  }
}
/* FOOTER */
body footer {
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.75em;
  margin-bottom: 20px;
  min-height: 80px;
}
body footer p {
  text-align: center;
  font-size: 14px;
  line-height: 2.75em;
  padding: 0 0 2em !important;
  margin-bottom: 2em;
}
body footer p span.pull-right {
  float: none !important;
}
body footer p a {
  padding-bottom: 2em;
}
@media screen and (min-width: 768px) {
  body footer p {
    font-size: 12px;
  }
  body footer p span.pull-right {
    float: right !important;
  }
}
body footer .footer-right p {
  text-align: right;
}
body footer ul.social {
  list-style: none;
  padding: 30px 0 0 0;
}
body footer ul.social li {
  display: inline;
  padding: 0 3px;
}
@media screen and (min-width: 481px) {
  body footer ul.social li {
    padding: 0 5px;
  }
}
body footer ul.social li a {
  color: black;
  opacity: 0.5;
  text-decoration: none;
  font-size: 26px;
}
body footer ul.social li a:hover {
  opacity: 1;
}
body footer hr {
  margin-bottom: 0 !important;
}
