
@charset "utf-8";

/*
 * Gatecrasher.tv
 * Retina images and responsive layout.
 * Load after styles.css.
 */

/* ==========================================
   RETINA / HIGH-DENSITY DISPLAYS
   ========================================== */

@media only screen and (min-resolution: 1.5dppx),
       only screen and (-webkit-min-device-pixel-ratio: 1.5) {

  /* Logo */
  h1#logo a {
    background: url(../images/bg-logo@2x.png) center no-repeat;
    background-size: 90px 78px;
  }

  /* Icon dimensions */
  .map, .mail, .smartphone {
    background-size: 48px 48px;
  }

  /* Retina icons */
  .map          { background-image: url(../images/icons/bg-map@2x.png); }
  .mail         { background-image: url(../images/icons/bg-mail@2x.png); }
  .smartphone   { background-image: url(../images/icons/bg-smartphone@2x.png); }
}


/* ==========================================
   MEDIUM DESKTOP
   980px - 1299px
   ========================================== */

@media only screen and (min-width: 980px) and (max-width: 1299px) {

  .container {
    width: 960px;
  }

  .col3-3,
  .col3-3.grey,
  .col3-3.white,
  .col4-3 {
    width: 940px;
    height: auto;
  }
}


/* ==========================================
   TABLET
   768px - 979px
   ========================================== */

@media only screen and (min-width: 768px) and (max-width: 979px) {

  .container {
    width: 640px;
  }

  .col3-3,
  .col3-3.grey,
  .col3-3.white,
  .col4-3 {
    width: 620px;
    height: auto;
  }

  footer .social-list {
    margin-left: 0;
  }
}


/* ==========================================
   DESKTOP NAVIGATION
   ========================================== */

@media only screen and (min-width: 980px) {

  #main-nav ul#options {
    display: block !important;
  }
}


/* ==========================================
   TABLET AND MOBILE NAVIGATION
   ========================================== */

@media only screen and (max-width: 979px) {

  #main-nav {
    position: relative;
    clear: both;
  }

  #menu-button {
    display: table;
    margin-left: 10px;
  }

  #main-nav ul#options {
    display: none;
    background: #161616;
    z-index: 300;
    float: none;
    position: relative;
    top: 0;
    padding-top: 15px;
    margin-bottom: 15px;
    list-style: none;
    margin-right: 10px;
    border-bottom: 1px solid #242424;
  }

  #main-nav ul#options li {
    display: block;
    border-top: 1px solid #242424;
    padding-right: 0;
  }

  #main-nav ul#options li a {
    padding: 13px 0 14px;
    display: block;
    line-height: 1;
  }

  #main-nav ul#options li .sub-nav {
    position: relative;
    margin-left: 0;
    padding-top: 0;
  }

  #main-nav ul#options li .sub-nav > li {
    border-top: 1px solid #242424;
    border-bottom: 0;
  }
}


/* ==========================================
   MOBILE PHONES
   Up to 767px
   ========================================== */

@media only screen and (max-width: 767px) {

  .container {
    width: 320px;
  }

  .col2-3,
  .col2-3.grey,
  .col3-3,
  .col3-3.grey,
  .col4-3 {
    width: 300px;
    height: auto;
  }

  .col2-3.grey,
  .col3-3.grey,
  .col4-3.grey,
  .absolute {
    padding: 40px;
  }

  .col2-3 .parent {
    width: 218px;
    height: auto;
    display: block;
  }

  .col2-3 .absolute .parent {
    display: table;
    height: 238px;
  }

  .col2-3.grey h3,
  h2 {
    font-size: 24px;
    line-height: 31px;
  }

  h2 {
    letter-spacing: 0;
    font-weight: 400;
  }

  #map {
    width: 300px;
    height: 300px;
  }

  #header {
    position: relative;
  }

  .logo-wrapper {
    padding-top: 43px;
  }
}


/* ==========================================
   LOGO
   ========================================== */

h1#logo a {
  display: inline-block !important;
  width: 90px !important;
  height: 78px !important;
  background-size: 90px 78px !important;
}
