html {
  /*background-color: #ccdddd;*/
  width: 100%;
  height: 100%;
}

body.genericPage_home {
  height: 100%;
  margin: auto;
}

body h1 {
  color: #555;
  text-align: center;
  display: block;
  margin: 0;
  font-family: cursive;
  font-style: oblique;
  font-size: 3em;
  font-weight: 100;
}

a.button.azure {
  background-color: #aef;
}
a.button.azure:hover {
  background-color: #88ffff;
}

body h2.date {
  color: #555;
  text-align: center;
  display: block;
  margin: 0;
  font-family: cursive;
  font-style: oblique;
  font-size: 2em;
  font-weight: 100;
}

body {
  max-width: 1100px;
  background-color: #fff;
  color: #333;
  margin: auto;
  padding: 10px;
  min-height: 100%;
  margin-top: 0;
  margin-bottom: 0;
  box-sizing: border-box;
}

body hr {
  display: none;
}

div.liste_mariage {
  text-align: center;
}

div.liste_mariage div {
  display: inline-block;
  width: 180px;
  height: 180px;
  position: relative;
  margin: 0;
  margin-bottom: 20px;
  padding: 0;
  user-select: none;
  text-align: center;
  -webkit-user-select: none; /* Chrome/Safari */        
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE10+ */
}

div.liste_mariage input {
  opacity: 0;
  /*position: absolute;*/
}
div.liste_mariage input + label {
  position: absolute;
  left: 0;
  top: 0;
  padding: 5px;
  margin: 0;
  width: 90%;
  height: 170px;
  cursor: pointer;
  border-radius: 5px;
  border: 1px solid #888;
}
div.liste_mariage input:not(:disabled):not(:checked) + label:hover {
  background-color: #ccffff;
  box-shadow: 0 1px 5px 0 #ccc;
}
div.liste_mariage input:not(:disabled):checked + label:hover {
  background-color: #55ffff;
  box-shadow: 0 1px 5px 0 #ccc;
}
div.liste_mariage input:checked + label {
  background-color: #44ffff;
  box-shadow: 0 1px 10px 0 #ccc;
}
div.liste_mariage input:disabled + label {
  background-color: #cccccc;
}
div.liste_mariage span.name {
  text-align: center;
  height: 15%;
  display: block;
  font-weight: bold;
  z-index: 2;
  position: relative;
  overflow: visible;
}
div.liste_mariage span.name span {
  background-color: rgba(255,255,255,0.5);
}
div.liste_mariage span.price {
  text-align: center;
  height: 10%;
  display: block;
  user-select: none;
  -webkit-user-select: none; /* Chrome/Safari */        
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* IE10+ */
}
div.liste_mariage span.price span.st {
  color: #888;
  text-decoration: line-through;
}
div.liste_mariage a {
  display: block;
  text-align: center;
  overflow: hidden;
  height: 10%;
}
div.liste_mariage img {
  display: block;
  max-width: 100%;
  max-height: 60%;
  margin: auto;
  z-index: 0;
}

form input[type="submit"] {
  display: block;
  margin: auto;
  border: 1px solid #555;
  margin-top: 15px;
  cursor: pointer;
  background-color: #44ffff;
  height: 3em;
  padding-left: 3em;
  padding-right: 3em;
}

div.spacer {
  height: 2em;
}

div.cols {
  height: 90%;
  width: 100%;
}

div.colsInner.center {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
div.colsInner.top {
  display: flex;
  flex-wrap: nowrap;
  align-items: top;
}

div.left, div.right {
  height: 100%;
  width: 33%;
  position: relative;
  text-align: center;
}

div.left {
  width: 60%;
  margin-right: 5%;
}

div.left img {
  background-color: white;
  width: 100%;
}

a.button {
  display: block;
  width: 50%;
  margin: auto;
  background-color: #aef;
  border: 1px solid #557;
  border-radius: 0.2em;
  text-decoration: none;
  color: #000;
  height: 5em;
  margin-top: 1em;
  margin-bottom: 1em;
  box-shadow: 0.1em 0.1em 0.2em 0.02em #aaa;
  transition: box-shadow 0.2s ease;
  transition: background-color 0.2s ease;
  display: table;
}

a.button:hover {
  background-color: #8ff;
  box-shadow: 0.1em 0.1em 0.8em 0.2em #bbb;
}

a.button span {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

iframe.gmap {
  width: 90%;
  height: 20em;
}

table.horaires {
  margin: auto;
  border-collapse: collapse;
}
table.horaires tr:hover {
  background-color: #eee;
}
table.horaires td {
  padding: 0.2em 1em;
  text-align: left;
}

table.contacts {
  margin: auto;
  border-collapse: collapse;
}
table.contacts td {
  padding: 0.5em 1em;
  text-align: center;
}
table.contacts td:hover {
  background-color: #eee;
}

address {
  text-align: left;
  display: inline-block;
  margin: 0.5em auto;
  margin-bottom: 1em;
}

h2 {
  background-color: #aef;
  border-radius: 10px;
}

a.secret {
  text-decoration: none;
}
a.secret:hover {
  text-decoration: overline underline;
}

div.success {
  border: 1px solid #050;
  background-color: #0d0;
  padding: 1em;
}

pre a {
  text-decoration: none;
}

html,body,.allExceptHeader,.content,.contentInner,.contentInner2 {
  height: 100%;
}
