
/* ==|== primary styles =====================================================
   Author: Isaac Durazo
   ========================================================================== */

*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  color: #5F5F5F;
}

img {
  max-width: 100%;
  vertical-align: middle;
}

.container {
  max-width: 980px;
  margin: auto;
}

section .container {
  overflow: auto;
  padding: 6em 0;
}

h1, h2 {
  font-family: 'Kreon', serif;
}

h1 {
  text-align: center;
  letter-spacing: 2px;
  font-size: 3em;
  margin-top: 0;
  border-bottom: 4px solid rgba(0,0,0,.05);
  padding-bottom: .5em;
}

h2 {
  font-size: 2.5em;
  font-weight: 400;
  letter-spacing: 3px;
}

h3 {
  font-size: 1.5em;
  margin: 0;
}

h4 {
  font-size: 1.3em;
  margin: 0;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  color: #d24551;
  text-decoration: none;
}

p {
  margin-top: 0;
}

.bold {
  font-weight: bold;
}

.gray {
  background-color: #f6f6f6;
}

.overlay {
  background:transparent;
  position:relative;
  width:100%;
  height:550px; /* iframe height */
  top:550px;  /* iframe height */
  margin-top:-550px;  /* iframe height */
}


/* ========================
          Header
======================== */

header {
  background: url(../img/roostland.png) center bottom no-repeat, url(../img/buildings-2.png) center bottom repeat-x, url(../img/back-buildings-2.png) bottom repeat-x, #ececec;
  text-align: center;
  position: relative;
  height: 16em;
}

header #logo {
  padding-top: 9em;
  position: relative;
}


/* ========================
            Nav
======================== */

nav {
  background-color: #d24551;
  text-align: center;
  border-top: 4px solid #a7424f;
  position: relative;
}

nav ul {
  display: inline-block;
  height: 3em;
  line-height: 3.2em;
}

nav ul li {
  float: left;
}

nav a {
  color: white;
  padding: 16px 2.0em;
  font-weight: 100;
  letter-spacing: 1px;
  font-size: 1.1em;
}

nav a:hover, .active a {
  background-color: #a7424f;
}

/* Fixed menu */

.f-nav {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1;
}

.margin-top {
  margin-top: 57px;
}

/* Dropdown menu */

nav label {
    display: none;
    cursor: pointer;
    -webkit-user-select: none;
}

nav input[type=checkbox] {
  position: absolute;
  top: -9999px;
  left: -9999px;
}


/* ========================
          Statement
======================== */

#statement .container {
  padding-top: 9em;
}

#statement h2 {
  text-align: center;
  font-weight: 600;
}

#statement h3 {
  text-align: center;
  font-weight: 400;
}

/* ========================
        people-banner
======================== */

#people-banner {
  position: relative;
  color: #000;
  height: 283px;
  text-align: center;
}

#people-banner .container {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  z-index: 1;

  padding: 100px 0;

  font-size: 1.5em;
}

#people-banner:after {
  background-image: url(../img/bg-people.jpg);
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  opacity: 0.3;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
}

/* ========================
          About
======================== */

#about img {
  float: left;
  margin: 0 2em 1em 0;
  width: 350px;
  padding-top: .5em;
}


/* ========================
          Speakers
======================== */

#speakers, #location {
  background-color: #FAFAFA;
}

#speakers .container {
  overflow: inherit;
}

#speakers .speaker_group {
  text-align: center;
}

#speakers .speaker_entity {
  width: 49%;
  display: inline-block;
  vertical-align: top;
  margin: 0 -2px 2em 0;
}

#speakers .speaker_entity .pic {
  position: relative;
  margin: 1.5em;
}

#speakers .speaker_entity .name {
  line-height: 2em;
  font-weight: 400;
  letter-spacing: 1px;
}

#speakers .speaker_entity .name a {
  font-family: 'Kreon', serif;
  text-transform: uppercase;
}

#speakers .speaker_entity .name a:hover {
  text-decoration: underline;
}

#speakers .speaker_entity p {
  margin: 0 1.5em;
  text-align: left;
}


/* ========================
          Schedule
======================== */

#schedule .column {
  width: 49%;
  float: left;
  margin: 0 .5%;
}

#schedule .column h3 {
  text-align: center;
  background-color: #d24551;
  border-top: 4px solid #a7424f;
  color: white;
  font-weight: 400;
  font-size: 1.7em;
  padding: .5em 0;
}

#schedule .column .row {
  padding: 1.2em;
  overflow: auto;
  border: 1px solid #d8d8d8;
  border-top: 0;
}

#schedule .column .time {
  width: 25%;
  float: left;
}

#schedule .column .talk {
  width: 75%;
  float: left;
}

#schedule .column .description {
  margin: .3em 0;
}

#schedule .column .speaker {
  font-style: italic;
}


/* ========================
          Location
======================== */

#location .location_description {
  margin-bottom: 2em;
}

#location .location_description .image {
  width: 350px;
  float: left;
  margin-right: 1.5em;
  overflow: hidden;
}

.image img {
  max-width: 150%;
  right: 25%;
  position: relative;
}

#location .location_description .image a {
  font-size: .8em;
  margin-top: 1em;
  display: block;
}

#location .venue_hotel {
  overflow: auto;
  background-color: white;
  padding: 2em;
}

#location .venue_hotel h4 {
  margin: 0 0 .5em;
}

#location .venue_hotel .hotel {
  margin-bottom: .5em;
}

#location .venue_hotel .info {
  margin-bottom: 2em;
}

#location .venue_hotel a.view_map {
  color: white;
  background-color: #d24551;
  line-height: 3em;
  display: inline-block;
  width: 250px;
  text-align: center;
  margin-top: 1.5em;
}

/* MAP */
#map .map {
  margin: -4px 0;
}


/* ========================
          Register
======================== */

#register .register_form  {
  display: block;
  float: left;
  margin-right: 4%;
  text-align: center;
  border: 1px solid #d8d8d8;
  margin-bottom: 1em;
}

#register .register_form.roost_jquery {
  margin-right: 0;
}

#register .roost, #register .jquery {
  width: 28%;
}

#register .roost_jquery {
  width: 35%;
}

#register .register_form .header {
  background: #3C1229;
  line-height: 3em;
  font-size: 2em;
  color: white;
}

#register .register_form .header img {
  vertical-align: middle;
}

#register .register_form .subheader {
  line-height: 3em;
  background-color: #f6f6f6;
  border-bottom: 1px solid #d8d8d8;
  margin-bottom: 1em;
}

#register .register_form .description {
  text-align: left;
}

#register .register_form .promocode  {
  margin: 0 1.2em;
}

#register .register_form .promocode input {
  border: 1px solid #d8d8d8;
  padding: 0;
  width: 100%;
  display: block;
  line-height: 2.5em;
  text-align: center;
}

#register .register_form .promocode input + input {
  margin-top: 1em;
}

#register .register_form .button {
  background-color: #d24551;
  display: block;
  color: white;
  line-height: 3em;
  margin: 1em auto;
  border: none;
  width: 90%;
}

#register .register_form .button:hover {
  background: #a7424f;
}


#register .register_form .select_ticket {
  line-height: 2em;
  text-align: right;
}

#register .register_form .select_ticket .price {
  float: left;
  font-size: 1.15em;
  font-weight: 700;
}

#register .ticket-details {
  background-color: #f6f6f6;
  padding: .5em 1em;
  margin: 0 1em 1em;
  overflow: auto;
}

#register .ticket-details.disabled {
  color: #999999;
}

.strike {
  position: relative;
}

.strike:after, .strike:before {
  content: '';
  position: absolute;
  height: 1px;
  width: 109%;
  background: #ff0000;
  left: -2px;
  top: .6em;
}

.strike:after {
  transform:rotate(14deg);
  -ms-transform:rotate(14deg); /* IE 9 */
  -webkit-transform:rotate(14deg); /* Opera, Chrome, and Safari */
}

.strike:before {
  transform:rotate(-14deg);
  -ms-transform:rotate(-14deg); /* IE 9 */
  -webkit-transform:rotate(-14deg); /* Opera, Chrome, and Safari */
}

#register p {
  margin-top:1em;
  font-size:.7em;
}

/* ========================
          Conduct
======================== */

#conduct .contact {
  font-size: 1.2em;
  font-weight: bold;
}

.conduct-contacts > li {
  display: inline-block;
  margin: 0 1.5em 1em 0;
}

/* ========================
          Footer
======================== */

footer {
  background-color: #d24551;
  padding: 2em 0;
  color: white;
  text-align: center;
}

footer a {
  color: #3b1128;
  text-decoration: underline;
}


/* ========================
      Media Queries
======================== */

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

  .container {
    margin: 0 2em;
  }

}

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

  header {
    height: 17em;
  }

  h1 {
    font-size: 2.5em;
  }

  h2 {
    font-size: 2em;
  }

  header #logo {
    padding-top: 11em;
    width: 200px;
    margin: auto;
  }

  #statement h3 {
    font-size: 1.5em;
  }

  #statement .container {
    padding-top: 7em;
  }

  section .container {
    padding: 3em 0;
  }

  nav {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 2;
  }

  nav .container {
    margin: 0;
  }

  nav ul {
    display: none;
    width: 100%;
    line-height: 1.5em;
  }

  nav ul li {
    float: none;
    text-align: left;
    background-color: #d24551;
    border-bottom: 1px solid #a7424f;
  }

  nav a {
    display: block;
    padding: 16px 1.5em;
  }

  nav label {
    display: block;
    min-height: 3.5em;
  }

  nav label:after {
    background-image: url("../img/menu-more.png");
    content: '';
    position: absolute;
    right: .5em;
    top: .5em;
    font-size: 1.8em;
    width: 23px;
    height: 19px;
  }

  nav input[type=checkbox]:checked ~ ul {
    display:block;
  }

  #schedule .column .time {
    width: 100%;
    float: none;
    margin-bottom: .5em;
  }

  #schedule .column .talk {
    width: 100%;
  }

  #register .register_form {
    margin: 0 0 2em;
  }

  #register .roost, #register .jquery {
    width: 45.7%;
  }

  #register .jquery {
    float: right;
  }

  #register .roost_jquery {
    width: 99.7%;;
  }

}

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

  #schedule .column {
    width: 100%;
    float: none;
    margin: 0;
  }

  #location .location_description img {
    float: none;
    width: 100%;
    margin-right: 0;
  }

  #location .location_description .image {
    width: 100%;
    margin: 0 0 1em 0;
  }

  .image img {
    right: 0;
  }

}

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

  header {
    height: 15em;
  }

  header #logo {
    padding-top: 9em;
  }

  section .container {
    padding: 2em 0;
  }

  #home h2 {
    font-size: 1.6em;
    letter-spacing: 1px;
  }

  #statement h3 {
    font-size: 1.2em;
  }

  #location .venue_hotel a.view_map {
    width: 100%;
  }

  #register .register_form {
    width: 99%;
    float: none;
  }

  #speakers .speaker_entity {
    width: 48%;
    min-height: 32em;
  }

}

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

  #speakers .speaker_entity {
    width: 99%;
    margin-right: 0;
    min-height: 100%;
  }

  header #logo {
    padding-top: 7em;
  }

  #statement .container {
    padding-top: 5em;
  }

}


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

  .container {
    margin: 0 1em;
  }

  #home h2 {
    font-size: 1.3em;
    letter-spacing: 0;
  }

  section .container {
    padding: 2em 0;
  }

}

