.span_2_of_2 {
  width: 100%; }

.span_1_of_2 {
  width: 49.2%; }

.span_3_of_3 {
  width: 100%; }

.span_2_of_3 {
  width: 66.13%; }

.span_1_of_3 {
  width: 32.26%; }

.span_4_of_4 {
  width: 100%; }

.span_3_of_4 {
  width: 74.6%; }

.span_2_of_4 {
  width: 49.2%; }

.span_1_of_4 {
  width: 23.8%; }

.span_5_of_5 {
  width: 100%; }

.span_4_of_5 {
  width: 79.67%; }

.span_3_of_5 {
  width: 59.36%; }

.span_2_of_5 {
  width: 39.04%; }

.span_1_of_5 {
  width: 18.72%; }

.span_6_of_6 {
  width: 100%; }

.span_5_of_6 {
  width: 83.06%; }

.span_4_of_6 {
  width: 66.13%; }

.span_3_of_6 {
  width: 49.2%; }

.span_2_of_6 {
  width: 32.26%; }

.span_1_of_6 {
  width: 15.33%; }

.span_7_of_7 {
  width: 100%; }

.span_6_of_7 {
  width: 85.48%; }

.span_5_of_7 {
  width: 70.97%; }

.span_4_of_7 {
  width: 56.45%; }

.span_3_of_7 {
  width: 41.94%; }

.span_2_of_7 {
  width: 27.42%; }

.span_1_of_7 {
  width: 12.91%; }

.span_8_of_8 {
  width: 100%; }

.span_7_of_8 {
  width: 87.3%; }

.span_6_of_8 {
  width: 74.59%; }

.span_5_of_8 {
  width: 61.9%; }

.span_4_of_8 {
  width: 49.2%; }

.span_3_of_8 {
  width: 36.5%; }

.span_2_of_8 {
  width: 23.8%; }

.span_1_of_8 {
  width: 11.1%; }

.span_9_of_9 {
  width: 100%; }

.span_8_of_9 {
  width: 88.71%; }

.span_7_of_9 {
  width: 77.42%; }

.span_6_of_9 {
  width: 66.13%; }

.span_5_of_9 {
  width: 54.84%; }

.span_4_of_9 {
  width: 43.55%; }

.span_3_of_9 {
  width: 32.26%; }

.span_2_of_9 {
  width: 20.97%; }

.span_1_of_9 {
  width: 9.68%; }

.span_10_of_10 {
  width: 100%; }

.span_9_of_10 {
  width: 89.83%; }

.span_8_of_10 {
  width: 79.67%; }

.span_7_of_10 {
  width: 69.51%; }

.span_6_of_10 {
  width: 59.35%; }

.span_5_of_10 {
  width: 49.2%; }

.span_4_of_10 {
  width: 39.03%; }

.span_3_of_10 {
  width: 28.87%; }

.span_2_of_10 {
  width: 18.72%; }

.span_1_of_10 {
  width: 8.55%; }

.span_11_of_11 {
  width: 100%; }

.span_10_of_11 {
  width: 90.76%; }

.span_9_of_11 {
  width: 81.52%; }

.span_8_of_11 {
  width: 72.29%; }

.span_7_of_11 {
  width: 63.05%; }

.span_6_of_11 {
  width: 53.81%; }

.span_5_of_11 {
  width: 44.58%; }

.span_4_of_11 {
  width: 35.34%; }

.span_3_of_11 {
  width: 26.1%; }

.span_2_of_11 {
  width: 16.87%; }

.span_1_of_11 {
  width: 7.63%; }

.span_12_of_12 {
  width: 100%; }

.span_11_of_12 {
  width: 91.53%; }

.span_10_of_12 {
  width: 83.06%; }

.span_9_of_12 {
  width: 74.6%; }

.span_8_of_12 {
  width: 66.13%; }

.span_7_of_12 {
  width: 57.66%; }

.span_6_of_12 {
  width: 49.2%; }

.span_5_of_12 {
  width: 40.73%; }

.span_4_of_12 {
  width: 32.26%; }

.span_3_of_12 {
  width: 23.8%; }

.span_2_of_12 {
  width: 15.33%; }

.span_1_of_12 {
  width: 6.86%; }

/*  COLUMN SETUP  */
.col {
  display: block;
  float: left;
  margin: 1% 0 1% 1.6%;
  text-align: center; }

.col:first-child {
  margin-left: 0; }

/*  GROUPING  */
.group:before,
.group:after {
  content: "";
  display: table; }

.group:after {
  clear: both; }

.group {
  zoom: 1;
  /* For IE 6/7 */ }

/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */
html {
  color: #222;
  font-size: 1em;
  line-height: 1.4; }

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none; }

::selection {
  background: #b3d4fc;
  text-shadow: none; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

fieldset {
  border: 0;
  margin: 0;
  padding: 0; }

textarea {
  resize: vertical; }

.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0; }

/* ===== Initializr Styles ==================================================
   Author: Jonathan Verrecchia - verekia.com/initializr/responsive-template
   ========================================================================== */
body {
  font: 16px/26px "Titillium Web", sans-serif;
  color: #666; }

.wrapper {
  width: 90%;
  max-width: 1130px;
  margin: 0 auto; }

/* ===================
    ALL: Happy Medium Theme
   =================== */
.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  display: none;
  z-index: 99999999; }

.modal-wrapper {
  width: 700px;
  background: #f80063;
  height: 394px;
  position: relative;
  left: -350px;
  top: -197px;
  -webkit-box-shadow: 0px 0px 12px 0px rgba(50, 50, 50, 0.76);
  -moz-box-shadow: 0px 0px 12px 0px rgba(50, 50, 50, 0.76);
  box-shadow: 0px 0px 12px 0px rgba(50, 50, 50, 0.76);
  overflow: hidden; }

.modal-wrapper img {
  width: 100%;
  height: auto; }

.close {
  background: url(../img/close.png) no-repeat left top;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 20px;
  right: 20px;
  cursor: pointer; }

.header-container {
  max-height: 1220px;
  min-height: 665px !important;
  overflow: hidden;
  position: relative;
  -ms-background-position-x: center;
  -ms-background-position-y: bottom;
  background-position: center center;
  background-size: cover;
  -ms-behavior: url(backgroundsize.min.htc);
  background-color: #f80063; }

.header-container img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto !important;
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto !important;
  -ms-interpolation-mode: bicubic; }

.transparent {
  zoom: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0; }

.title {
  color: #4F4F4F;
  font: 600 1.5em/150% "Playfair Display", serif;
  letter-spacing: 1px;
  margin: 0;
  padding: 25px 0; }

.title a {
  color: #4F4F4F;
  text-decoration: none; }

.header-copy {
  margin: 0 auto;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: center;
  top: 55%;
  opacity: 0; }

.header-copy span {
  font: 300 10em/110% 'Playfair Display', serif;
  color: #f80063;
  display: inline-block;
  text-align: left;
  letter-spacing: 1px; }

article {
  font: 200 1.85em/175% "Titillium Web", sans-serif;
  letter-spacing: 1.5px;
  color: #666; }

.main {
  padding: 6% 0; }

.main article h1 {
  font-size: 2em; }

.main aside {
  color: white;
  padding: 0px 5% 10px; }

.cupcakes {
  background: #f80063;
  color: #fff;
  padding: 1% 0 6%;
  text-align: center; }

.cupcakes h2 {
  color: #fff;
  font: 300 2.5em/150% "Playfair Display", serif;
  letter-spacing: 1px;
  text-align: center; }

.cupcakes .intro {
  font: 200 1em/175% 'Titillium Web', sans-serif;
  letter-spacing: 1.5px;
  color: #fff; }

.cupcakes span, .cupcakes button {
  display: block;
  color: #fff;
  margin: 15px auto; }

.cupcakes button {
  width: 235px;
  height: 75px;
  background: #ff7e00;
  font: 600 1em/150% "Playfair Display", serif;
  letter-spacing: 6px;
  border: none;
  outline: none;
  -webkit-border-radius: 10px;
  border-radius: 10px; }

.circle {
  border-radius: 50%;
  width: 220px;
  height: 220px;
  background: #fff;
  margin: 30px auto; }

.footer-container footer {
  color: #4F4F4F;
  padding: 6% 0;
  text-align: center;
  font: 300 1.5em/150% "Playfair Display", serif;
  color: #666;
  letter-spacing: 1px; }

footer p {
  margin-bottom: 30px; }

footer a {
  color: #666;
  text-decoration: none; }

footer a:hover {
  color: #f80063; }

/* ==============
    MOBILE: Menu
   ============== */
nav ul {
  margin: 0;
  padding: 0;
  list-style-type: none; }

nav a {
  display: block;
  margin-bottom: 10px;
  padding: 15px 0;
  text-align: right;
  text-decoration: none;
  font: 300 1.5em/150% "Playfair Display", serif;
  color: #666;
  letter-spacing: 1px;
  -o-transition: .3s;
  -ms-transition: .3s;
  -moz-transition: .3s;
  -webkit-transition: .3s;
  transition: .3s; }

nav a:hover,
nav a:visited {
  color: #f80063; }

nav a:hover {
  text-decoration: none; }

.mobile-nav {
  position: absolute;
  top: 21px;
  right: 0px;
  cursor: pointer;
  height: 80px;
  width: 90px;
  display: none;
  z-index: 99999999; }

#mobile-nav-btn {
  background: url(../img/nav-btn.png) no-repeat left top;
  height: 80px;
  width: 90px;
  display: block;
  z-index: 9999;
  text-indent: -9999em;
  position: relative; }

#mobile-nav-btn.open {
  background-position: -90px 0; }

/* ===============
    ALL: IE Fixes
   =============== */
.ie7 .title {
  padding-top: 20px; }

/* ==========================================================================
   Media Queries
   ========================================================================== */
@media only screen and (min-width: 480px) {
  /* ====================
      INTERMEDIATE: Menu
     ==================== */
  nav a {
    display: inline-block;
    margin: 0 1.7%;
    padding: 25px 10px;
    margin-bottom: 0;
    text-align: right; }

  nav li:first-child a {
    margin-right: 0;
    padding-right: 0; }

  nav li:last-child a {
    margin-right: 0;
    padding-right: 0; }

  /* ========================
      INTERMEDIATE: IE Fixes
     ======================== */
  nav ul li {
    display: inline; }

  .oldie nav a {
    margin: 0 0.7%; } }
/* example media query for smaller non-retina devices */
@media only screen and (max-device-width: 600px) and (-webkit-max-device-pixel-ratio: 1), only screen and (max-device-width: 600px) and (max-device-pixel-ratio: 1) {
  .header-container {
    background-image: url(../img/header-bg_600x428.jpg); } }
/* example media query for retina ipad and up */
@media only screen and (min-device-width: 768px) and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-width: 768px) and (min-device-pixel-ratio: 1.5) {
  .header-container {
    background-image: url(../img/header-bg.jpg); } }
@media only screen and (min-width: 768px) {
  /* ====================
      WIDE: CSS3 Effects
     ==================== */
  /* ============
      WIDE: Menu
     ============ */
  .title {
    float: left; }

  nav {
    float: right;
    width: 83%;
    text-align: right; }

  /* ============
      WIDE: Main
     ============ */
  .main article {
    width: 100%; } }
@media only screen and (max-width: 1205px) {
  /* ===============
      Maximal Width
     =============== */
  .wrapper {
    max-width: 95%;
    width: 95%; } }
@media only screen and (max-width: 1085px) {
  nav {
    width: 75%; }

  nav a {
    font-size: 1em;
    padding: 33px 4px; } }
@media only screen and (max-width: 768px) {
  nav {
    display: none; }

  .mobile-nav {
    display: block; }

  .title {
    padding-top: 38px;
    font-size: 2em; }

  nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999999;
    text-align: left; }

  nav ul li {
    display: block;
    border-bottom: 1px solid #666;
    text-align: left;
    background: #fff; }

  nav ul li a {
    color: #f80063;
    padding: 50px 10px;
    text-align: left; }

  nav ul li:hover {
    background: #666;
    cursor: pointer; }

  nav ul li:hover a {
    color: #fff; }

  .header-copy span {
    font-size: 5em; }

  .modal {
    width: 95%;
    top: 25%; }

  .modal-wrapper {
    width: 100%;
    height: auto;
    left: -50%;
    top: -50%; }

  .col, .col:first-child {
    float: none;
    margin: 0 auto 30px;
    width: 100%; } }
@media only screen and (max-width: 420px) {
  .title {
    font-size: 1.5em;
    padding-top: 52px; }

  .mobile-nav {
    top: 28px;
    right: 0px; }

  .close {
    background: url(../img/close_small.png) no-repeat left top;
    width: 10px;
    height: 10px;
    top: 13px;
    right: 13px; } }
/* ==========================================================================
   Helper classes
   ========================================================================== */
.hidden {
  display: none !important;
  visibility: hidden; }

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto; }

.invisible {
  visibility: hidden; }

.clearfix:before,
.clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

.clearfix {
  *zoom: 1; }

/* ==========================================================================
   Print styles
   ========================================================================== */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important; }

  a,
  a:visited {
    text-decoration: underline; }

  a[href]:after {
    content: " (" attr(href) ")"; }

  abbr[title]:after {
    content: " (" attr(title) ")"; }

  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }

  thead {
    display: table-header-group; }

  tr,
  img {
    page-break-inside: avoid; }

  img {
    max-width: 100% !important; }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }

  h2,
  h3 {
    page-break-after: avoid; } }
