<commit_before>// Table of Contents

// -- Imports
// -- Fonts
// -- Variables
// -- Mixins
// -- Layout
// -- Generic
// -- Buttons
// -- Homepage
// -- Sponsors
// -- Venue
// -- CMS Page
// -- Retina styles
// -- Auth pages
// -- Boxes
// -- Sign Up + Login
// -- Team
// -- Speaker profile
// -- Reviews
// -- Job fair
// -- Financial Aid
// -- Group Registration

/* Imports
==================== */
/* bootstrap */
@import "bootstrap/bootstrap.less";
@import "bootstrap/responsive.less";

/* Site Colors */
@import "variables-site-colors.less";

/* Layout */
@import "layout.less";

/* Fonts
==================== */
@import url(//fonts.googleapis.com/css?family=Open+Sans:400,600,800);
@import url(//fonts.googleapis.com/css?family=Roboto+Condensed:400,700);

/* Variables
==================== */
@breakDesktopXL:			 1600px;
@breakDesktopXLS:      1400px;
@breakDesktopLarge:	   1200px;
@breakDesktop:				 979px;
@breakTablet:				   767px;
@breakMobileLandscape: 480px;
@breakMobile:				   321px;

/* Mixins
==================== */
.swap-button-color(@color, @hover, @active) {
  background-color: @color;
  color: @grayDark;
  &:hover,
  &:focus,
  .btn-group:focus &.dropdown-toggle {
    background-color: @hover;
  }
  &:active,
  .btn-group.open &.dropdown-toggle,
  &.active {
    background-color: @active;
  }
}

.inline-block {
  display: inline-block;
  zoom: 1;
  *display: inline;
}

.box-sizing(@boxmodel: border-box) {
  -webkit-box-sizing: @boxmodel;
     -moz-box-sizing: @boxmodel;
          box-sizing: @boxmodel;
}

.placeholder-color(@color) {
  &:-moz-placeholder {
    color: @color;
  }
  &::-webkit-input-placeholder {
    color: @color;
  }
  &.placeholder {
    color: @color;
  }
}

.input-states(@color) {
  border-color: @color;
  color: @color;
  .box-shadow(none);

  &:focus {
    .box-shadow(none);
  }
}

.actions {
    .action {
        width: 22.50%;
        display: inline-block;
        padding: 12px 0;
        margin: 0 .9% 1em;
        vertical-align: top;
        text-decoration: none;
        background: #F3F3F3;
        border-radius: 2px;
        text-align:center;

        .widget-icon {
            margin-top: .25em;
            margin-bottom: .25em;
            font-size: 32px;
            color: #888;
        }

        .widget-label {
            display: block;
            font-weight: 400;
            color: #666;
        }
    }

    .action:hover {
        background: #E8E8E8;
    }
}

/* Generic
==================== */
body {
  background: @tanCity;
  padding-top: 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65em;
  margin: 0px;
  box-sixing: border-box;
  -webkit-box-sixing: border-box;
  @media (max-width: @breakTablet) {
    padding-left: 0;
    padding-right: 0;
  }
  .col-centered {
    float: none;
    margin: 0 auto;
  }
}

.row {
  margin-left: 0;
}

.page-content {
  .container {
    max-width: 1170px;
  }
}

.hide-mobile {
	display: none;
  @media (min-width: @breakDesktop ) {
		display: inline-block;
	}
}

.hide-tablet-up {
	display: inline-block;
  @media (min-width: @breakTablet ) {
		display: none;
	}
}

.hide-tablet-down {
	display: none;
  @media (min-width: @breakTablet ) {
		display: inline-block;
	}
}

.hide-desktop {
	display: inline-block;
  @media (min-width: @breakDesktop ) {
		display: none;
	}
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  color: @maroon;
  text-transform: uppercase;
}

h1 { font-size: @baseFontSize * 2; }
h2 { font-size: @baseFontSize * 1.75; }
h3 { font-size: @baseFontSize * 1.5; }
h4 { font-size: @baseFontSize * 1.25; }
h5 { font-size: @baseFontSize; }
h6 { font-size: @baseFontSize * 0.85; }
h1, h2, h3 { line-height: 1.4em; }

h1 small { font-size: @baseFontSize * 1.5; }
h2 small { font-size: @baseFontSize; }
h3 small { font-size: @baseFontSize; }
h4 small { font-size: @baseFontSize; }

p {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 1em;
}

ul > li > p:first-child {
  margin-bottom: 0;
}

a {
  color: @red;
  cursor: pointer;
  border-bottom: 1px dotted @red;
  &:hover {
    color: @maroon;
    .transition(0.35s);
    border-bottom: 1px solid @maroon;
    text-decoration: none;
  }
}

button, select {
  font-family: 'Open Sans', sans-serif;
  font-weight: normal;
}

label {
  text-transform: uppercase;
}

textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
input[type="submit"],
.uneditable-input {
  border: 2px solid @grayLighter;
  color: @grayDark;
  font-family: 'Open Sans', sans-serif;;
  font-size: @baseFontSize;
  text-indent: 6px;
  padding: 6px 5px;
  -webkit-appearance: none;
  .border-radius(2px);
  .box-shadow(none);
  .placeholder-color(@grayLight);
  .transition(~"border .35s linear, color .35s linear");

  // Alternate state
  // --------------------------------------------------
  .control-group.focus &,
  &:focus {
    border-color: @blueDark;
    .box-shadow(none);
  }

  .row-fluid & {
    height: 41px;
    width: 100%;
  }

  // Flat (without border)
  &.flat {
    border-color: transparent;
    &:hover {
      border-color: @grayLight;
    }
    &:focus {
      border-color: @blueDark;
    }
  }

  // Alternate Colors
  // --------------------------------------------------
  .control-group.error &   { .input-states(@danger) }
  .control-group.success & { .input-states(@greenDark) }
  .control-group.warning & { .input-states(@gold) }
  .control-group.info &    { .input-states(@blueLight) }

  .control-group & { margin-bottom: 0; }
}

input.fullwidth-input {
  width: 600px;
}

textarea.fullwidth-textarea {
  width: 100%;
}

// Textarea
textarea {
  height: auto;
  font-size: @baseFontSize * 1.071; /* 15px */
  line-height: 24px;
  padding: 5px 11px;
  text-indent: 0;

  .row-fluid & {
    height: auto;
    width: 100% !important;
  }
}

textarea[class*="span"] {
  width: 100% !important;
  .box-sizing(border-box);
}

header.main {
  z-index: 998;
  position: fixed;
  background-color: @blueSky;
}

.home > .landing-banner{
  .container {
    width: 100%;
  }
}

.python-footer-block {
  text-align: center;
  padding-top: 6em;
  @media (min-width: @breakTablet) {
    padding-top: 4em;
  }
  @media (min-width: @breakDesktopLarge) {
    padding-top: 1em;
  }
  .logo-block {
    position: relative;
    top: -1em;
    padding: 0 15px;
    @media (min-width: @breakTablet) {
      top: 1em;
    }
    @media (min-width: @breakDesktop) {
      top: 2em;
    }
    @media (min-width: @breakDesktopLarge) {
      top: 5em;
    }
    img.python-logo {
      display: block;
      margin: 0 auto 1em;
      @media (min-width: 979px) {
        margin-top: 1em;
      }
    }
  }
  img.footer-forest {
    width: 100%;
    height: auto;
  }
}

footer {
  background-color: @greenForest;
  color: white;
  font-size: .5em;
  text-align: center;
  padding: 3em 2em;
  position: relative;
  bottom: 0;
  height: auto;

  .footer-content {
    position: relative;
    top: 10px;
    padding-bottom: 20px;
    p {
      padding-top: 0;
      margin: 0 0 1.25em 0;
      font-size: @baseFontSize * .90;
      line-height: 1.8em;
      @media (min-width: @breakTablet) {
        font-size: @baseFontSize;
      }
      a {
        color: @tanCity;
        border-bottom: 1px dotted @tanCity;
        &:hover{
          border-bottom: 1px solid @tanCity;
        }
      }
    }
  }
}

.page-head {
  width: 100%;
  overflow: auto;
  @media (min-width: @breakDesktop) {
    margin-top: 2em;
  }
  @media (max-width: @breakTablet) {
    .container {
      padding-right: 20px;
      padding-left: 20px;
    }
  }
  img {
    width: 20%;
    height: 71px;
    top: 0;
    float: left;
    position: relative;
    display: none;
  }
  .container {
    background-color: @greenHill;
    padding: 0;
    min-height: 40px;
    margin-left: 0;
    position: initial;
    z-index: 1;
    @media (min-width: @breakDesktop) {
      min-height: 4.45em;
    }
  }
}

.page-content {
  margin-top: 2em;
  min-height: 500px;
  @media (max-width: @breakTablet) {
    padding-right: 20px;
    padding-left: 20px;
  }
  .box {
    padding-right: 25px;
  }
  .box-content {
    h3 {
      margin-top: 25px;
    }
    ul {
      li{
        line-height: 1.8em;
      }
    }
  }
}

#skip {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px;
}

.is_required {
  content: '*';
  color: @danger;
}

.required-field:before{
  .is_required;
}

.top.alert {
  position: absolute;
  top: 20px;
  width: 80%;
  left: 10%;
  z-index: 999;
}

aside.list {
  text-align: left;
  padding: 15px 0;
  ul li {
    a {
      text-shadow: none;
      border-bottom: none;
      padding: .5em 1em;
      &:hover {
        background-color: @maroon;
        color: @white;
      }
    }
  }
}

.text-center {
    text-align: center;
}

/* Buttons
==================== */
.btn,
.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn-group > .popover {
  font-size: @baseFontSize + 1;
  font-weight: 600;
}

.btn {
  border: 3px solid @grayLighter;
  color: @white;
  background: @grayLight;
  line-height: 22px;
  text-decoration: none;
  text-shadow: none;
  .border-radius(2px);
  .box-shadow(none);
  .transition(0.35s);
  font-family: 'Open Sans', sans-serif;

  // Alternate states
  // --------------------------------------------------
  &:hover,
  &:focus,
  .btn-group:focus &.dropdown-toggle {
    background-color: @button-hover;
    color: @button-text;
    outline: none;
    .transition(0.35s);
    border-color: @white;
  }

  // Active State
  &:active,
  .btn-group.open &.dropdown-toggle,
  &.active {
    background-color: @button-active;
    color: fade(@button-text, 75%);
    .box-shadow(none);
  }

  // Disabled state
  &.disabled,
  &[disabled] {
    background-color: @grayLight;
    color: fade(@button-text, 75%);
    .box-shadow(none);
    .opacity(70);
  }

  // Button sizes
  // --------------------------------------------------

  // Large
  &.btn-large {
    font-size: @baseFontSize * 1.214; /* 17px */
    line-height: 20px;
    padding: 12px 18px 13px;
  }

  // Set the backgrounds
  // -------------------------
  &.btn-primary {
    .swap-button-color(@red, @button-primary-hover, @button-primary-active);
    border: none;
    color: @white;
    &:hover {
      border: none;
    }
  }
  &.btn-info    {
    .swap-button-color(@red, @button-info-hover, @button-info-active);
    border: none;
    color: @white;
  }
  &.btn-danger  {
    .swap-button-color(@danger, @button-danger-hover, @button-danger-active);
    border: none;
    color: @white;
  }
  &.btn-success {
    .swap-button-color(@red, @button-success-hover, @button-success-active);
    border: none;
    color: @white;
  }
  &.btn-warning {
    .swap-button-color(@goldDark, @button-warning-hover, @button-warning-active);
    border: none;
    color: @white;
  }
  &.btn-white {
    .swap-button-color(@white, @button-white-hover, @button-white-active);
  }

}

// Datatables buttongroup needs a little padding
div.DTTT.btn-group {
  padding: 2px 0px 4px;
  // and override the button colors that don't seem to get set above
  .btn {
    .swap-button-color(@blueDark, @button-primary-hover, @button-primary-active);
    color: fade(@button-text, 75%);
    font-weight: 600;
  }
}

/* Navigation
==================== */
header.main {
  padding: 1em 0 0;
  position: relative;
  width: 100%;
  box-shadow: none;
  @media (min-width: @breakDesktopLarge) {
    .navbar .nav li a {
      padding-right: 1.5em;
      font-size: @baseFontSize + 3;
    }
  }
  a.logo-smaller {
    display: none;
    @media (max-width: @breakDesktop) {
      display: inline-block;
      width: 120px;
      height: 75px;
      background:url(../img/PNG/pycon16-logo-small.png) no-repeat 0 0;
      text-indent: -9999px;
      display: block;
      background-size: 120px auto;
      margin: 0 0 1em 1.5em;
      border-bottom: none;
    }
  }
  .container {
    width :100%;
  }
  .navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret {
    border-top-color: @maroon;
  }
  nav {
    background: @blueSky;
    @media (min-width: @breakDesktop) {
      margin-top: 1em;
      padding-left: 20%;
    }
    a.logo-small {
      position:absolute;
      top: 5px;
      left: 0;
      width: 120px;
      height: 75px;
      background:url(../img/PNG/pycon16-logo-small.png) no-repeat 0 0;
      background-size: 120px auto;
      text-indent: -9999px;
      border-bottom: none;
      @media (min-width: @breakDesktop) {
        top: 15px;
        left: 5%;
        width :140px;
        height: 85px;
        background-size: 140px auto;
      }
      @media (max-width: @breakDesktop) {
          display: none;
      }
    }
    @media (min-width: @breakDesktop) {
      ul {
        width: 100%;
        z-index: 0;
      }
    }
    .container {
      position: relative;
    }
    .navbar {
      margin-bottom: 0;
      @media (max-width: @breakDesktop) {
        position: absolute;
        top: 0;
        right: 0;
        width :100%;
      }
      .btn-navbar {
        @media (max-width: @breakDesktop) {
          float: right;
          padding: 20px;
          margin: 0;
          .box-shadow(none);
          background-image: none;
          background-color: @red;
          border: none;
          border-radius: 0;
          &:hover {
            background-color: @maroon;
          }
          .icon-bar { box-shadow: none; }
        }
      }
      .navbar-inner {
        background: transparent;
        .box-shadow(none);
        padding: 0;
        border: none;
        @media (max-width: @breakDesktop) {
          margin: 0;
          padding: 0;
          .nav-collapse .nav {
            background-color: white;
            li.dropdown .dropdown-toggle:hover {
              background-color: @maroon;
              color: white;
            }
            li {
              .caret {
                border-top-color: @maroon;
              }
              &:hover {
                .caret {
                  border-top-color: white;
                }
              }
              a {
                padding: 1em;
                border-radius: 0;
                display: block;
                &:hover {
                  color: white;
                  background-color: @maroon;
                }
              }
            }
          }
        }
      }

      .nav {
        margin: 0;
        li {
           a {
            font-size: @baseFontSize + 1;
            font-weight:400;
            margin: 0 0 0 0 !important;
            padding: .5em .5em .5em 0;
            box-shadow: none !important;
            text-shadow: none;
            color: @maroon;
            font-weight: 400;
            border-bottom: 1px solid transparent;
            @media (min-width: @breakDesktop) {
              padding-right: 1em;
            }
            &:hover {
              color: @maroon;
              border-bottom: 1px solid @maroon;
              .transition(0.35s);
              &:focus {
              }
            }
            &:active {
              border-bottom: 1px solid @maroon;
            }
            &:focus {
              .caret {
                border-top-color: @maroon;
              }
            }
          }
          &.dropdown {
            ul {
              width: initial;
            }
            .dropdown-toggle {
              &:hover,
              &:focus,
              &:active {
                color: @maroon;
              }
            }
            .caret {
              border-top-color: @maroon;
            }
            &.open {
              .caret {
                border-top-color: @maroon;
              }
            }
          }
        }

        li.dropdown.active {
          a {
            color: @maroon;
            border-bottom: 1px solid @maroon;
          }
          .caret {
            border-top-color: @maroon;
          }
        }

        .dropdown-menu {
          margin: 8px 0 0 0;
          padding: 0;
          .transition(0.35s);
          border: 0;
          border-radius: 2px;
          &:after {
            top: -8px;
            border-bottom: 8px solid @white;
            .transition(0.35s);
          }
          &:before {
            display: none;
          }
          @media (max-width: @breakDesktop) {
            margin: 0;
            background-color: darken(@tanCity, 4%)
          }
          &:last-child {
            @media (max-width: @breakDesktop) {
              border-bottom: 2px solid #B3B3B3;
            }
          }
          li {
            &.active {
              a {
                color: @maroon;
                background-image: none;
              }
            }
            a {
              margin: 0;
              color: @grayDark;
              padding: 1em 1.75em;
              @media (max-width: @breakDesktop) {
                padding-left: 2em !important;
              }
              &:hover,
              &:active,
              &:focus {
                background-color: @maroon;
                color: @white;
                background-image: none;
              }
            }
          }
        }
      }
    }
  }
  @media (max-width: @breakDesktop) {
    .navbar-inverse .nav li.dropdown.open > a.dropdown-toggle {
      background-color: @maroon;
      color: white;
      .caret {
        border-top-color: white;
      }
    }
    header.main nav .navbar .navbar-inner .nav-collapse .nav li.dropdown.open ul a {
      padding-left: 2em;
    }
  }
  .account-bar {
    float: none;
    text-transform: uppercase;
    position: relative;
    background-color: white;
    @media (min-width: @breakDesktop) {
      margin: 0;
      float: right;
      position: absolute;
      top: -2em;
      right: 0;
      background-color: transparent;
      padding: 0;
      z-index: 1;
    }
    &.loggedin {
      @media (min-width: @breakDesktop) {
        position: relative;
      }
      span {
        margin-left: 1em;
        @media (min-width: @breakDesktop) {
          margin-left: 0;
        }
      }
    }
    .account-links {
      button.logout,
      a {
        &.login,
        &.logout,
        &.signup {
          padding: 1em !important;
          height: 100%;
          border-radius: 0;
          background-color: @red;
          font-weight: 400;
          color: white;
          display: block;
          position: relative;
          text-align: left;
          &:hover {
            background-color: @maroon;
          }
          @media (min-width: @breakDesktop) {
            display: inline-block;
            text-align: center;
          }
        }
      }
    }
    .login {
      right: 0;
      border-bottom: 1px solid @maroon;
      @media (min-width: @breakDesktop) {
        right: -5px;
        border-right: 2px solid @maroon;
        border-bottom-color: @red;
      }
    }

    span { color: @grayDark; }

    form {
      display: inline;
      margin: 0;
      padding: 0;
        button[type=submit] {
        margin-left: 15px;
        border: none;
        font-size: 100%;
        text-transform: uppercase;
        @media (max-width: @breakDesktop) {
          margin: 1em 0 0;
          width: 100%;
        }
      }
    }
  } /* End Account Bar */
}

h1 {
  padding-bottom: 5px;
}
ul.breadcrumb {
  background: transparent;
  li {
    text-shadow: none;
    a {
      color: white;
      border-bottom-color: white;
    }
  }
  .active, > .divider {
    color: white;
  }
}

/* Homepage
==================== */
body.home {
  min-width: 100%;
  margin: 0;
  h1, h2, h3, h4, h5, h6 {
    font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
  }
  .logo-small,
  .page-head {
    display: none;
  }
  header.main {
    a.logo-smaller {
      display: none;
      @media (max-width: @breakMobileLandscape) {
        .account-links {
          span { display: block; }
        }
      }
    }
  }
  nav {
    padding-left: 0;
    .navbar {
      margin-bottom: 0;
      .nav {
        margin: 0;
        @media (min-width: @breakDesktop) {
          width: 92%;
          margin-left: 8%;
        }
      }
      .navbar-inner {
        margin: 0;
      }
    }
  }
  .landing-banner {
    background-color: @blueSky;
    .span3 {
      margin: 0;
    }
    img {
      display: block;
      margin: 0 auto;
      width: 85%;
      @media (min-width: @breakDesktop) {
        padding: 4em 0 1em;
  			width: 100%;
      }
      @media (max-width: @breakDesktop) {
        padding: 7em 0 3em;
      }
    }
    .by-the-com,
    .for-the-com,
    .by-for-the-com {
      float: left;
      margin-top: 11.5em;
      font-family: 'roboto condensed', sans-serif;
      font-weight: 700;
      p {
        display: table;
        color: @greenDark;
        margin: 0 auto;
        text-align: center;
        text-transform: uppercase;
        font-size: @baseFontSize * 1.5;
        border-top: 1px solid @greenDark;
        border-bottom: 1px solid @greenDark;
      }
    }
    @media (min-width: @breakDesktop) {
      .by-the-com,
	    .for-the-com {
	      float: left;
	      font-family: 'roboto condensed', sans-serif;
	      p {
	        display: table;
	        margin: 0 auto;
	      }
	    }
    }
    @media (min-width: @breakDesktopLarge) {
      .by-the-com,
	    .for-the-com {
        margin-top: 12.5em;
      }
    }
    .by-the-com {
      float: left;
    }
    .for-the-com {
      float: right;
    }
    .by-for-the-com {
      margin-top: 1em;
      margin-bottom: 3em;
      p {
        font-size: @baseFontSize * 1.5;
        @media (min-width: 480px) {
          font-size: @baseFontSize * 1.85;
        }
      }
    }
  }

  /* Hills
  ==================== */
  .landing-hills {
    margin-left: 0 !important;
    .hills img {
      min-width: 100%;
      height: auto;
      margin-right: -30px;
    }
  }

  .about {
    color: white;
    background-color: @greenHill;
    text-align: center;
    font-weight: 400;
    padding: 3em 0;
    @media (min-width: @breakMobileLandscape) {
      padding-bottom: 5em
    }
    p {
      font-size: @baseFontSize * 1.65;
      line-height: 1.75;
      @media (max-width: @breakDesktop) {
        font-size: @baseFontSize * 1.1;
        line-height: 1.85em;
      }
    }
    h2 {
      color: white;
    }
    a {
      color: white;
      border-bottom:1px dotted white;
      &:hover {
        border-bottom-style: solid;
      }
    }
  }

  .city {
    background-color: @greenHill;
    img.skyline {
      width: 100%;
      height: auto;
    }
  }

  .schedule-overview {
    padding-left: 0;
    padding: 4em 0 2em ;
    @media (max-width: @breakTablet) {
      padding: 60px 0 0;
    }
    .container { float: none; }
    .schedule {
      text-align: center;
      float: left;
      .schedule-icon {
        margin-bottom: 1em;
      }
      h3 .dates { font-weight: 400; }
      p {
        margin-bottom: 3em;
        @media (max-width: @breakDesktop) {
          font-size: @baseFontSize * 1.1;
          line-height: 1.85em;
        }
      }
    }
  }

  .register {
    margin-bottom: 3em;
    .register-banner {
      background: url("/2016/site_media/static/img/PNG/Register-Banner.png") center center no-repeat;
      background-size: 100% 100%;
      width: 100%;
      margin: 1em auto;
      text-align: center;
      padding: 1.5em 0;
      font-size: @baseFontSize * .75;
      @media (min-width: @breakTablet) {
        width: 50%;
        padding: 2em;
      }
      @media (min-width: @breakDesktop) {
        width: 35%;
        padding: 2.2em 2em 1.7em;
        margin: 0 auto 2em;
      }
      .promo {
        @media (max-width: @breakDesktop) {
          &.no-link {
            top: 20px;
          }
        }
        p, a {
          color: white;
          font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
          font-weight: 700;
          text-transform: uppercase;
          font-size: @baseFontSize * 2;
          text-decoration: none;
          border-bottom: none;
        }
      }
    }
  }

  .past-pycon-announcements {
    overflow: auto;
    .half {
      @media (max-width:@breakDesktop) {
        width: 100%;
      }
      @media (min-width:@breakDesktop) {
        width: 50%;
      }
    }
    .pycon-past,
    .pycon-announcements {
      @media (min-width:@breakDesktop) {
        float: left;
      }
      h2 {
        text-align: left;
      }
    }

    .pycon-past {
      overflow: auto;
    }

    .pycon-announcements {
      height: 510px;
      margin-bottom: 2em;
      width: 100%;
      @media (min-width:@breakMobileLandscape ) {
        height: 400px;
        width: 50%;
      }
      .announcement-bg {
        position: absolute;
        height: 470px;
        width: 94%;
        right: 3%;
        @media (min-width:@breakMobileLandscape ) {
          height: 370px;
          width: 98%;
          right: 1%;
        }
        @media (min-width:@breakDesktop ) {
          width: 49%;
          right: 0;
        }
        img.announcement-banner {
          width: 100%;
          height: 100%;
        }
      }
      .post-content {
        padding: 0.5em;
        @media (min-width:@breakDesktop ) {
          padding: 0.5em 3em;
        }
        @media (min-width:@breakDesktopLarge ) {
          padding: 0.5em 5em 0.5em 3em;
        }
      }
      .blog-post {
        padding: 15px;
        overflow: auto;
        color: white;
        text-align: left;
        z-index: 1;
        position: absolute;
        overflow: auto;
        @media (min-width:@breakTablet) and (max-width:@breakDesktop) {
					padding: 1em 10% 1em 0;
				}
        h3 {
          color: white;
          margin-top: 0;
          padding-left: 0;
        }
        p.post_dateline {
          color: white;
          span.author {
            color: white;
          }
        }
        a {
          color: white;
          border-bottom: 1px dotted white;
          &:hover {
            border-bottom: 1px solid white;
          }
        }
        .post_dateline {
          color: #98a1a3;
          text-transform: uppercase;
          font-size: 0.8em;
          font-weight: 600;
        }
      }
    }
  }
  .hidden-breakDesktop {
    @media (max-width: @breakDesktop) {
        display: none;
      }
  }
  .hidden-breakTablet {
    @media (max-width: @breakTablet) {
      display: none;
    }
  }
} /* End Homepage */

/* Sponsor Carousel
==================== */
.sponsor-crawl {
  padding: 3em 0;
  width: 100%;
  max-width: 1170px;
  @media (max-width: @breakMobileLandscape) {
    padding: 20px 0;
  }
  .carousel {
    margin-bottom: 0;
    .item {
      .transition(.7s ease-in-out opacity);
      left: 0 !important;
    }
    .next.left, .prev.right {
      opacity: 1;
      z-index: 1;
    }
    .active.left, .active.right {
      opacity: 0;
      z-index: 2;
    }
    /* Slideshow nav
    ==================== */
    nav#slider-nav {
      position: absolute;
      left: 0;
      right: 0;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      width: 300px;
      a {
        text-indent: -9999px;
        width: .5em;
        height: .5em;
        margin: 2em 1em 0 0;
        background-color: #CCC;
        .border-radius(50%);
        display: inline-block;
        border-bottom: none;
        &:hover {
          background-color: #999;
        }
        &.activeSlide {
          background-color: #999;
        }
      }
    }
    .carousel-inner {
      div.item {
        width: 100%;
        padding: 10px 0 40px 0;
        height: 150px;
      }
    }
  }
}

ul#slider {
  display: block;
  width: 100%;
  height:120px; /* 260px - actual height */
  overflow: hidden;
  list-style: none;
  margin: 0;
  padding: 0;

  li {
    display:none;
    .scroll-title,
    .scroll-title-first {
      text-align: center;
      @media (max-width: @breakTablet) {
        font-size: 30px;
        margin: 20px 0 5px;
      }
    }

    li.first {
      display:block;
    }

    a {
      display:block;
      float:left;
      width: 14%;
      margin: .5em 1.32%;
      height: 100px;
      margin: 1.25%;
      background-size: 95px auto;
    }

    .sp-logo {
      display:block;
      height:70px;
    }

    img {
      margin:0 0 10px 19px;
    }

    .level {
      display:block;
      margin:0 0 10px 19px;
      padding:5px 0 0 0;
      width:100px;
      text-align:center;
      text-transform:uppercase;
      color:#666;
      font-size:11px;
    }
  }
}

.scroll-title {
  text-align: center;
}
.scroll-title-first {
  margin: 0 0 5px;
  text-align: center;
}

.sponsor-scroll-item {
  cursor: pointer;
  float:left;
  width: 14%;
  margin: .5em 1.32%;
  height: 100px;
  background: darken(@tanCity, 4%) center center no-repeat;
  background-size: 95px auto;
  @media (max-width: @breakDesktopLarge) {
    width: 21%;
    margin: .5em 2%;
  }
  @media (max-width: @breakTablet) {
    width: 46%;
    margin: .5em 2%;
  }
}

.slider-nav {
  margin: 0 auto;
}
/* End Sponsor slideshow */

/* labels
==================== */
.label-important, .badge-important {
  background-color: @redDark;
}
.label-info, .badge-info {
  background-color: #27a9e1
}

/* Sponsorship List
==================== */
body.sponsors {
  .page-head {
    a.read-more {
      @media (max-width: @breakMobileLandscape) {
        font-size: 11px;
        width: 225px;
      }
      .btn;
      .btn-primary;
      margin-top: 10px;
      margin-bottom: 0;
      display: block;
      width: 275px;
    }
  }
  &.apply .page-content {
    text-align: left;
  }
  .page-content {
    text-align: center;
    h2 {
      font-weight: 800;
      padding: 15px 0;
      font-size: 32px;
    }
    .sponsor {
      border: 1px solid #d2d2cb;
      .box-shadow( none );
      .border-radius(2px);
      padding:1px;
      background:@white;
      margin-bottom:20px;

      .sponsor-content {
        padding:15px;
        height:450px;
        overflow:auto;
        @media (max-width: @breakTablet) {
          min-height: 250px;
          height: auto;
        }
      }

      h3 a {
        border-bottom: none;
      }

      h4 {
        font-size:@baseFontSize + 3;
        line-height:30px;
      }
    }

    @media (min-width: 768px) {
      .span4 {
        width: 45%;
        margin: 0 2.5%;
      }
      .offset4 {
        margin: 0 27.5%;
      }
      .offset2 {
        margin-left: 27.5%;
      }
    }
    @media (min-width: 979px) {
      .span4 {
        width: 30%;
        margin: 0 1.66%;
      }
      .offset4 {
        margin: 0 35%;
      }
      .offset2 {
        margin-left: 18.5%;
      }
    }
  }
}

/* Venue
==================== */
body.venue {
  p.intro {
    font-size: @baseFontSize + 1;
    margin: 15px 0 25px 0;
    font-style: italic;
  }
  .map-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    iframe {
      border: 1px solid #ddd;
    }
    iframe, object, embed {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    a {
      font-size: @baseFontSize - 2;
    }
  }

  .hotels {
    margin-top: 30px;
    h2 {
        margin-bottom: 0;
    }
    .place a {
        .btn;
        .btn-primary;
    }
  }
  .nav-list > .active > a, .nav-list > .active {
    background-color: @maroon;
  }
}

/* CMS Pages
==================== */
body.cms-page {
  h2, h3, h4, h5, h6 {
    padding-top: .8em;
    line-height: 1.4em;
  }
  .edit-btn {
    .btn;
    .btn-primary;
    font-weight: 300;
    margin-bottom: 25px;
  }
  &.editable {
    .box-content {
      border: 1px dashed  @grayLight;
    }
  }
  &.editable-form {
    form {
      label {
        margin-top: 30px;
        &[for=id_title] {
          margin-top: 0;
        }
      }
      input[type=submit] {
        .btn;
        .btn-primary;
      }
      textarea {
        resize: none;
        width: 649px;
        .border-radius(0 0 8px 8px);
      }
      .bottom-preview {
        width: 645px;
        border: 2px dashed @grayLighter;
      }
    }
  }
  .page-content {
    .container {
      float: none;
      @media (min-width: @breakTablet) {
        width: 76%;
        margin: 0 12%;
      }
      @media (min-width: @breakDesktop) {
        width: 60%;
        margin: 0 20%;
      }
    }
  }
  .sponsor-crawl {
    padding-top: 5em;
  }
  .box-content p {
    font-size: @baseFontSize * 1.15;
    line-height: 1.7em;
    @media (min-width: @breakTablet) {
      font-size: @baseFontSize * 1.5;
    }
  }
}
/*  Retina media query.
  Overrides styles for devices with a
  device-pixel-ratio of 2+, such as iPhone 4.
=========================================== */

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

  h3.logo a {
    width: 213px;
    height: 63px;
    background-image: url(../img/pycon2014-logo_sub@2x.png);
    background-size: 213px 63px;
  }

  // body.home .sky .logo {
  //   background-image: url(../img/pycon2014-logo@2x.png);
  //   background-size: 522px 105px;
  // }
  .montreal {
    background: url("../img/montreal@2x.png") no-repeat scroll 0 0 transparent;
    height: 230px;
    width: 827px;
  }
  .page-head .skyline {
    background: url('../img/pagehead-bkg@2x.png') no-repeat;
    background-size: 500px 70px;
  }
}

/* Auth pages
==================== */
body.auth {
  .dashboard-top {
    p {
      font-size: 18px;
      font-style: italic;
    }
  }
  .box {
    form {
      .help-block {
        font-style: italic;
        color: @grayLight;
      }
      .control-group {
        .controls {
          margin-bottom: 25px;
          .input-prepend {
            .add-on {
              padding: 7px 5px;
              z-index: 999;
              left: 2px;
              position: relative;
            }
            input {
              z-index: 1;
            }
          }
        }
        .markedit textarea {
          width: 600px;
          .border-radius(0 0 8px 8px);
          resize: none;
          margin-bottom: 15px;
        }

        .markedit-toolbar {
          width: 615px;
        }

        .markedit-preview {
          width: 595px;
          margin-bottom: 15px;
          background: transparent;
          border: 2px dashed @grayLighter;
          word-wrap: break-word;
        }
      }
    }
  }
  form {
    textarea {
      width: 600px;
    }
  }
}
.form-actions {
  background-color: darken(@tanCity, 4%);
  input[type=submit] {
    .btn;
    .btn-primary;
    border: 1px solid @red;
    .border-radius(4px);
    line-height: 24px;
    &:hover {
      border: 1px solid @redDark;
    }
  }
}

/* Boxes
==================== */
.content-box {
  hr {
    border-color: @grayLighter;
  }
  &.editable {
    border: 1px dashed #bbb;
    padding: 5px;
    min-height: 40px;
  }
}
.edit-toggle {
    position: relative;
    float: right;
}

section.widget {
  padding:0 0 10px 0;
  margin-bottom:20px;

  &.last {
    background:none;
  }

  h4 {
    font-weight:uppercase;
    margin-bottom:10px;
    font-size:16px;
  }
}

// Markdown editor styles
[id*="edit_"] {
  &.modal {
    width: 600px;
    margin-left: -250px;
    textarea {
      resize: none;
      width: 95%;
    }
    .bottom-preview {
      margin-bottom: 50px;
      width: 95%;
    }
  }
}

/* Sign Up + Login
==================== */
body.signup, body.login {
  aside {
    text-align: left;
  }
  .top-banner {
    .row {
      height: 0;
    }
  }
  .page-content {
    margin-top: 0;
    @media (max-width: @breakTablet) {
      .box {
        border: none;
      }
    }
  }
  form {
    button[type=submit] {
      .btn;
      .btn-success;
    }
    .forgot {
      margin-top: 15px;
    }
  }
}

/* Team
==================== */
body.team {
  form.membership {
    float: left;
    margin: 0 15px 15px 0;
    .clearfix;
  }
  h2 {
    margin-top: 50px;
  }
}


/* Below styles for to-be-styled in Phase 2 */

/* Speaker profile
==================== */
.avatar {
  float:left;
  margin:0 20px 0 0;
  border:1px solid #d2d2cb;
  padding:2px;
}

.speaker-details {
  float:left;
  width:430px;
}

.presentation {
  //border-left: 2px solid @yellow;
  padding-left:10px;
  margin-bottom:5px;
}

/* Reviews
==================== */
.nav {
    margin-bottom: 0px;
}

.table-reviews {
    font-size: 12px;
}

div.tab-content {
    background: @white;
    padding: 20px 30px;
    border: 1px solid #ddd;
    border-top: none;
    .border-radius(0 0 4px 4px);
    .box-shadow(~"0 1px 1px rgba(0,0,0,0.1)");
}

dd {
    margin-bottom: 1.5em;
}

div.review-box {
    padding: 10px;
    background: #fafafa;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    width: 500px;
    .border-radius(4px);
    .box-shadow(~"0 1px 1px rgba(0,0,0,0.1)");

    div.vote {
        margin-top:10px;
        width: 50px;
    }
    div.vote span {
        font-size: 18pt;
        font-weight: 600;
        text-shadow: 1px 1px 2px rgba(255,255,255,.5);
    }

    div.review-content {
        margin-left: 60px;
    }
}

div.comment-box {
    padding: 10px;
    background: #fafafa;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    width: 500px;
    .border-radius(4px);
    .box-shadow(~"0 1px 1px rgba(0,0,0,0.1)");

    &.private {
      background: @blueLight;
    }
}

.dashboard-panel {
    position: relative;
    clear: both;
    width: auto;
    margin-bottom: 2em;
    overflow: hidden;

    .dashboard-panel-header {


        position: relative;
        height: 40px;
        line-height: 40px;
        #gradient > .vertical(#FAFAFA, #E9E9E9);
        border: 1px solid #D5D5D5;
        .border-radius(4px 4px 0 0);
        -webkit-background-clip: padding-box;

        .header-actions {
            padding-right: 10px;
        }

        h3 {
            position: relative;
            top: 2px;
            left: 10px;
            display: inline-block;
            margin-right: 3em;
            font-size: 14px;
            font-weight: 600;
            color: @grayDark;
            line-height: 18px;
            text-shadow: 1px 1px 2px rgba(255,255,255,.5);
        }

        > [class^="icon-"], > [class*=" icon-"] {
            display: inline-block;
            margin-left: 13px;
            margin-right: -2px;
            font-size: 16px;
            color: @grayDark;
            vertical-align: middle;
        }
    }

    .dashboard-panel-content {
        padding: 40px 15px 15px;
        border: 1px solid #D5D5D5;
        .border-radius(2px);
        .box-shadow(0 1px 1px rgba(0, 0, 0, 0.1));
        background-color: @white;

        h3 {
            font-size:@baseFontSize + 6;
            font-weight: 800;
            line-height: 20px;
            margin-bottom:20px;
        }

        .actions()
    }

    .dashboard-panel-header + .dashboard-panel-content {
        border-top: none;
        padding-top: 20px;
        .border-radius(0 0 4px 4px);
    }
}

/* Job fair
==================== */
body.job-fair {
  a.read-more {
      .btn;
      .btn-success;
        margin-top: 10px;
        margin-bottom: 30px;
        background-color: @greenForest;
        &:hover {
          background-color: @greenDark;
        }
      display: block;
      width: 275px;
    }
  .job-post {
    border:1px solid #d2d2cb;
    .box-shadow(0 2px 2px rgba(0, 0, 0, 0.15));
    .border-radius(2px);
    padding:1px;
    background:@white;
    position:relative;
    margin-bottom:20px;

    .post-content {
      border:3px solid #f7f7f3;
      padding:15px;
      overflow:auto;
    }

    h5 {
      font-size:@baseFontSize + 3;
      line-height:30px;
    }
  }
}

/* Sponsors Apply
==================== */
body.sponsors-apply {
  .top-banner {
    .row {
      height: 0;
      img {
        position: relative;
        top: -180px;
        max-width: 930px;
        -webkit-transform: translate(-50%,0);
        -moz-transform: translate(-50%,0);
        -ms-transform: translate(-50%,0);
        margin-left: 50.5%;
      }
    }
  }
}


/* Calendar
==================== */
#content_schedule_top {
  table {
    width: 100%;
    border: 1px solid #dddddd;
    background-color: @tanLight;
    font-size: 12px;
    td {
      padding-left: 0;
      padding-right: 0;
    }
  }
}

table.calendar {
  background-color: @tanLight;
  table-layout: fixed;
  font-size: 12px;

  tr {
    min-height: 36px;
  }

  th {
    text-align: center;

    &.time {
      width: 60px;
    }
  }

  td {
    text-align: center;
    vertical-align: middle;
    background-color: @tanLight;

    &.time {
      vertical-align: top;
      padding-top: 6px;
      padding-bottom: 34px;
      margin-top: 0;
      color: #333333;
      font-size: 12px;
      font-weight: 600;
    }

    .title > a {
      color: @gold;
      &:hover {
        color: @goldDark;
      }
    }

    .badges > .btn {
      border: 2px solid @maroon;
      border-radius: 4px;
      background-color: white;
      color: @maroon;
      padding: 1px 8px;
      &:hover {
        background-color: @maroon;
        border: 2px solid @maroon;
        color: white;
      }
    }

    &.slot {
      font-weight: 600;
      background-color: @tanLight;

      &.slot-Breakfast, &.slot-Break, &.slot-Lunch { background-color: @gold; color: white;}
      &.slot-plenary, &.slot-lightning { background-color: @greenHill; color: white;}
      p {
        padding: 0;
        margin: 0;
      }
    }

    &.slot-talk {
      vertical-align: top;
    }

    span.title {
      font-weight: 600;
      display: block;
      color: @greenDark;
    }
    span.speaker {
      font-weight: 400;
      display:block;
      font-size: 10px;
      line-height: 14px;
      margin: 2px 0 5px;
      color: @maroon;
    }
  }
}

/* Financial Aid
==================== */
body.finaid {

  .top-banner {
    .row {
      height: 0;
      img {
        position: relative;
        top: -180px;
        max-width: 930px;
        -webkit-transform: translate(-50%,0);
        -moz-transform: translate(-50%,0);
        -ms-transform: translate(-50%,0);
        margin-left: 50.5%;
      }
    }
  }

  &#application_list {
    form#applicant-list {
      th { cursor: pointer;
        &:hover { background-color: @grayLighter; }
        &:first-child:hover {
          background-color: transparent;
          cursor: default;
        }
      }
      .filter {
        .clearfix;
        padding: 15px 0;
        .sort {
          float: left;
          select { width: auto; }
          label { margin: 5px 0 0 0; }
        }
        .search { float: right;}
      }
      .table-pagination {
        .clearfix;
        float: right;
      }
      .actions { float: left; }
    }
  }

  &#finaid_review {
    .box-content {
      header {
        padding: 15px 0 25px;
        h2, h3 { margin: 0; }
      }
      .applicant {
        border-right: 1px solid @grayLighter;
        padding-right: 50px;
        ul {
          padding: 8px 0;
          li {
            line-height: 1.6;
            ul {
              padding: 15px;
              background-color: @grayLighter;
              .border-radius(2px);
              margin-bottom: 20px;
            }
          }
        }
        .applicant-info {
          li {
            padding-bottom: 20px;
          }
        }
      }
      .review-form {
        padding-left: 25px;
        label {
          text-transform: none;
          font-weight: bold;
        }
      }
    }
  }
}

/* Group Registration
==================== */
body#group-registration {
  #registration-messages {
    .alert {
      color: @white;
      a, a:hover {
        color: @white;
        text-decoration: underline;
        margin-left: 5px;
      }

      &.alert-success {
        background-color: #27A9E1;
      }
      &.alert-error {
        background-color: @danger;
      }
    }
  }
  #registration-instructions {
    margin-bottom: 20px;
  }

  #registrations-container {
    #registrations {
      form {
        margin-bottom: 10px;

        .form-control {
          margin-right: 10px;
        }
        .remove-line {
          border: none;
          cursor: pointer;
          font-weight: bold;
        }
        .text-error {
          color: #b94a48;
        }
      }
    }
    #add-line {
      border: none;
      margin-bottom: 20px;
    }
    #bottom-actions {
      height: 30px;
    }
    table {
      border-collapse: collapse;

      th, td {
        border: 1px solid black;
        padding: 4px 10px;
      }
    }
  }
}

/* Additional Flickity Gallery Styling */

.js-flickity {
  width: 100%;
  margin: 0;
  float: left;
  position: relative;
  margin-bottom: 1em;
  &:focus {
    outline: none;
  }
  .flickity-viewport {
    overflow: hidden;
    height: 224px;
  }
  .flickity-slider {
    transform: translate(0);
    text-align: center;
  }
  .flickity-prev-next-button {
    border: none;
    width: 50px !important;
    position: absolute;
    top: 27%;
  }
  .next {
    right: .25em;
  }
  .previous {
    left: .25em;
  }
  /* Style Options */
  .gallery-cell {
    width: 100%; /* full width */
    height: 160px; /* height of gallery */
    margin-right: 10px;
  }
  /* big buttons, no circle */
  .flickity-prev-next-button {
    width: 100px;
    height: 100px;
    background: transparent;
  }
  .flickity-prev-next-button:hover {
    background: transparent;
  }
  /* arrow color */
  .flickity-prev-next-button .arrow {
    fill: white;
  }
  .flickity-prev-next-button.no-svg {
    color: white;
  }
  /* hide disabled button */
  .flickity-prev-next-button:disabled {
    display: none;
  }
  ol.flickity-page-dots {
    margin-left: 0;
    li {
      list-style: none;
      width: 0.5em;
      height: 0.5em;
      background-color: #ccc;
      border-radius: 50%;
      display: inline-block;
      margin: 1em 1em 0 0;
      &.is-selected {
        background-color: #999;
      }
    }
  }
}

/* Flickity Viewport
======================= */

@media (min-width: @breakDesktop) {
	.js-flickity {
		.flickity-viewport {
			height: 370px !important;
		}
		.flickity-prev-next-button {
			top: 34%;
		}
	}
} /* End Flickity */

body {
  .page-head {
    img {
      @media (min-width: @breakDesktop) {
        display: inline-block;
      }
    }
    .container {
      width: 100%;
      margin-top: .5em;
      @media (min-width: @breakTablet) {
        width: 100%;
      }
      @media (min-width: @breakDesktop) {
        width: 80%;
        margin: 0;
        float: right;
      }
    }
  }

  ul.breadcrumb {
    padding :1em 1.25em;
    margin: 0;
    font-size: 10pt;
  	@media (min-width: @breakDesktop) {
      padding: 1.4em 0;
      font-size: initial;
  	}<commit_msg>Updates to fonts and scaling on CMS pages<commit_after>// Table of Contents

// -- Imports
// -- Fonts
// -- Variables
// -- Mixins
// -- Layout
// -- Generic
// -- Buttons
// -- Homepage
// -- Sponsors
// -- Venue
// -- CMS Page
// -- Retina styles
// -- Auth pages
// -- Boxes
// -- Sign Up + Login
// -- Team
// -- Speaker profile
// -- Reviews
// -- Job fair
// -- Financial Aid
// -- Group Registration

/* Imports
==================== */
/* bootstrap */
@import "bootstrap/bootstrap.less";
@import "bootstrap/responsive.less";

/* Site Colors */
@import "variables-site-colors.less";

/* Layout */
@import "layout.less";

/* Fonts
==================== */
@import url(//fonts.googleapis.com/css?family=Open+Sans:400,600,800);
@import url(//fonts.googleapis.com/css?family=Roboto+Condensed:400,700);

/* Variables
==================== */
@breakDesktopXL:			 1600px;
@breakDesktopXLS:      1400px;
@breakDesktopLarge:	   1200px;
@breakDesktop:				 979px;
@breakTablet:				   767px;
@breakMobileLandscape: 480px;
@breakMobile:				   321px;

/* Mixins
==================== */
.swap-button-color(@color, @hover, @active) {
  background-color: @color;
  color: @grayDark;
  &:hover,
  &:focus,
  .btn-group:focus &.dropdown-toggle {
    background-color: @hover;
  }
  &:active,
  .btn-group.open &.dropdown-toggle,
  &.active {
    background-color: @active;
  }
}

.inline-block {
  display: inline-block;
  zoom: 1;
  *display: inline;
}

.box-sizing(@boxmodel: border-box) {
  -webkit-box-sizing: @boxmodel;
     -moz-box-sizing: @boxmodel;
          box-sizing: @boxmodel;
}

.placeholder-color(@color) {
  &:-moz-placeholder {
    color: @color;
  }
  &::-webkit-input-placeholder {
    color: @color;
  }
  &.placeholder {
    color: @color;
  }
}

.input-states(@color) {
  border-color: @color;
  color: @color;
  .box-shadow(none);

  &:focus {
    .box-shadow(none);
  }
}

.actions {
    .action {
        width: 22.50%;
        display: inline-block;
        padding: 12px 0;
        margin: 0 .9% 1em;
        vertical-align: top;
        text-decoration: none;
        background: #F3F3F3;
        border-radius: 2px;
        text-align:center;

        .widget-icon {
            margin-top: .25em;
            margin-bottom: .25em;
            font-size: 32px;
            color: #888;
        }

        .widget-label {
            display: block;
            font-weight: 400;
            color: #666;
        }
    }

    .action:hover {
        background: #E8E8E8;
    }
}

/* Generic
==================== */
body {
  background: @tanCity;
  padding-top: 0;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65em;
  margin: 0px;
  box-sixing: border-box;
  -webkit-box-sixing: border-box;
  @media (max-width: @breakTablet) {
    padding-left: 0;
    padding-right: 0;
  }
  .col-centered {
    float: none;
    margin: 0 auto;
  }
}

.row {
  margin-left: 0;
}

.page-content {
  .container {
    max-width: 1170px;
  }
}

.hide-mobile {
	display: none;
  @media (min-width: @breakDesktop ) {
		display: inline-block;
	}
}

.hide-tablet-up {
	display: inline-block;
  @media (min-width: @breakTablet ) {
		display: none;
	}
}

.hide-tablet-down {
	display: none;
  @media (min-width: @breakTablet ) {
		display: inline-block;
	}
}

.hide-desktop {
	display: inline-block;
  @media (min-width: @breakDesktop ) {
		display: none;
	}
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  color: @maroon;
  text-transform: uppercase;
  font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
}

h1 { font-size: @baseFontSize * 2; }
h2 { font-size: @baseFontSize * 1.75; }
h3 { font-size: @baseFontSize * 1.5; }
h4 { font-size: @baseFontSize * 1.25; }
h5 { font-size: @baseFontSize; }
h6 { font-size: @baseFontSize * 0.85; }
h1, h2, h3 { line-height: 1.4em; }

h1 small { font-size: @baseFontSize * 1.5; }
h2 small { font-size: @baseFontSize; }
h3 small { font-size: @baseFontSize; }
h4 small { font-size: @baseFontSize; }

p {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 1em;
}

ul > li > p:first-child {
  margin-bottom: 0;
}

a {
  color: @red;
  cursor: pointer;
  border-bottom: 1px dotted @red;
  &:hover {
    color: @maroon;
    .transition(0.35s);
    border-bottom: 1px solid @maroon;
    text-decoration: none;
  }
}

button, select {
  font-family: 'Open Sans', sans-serif;
  font-weight: normal;
}

label {
  text-transform: uppercase;
}

textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
input[type="submit"],
.uneditable-input {
  border: 2px solid @grayLighter;
  color: @grayDark;
  font-family: 'Open Sans', sans-serif;;
  font-size: @baseFontSize;
  text-indent: 6px;
  padding: 6px 5px;
  -webkit-appearance: none;
  .border-radius(2px);
  .box-shadow(none);
  .placeholder-color(@grayLight);
  .transition(~"border .35s linear, color .35s linear");

  // Alternate state
  // --------------------------------------------------
  .control-group.focus &,
  &:focus {
    border-color: @blueDark;
    .box-shadow(none);
  }

  .row-fluid & {
    height: 41px;
    width: 100%;
  }

  // Flat (without border)
  &.flat {
    border-color: transparent;
    &:hover {
      border-color: @grayLight;
    }
    &:focus {
      border-color: @blueDark;
    }
  }

  // Alternate Colors
  // --------------------------------------------------
  .control-group.error &   { .input-states(@danger) }
  .control-group.success & { .input-states(@greenDark) }
  .control-group.warning & { .input-states(@gold) }
  .control-group.info &    { .input-states(@blueLight) }

  .control-group & { margin-bottom: 0; }
}

input.fullwidth-input {
  width: 600px;
}

textarea.fullwidth-textarea {
  width: 100%;
}

// Textarea
textarea {
  height: auto;
  font-size: @baseFontSize * 1.071; /* 15px */
  line-height: 24px;
  padding: 5px 11px;
  text-indent: 0;

  .row-fluid & {
    height: auto;
    width: 100% !important;
  }
}

textarea[class*="span"] {
  width: 100% !important;
  .box-sizing(border-box);
}

header.main {
  z-index: 998;
  position: fixed;
  background-color: @blueSky;
}

.home > .landing-banner{
  .container {
    width: 100%;
  }
}

.python-footer-block {
  text-align: center;
  padding-top: 6em;
  @media (min-width: @breakTablet) {
    padding-top: 4em;
  }
  @media (min-width: @breakDesktopLarge) {
    padding-top: 1em;
  }
  .logo-block {
    position: relative;
    top: -1em;
    padding: 0 15px;
    @media (min-width: @breakTablet) {
      top: 1em;
    }
    @media (min-width: @breakDesktop) {
      top: 2em;
    }
    @media (min-width: @breakDesktopLarge) {
      top: 5em;
    }
    img.python-logo {
      display: block;
      margin: 0 auto 1em;
      @media (min-width: 979px) {
        margin-top: 1em;
      }
    }
  }
  img.footer-forest {
    width: 100%;
    height: auto;
  }
}

footer {
  background-color: @greenForest;
  color: white;
  font-size: .5em;
  text-align: center;
  padding: 3em 2em;
  position: relative;
  bottom: 0;
  height: auto;

  .footer-content {
    position: relative;
    top: 10px;
    padding-bottom: 20px;
    p {
      padding-top: 0;
      margin: 0 0 1.25em 0;
      font-size: @baseFontSize * .90;
      line-height: 1.8em;
      @media (min-width: @breakTablet) {
        font-size: @baseFontSize;
      }
      a {
        color: @tanCity;
        border-bottom: 1px dotted @tanCity;
        &:hover{
          border-bottom: 1px solid @tanCity;
        }
      }
    }
  }
}

.page-head {
  width: 100%;
  overflow: auto;
  @media (min-width: @breakDesktop) {
    margin-top: 2em;
  }
  @media (max-width: @breakTablet) {
    .container {
      padding-right: 20px;
      padding-left: 20px;
    }
  }
  img {
    width: 20%;
    height: 64px;
    top: 0;
    float: left;
    position: relative;
    display: none;
  }
  .container {
    background-color: @greenHill;
    padding: 0;
    min-height: 40px;
    margin-left: 0;
    position: initial;
    z-index: 1;
    @media (min-width: @breakDesktop) {
      min-height: 4em;
    }
  }
}

.page-content {
  margin-top: 2em;
  min-height: 500px;
  @media (max-width: @breakTablet) {
    padding-right: 20px;
    padding-left: 20px;
  }
  @media (min-width: @breakDesktop) {
    margin-top: 4em;
  }
  .box {
    padding-right: 25px;
  }
  .box-content {
    h3 {
      margin-top: 25px;
    }
    ul {
      li{
        line-height: 1.8em;
      }
    }
  }
}

#skip {
  height: 1px;
  left: -10000px;
  overflow: hidden;
  position: absolute;
  top: auto;
  width: 1px;
}

.is_required {
  content: '*';
  color: @danger;
}

.required-field:before{
  .is_required;
}

.top.alert {
  position: absolute;
  top: 20px;
  width: 80%;
  left: 10%;
  z-index: 999;
}

aside.list {
  text-align: left;
  padding: 15px 0;
  ul li {
    a {
      text-shadow: none;
      border-bottom: none;
      padding: .5em 1em;
      &:hover {
        background-color: @maroon;
        color: @white;
      }
    }
  }
}

.text-center {
    text-align: center;
}

/* Buttons
==================== */
.btn,
.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn-group > .popover {
  font-size: @baseFontSize + 1;
  font-weight: 600;
}

.btn {
  border: 3px solid @grayLighter;
  color: @white;
  background: @grayLight;
  line-height: 22px;
  text-decoration: none;
  text-shadow: none;
  .border-radius(2px);
  .box-shadow(none);
  .transition(0.35s);
  font-family: 'Open Sans', sans-serif;

  // Alternate states
  // --------------------------------------------------
  &:hover,
  &:focus,
  .btn-group:focus &.dropdown-toggle {
    background-color: @button-hover;
    color: @button-text;
    outline: none;
    .transition(0.35s);
    border-color: @white;
  }

  // Active State
  &:active,
  .btn-group.open &.dropdown-toggle,
  &.active {
    background-color: @button-active;
    color: fade(@button-text, 75%);
    .box-shadow(none);
  }

  // Disabled state
  &.disabled,
  &[disabled] {
    background-color: @grayLight;
    color: fade(@button-text, 75%);
    .box-shadow(none);
    .opacity(70);
  }

  // Button sizes
  // --------------------------------------------------

  // Large
  &.btn-large {
    font-size: @baseFontSize * 1.214; /* 17px */
    line-height: 20px;
    padding: 12px 18px 13px;
  }

  // Set the backgrounds
  // -------------------------
  &.btn-primary {
    .swap-button-color(@red, @button-primary-hover, @button-primary-active);
    border: none;
    color: @white;
    &:hover {
      border: none;
    }
  }
  &.btn-info    {
    .swap-button-color(@red, @button-info-hover, @button-info-active);
    border: none;
    color: @white;
  }
  &.btn-danger  {
    .swap-button-color(@danger, @button-danger-hover, @button-danger-active);
    border: none;
    color: @white;
  }
  &.btn-success {
    .swap-button-color(@red, @button-success-hover, @button-success-active);
    border: none;
    color: @white;
  }
  &.btn-warning {
    .swap-button-color(@goldDark, @button-warning-hover, @button-warning-active);
    border: none;
    color: @white;
  }
  &.btn-white {
    .swap-button-color(@white, @button-white-hover, @button-white-active);
  }

}

// Datatables buttongroup needs a little padding
div.DTTT.btn-group {
  padding: 2px 0px 4px;
  // and override the button colors that don't seem to get set above
  .btn {
    .swap-button-color(@blueDark, @button-primary-hover, @button-primary-active);
    color: fade(@button-text, 75%);
    font-weight: 600;
  }
}

/* Navigation
==================== */
header.main {
  padding: 1em 0 0;
  position: relative;
  width: 100%;
  box-shadow: none;
  @media (min-width: @breakDesktopLarge) {
    .navbar .nav li a {
      padding-right: 1.5em;
      font-size: @baseFontSize + 3;
    }
  }
  a.logo-smaller {
    display: none;
    @media (max-width: @breakDesktop) {
      display: inline-block;
      width: 120px;
      height: 75px;
      background:url(../img/PNG/pycon16-logo-small.png) no-repeat 0 0;
      text-indent: -9999px;
      display: block;
      background-size: 120px auto;
      margin: 0 0 1em 1.5em;
      border-bottom: none;
    }
  }
  .container {
    width :100%;
  }
  .navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret {
    border-top-color: @maroon;
  }
  nav {
    background: @blueSky;
    @media (min-width: @breakDesktop) {
      margin-top: 1em;
      padding-left: 20%;
    }
    a.logo-small {
      position:absolute;
      top: 5px;
      left: 0;
      width: 120px;
      height: 75px;
      background:url(../img/PNG/pycon16-logo-small.png) no-repeat 0 0;
      background-size: 120px auto;
      text-indent: -9999px;
      border-bottom: none;
      @media (min-width: @breakDesktop) {
        top: 15px;
        left: 5%;
        width :140px;
        height: 85px;
        background-size: 140px auto;
      }
      @media (max-width: @breakDesktop) {
          display: none;
      }
    }
    @media (min-width: @breakDesktop) {
      ul {
        width: 100%;
        z-index: 0;
      }
    }
    .container {
      position: relative;
    }
    .navbar {
      margin-bottom: 0;
      @media (max-width: @breakDesktop) {
        position: absolute;
        top: 0;
        right: 0;
        width :100%;
      }
      .btn-navbar {
        @media (max-width: @breakDesktop) {
          float: right;
          padding: 20px;
          margin: 0;
          .box-shadow(none);
          background-image: none;
          background-color: @red;
          border: none;
          border-radius: 0;
          &:hover {
            background-color: @maroon;
          }
          .icon-bar { box-shadow: none; }
        }
      }
      .navbar-inner {
        background: transparent;
        .box-shadow(none);
        padding: 0;
        border: none;
        @media (max-width: @breakDesktop) {
          margin: 0;
          padding: 0;
          .nav-collapse .nav {
            background-color: white;
            li.dropdown .dropdown-toggle:hover {
              background-color: @maroon;
              color: white;
            }
            li {
              .caret {
                border-top-color: @maroon;
              }
              &:hover {
                .caret {
                  border-top-color: white;
                }
              }
              a {
                padding: 1em;
                border-radius: 0;
                display: block;
                &:hover {
                  color: white;
                  background-color: @maroon;
                }
              }
            }
          }
        }
      }

      .nav {
        margin: 0;
        li {
           a {
            font-size: @baseFontSize + 1;
            font-weight:400;
            margin: 0 0 0 0 !important;
            padding: .5em .5em .5em 0;
            box-shadow: none !important;
            text-shadow: none;
            color: @maroon;
            font-weight: 400;
            border-bottom: 1px solid transparent;
            @media (min-width: @breakDesktop) {
              padding-right: 1em;
            }
            &:hover {
              color: @maroon;
              border-bottom: 1px solid @maroon;
              .transition(0.35s);
              &:focus {
              }
            }
            &:active {
              border-bottom: 1px solid @maroon;
            }
            &:focus {
              .caret {
                border-top-color: @maroon;
              }
            }
          }
          &.dropdown {
            ul {
              width: initial;
            }
            .dropdown-toggle {
              &:hover,
              &:focus,
              &:active {
                color: @maroon;
              }
            }
            .caret {
              border-top-color: @maroon;
            }
            &.open {
              .caret {
                border-top-color: @maroon;
              }
            }
          }
        }

        li.dropdown.active {
          a {
            color: @maroon;
            border-bottom: 1px solid @maroon;
          }
          .caret {
            border-top-color: @maroon;
          }
        }

        .dropdown-menu {
          margin: 8px 0 0 0;
          padding: 0;
          .transition(0.35s);
          border: 0;
          border-radius: 2px;
          &:after {
            top: -8px;
            border-bottom: 8px solid @white;
            .transition(0.35s);
          }
          &:before {
            display: none;
          }
          @media (max-width: @breakDesktop) {
            margin: 0;
            background-color: darken(@tanCity, 4%)
          }
          &:last-child {
            @media (max-width: @breakDesktop) {
              border-bottom: 2px solid #B3B3B3;
            }
          }
          li {
            &.active {
              a {
                color: @maroon;
                background-image: none;
              }
            }
            a {
              margin: 0;
              color: @grayDark;
              padding: 1em 1.75em;
              @media (max-width: @breakDesktop) {
                padding-left: 2em !important;
              }
              &:hover,
              &:active,
              &:focus {
                background-color: @maroon;
                color: @white;
                background-image: none;
              }
            }
          }
        }
      }
    }
  }
  @media (max-width: @breakDesktop) {
    .navbar-inverse .nav li.dropdown.open > a.dropdown-toggle {
      background-color: @maroon;
      color: white;
      .caret {
        border-top-color: white;
      }
    }
    header.main nav .navbar .navbar-inner .nav-collapse .nav li.dropdown.open ul a {
      padding-left: 2em;
    }
  }
  .account-bar {
    float: none;
    text-transform: uppercase;
    position: relative;
    background-color: white;
    @media (min-width: @breakDesktop) {
      margin: 0;
      float: right;
      position: absolute;
      top: -2em;
      right: 0;
      background-color: transparent;
      padding: 0;
      z-index: 1;
    }
    &.loggedin {
      @media (min-width: @breakDesktop) {
        position: relative;
      }
      span {
        margin-left: 1em;
        @media (min-width: @breakDesktop) {
          margin-left: 0;
        }
      }
    }
    .account-links {
      button.logout,
      a {
        &.login,
        &.logout,
        &.signup {
          padding: 1em !important;
          height: 100%;
          border-radius: 0;
          background-color: @red;
          font-weight: 400;
          color: white;
          display: block;
          position: relative;
          text-align: left;
          &:hover {
            background-color: @maroon;
          }
          @media (min-width: @breakDesktop) {
            display: inline-block;
            text-align: center;
          }
        }
      }
    }
    .login {
      right: 0;
      border-bottom: 1px solid @maroon;
      @media (min-width: @breakDesktop) {
        right: -5px;
        border-right: 2px solid @maroon;
        border-bottom-color: @red;
      }
    }

    span { color: @grayDark; }

    form {
      display: inline;
      margin: 0;
      padding: 0;
        button[type=submit] {
        margin-left: 15px;
        border: none;
        font-size: 100%;
        text-transform: uppercase;
        @media (max-width: @breakDesktop) {
          margin: 1em 0 0;
          width: 100%;
        }
      }
    }
  } /* End Account Bar */
}

h1 {
  padding-bottom: 5px;
}
ul.breadcrumb {
  background: transparent;
  font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
  font-weight: 400;
  li {
    text-shadow: none;
    a {
      color: white;
      border-bottom-color: white;
    }
  }
  .active, > .divider {
    color: white;
  }
}

/* Homepage
==================== */
body.home {
  min-width: 100%;
  margin: 0;
  .logo-small,
  .page-head {
    display: none;
  }
  header.main {
    a.logo-smaller {
      display: none;
      @media (max-width: @breakMobileLandscape) {
        .account-links {
          span { display: block; }
        }
      }
    }
  }
  nav {
    padding-left: 0;
    .navbar {
      margin-bottom: 0;
      .nav {
        margin: 0;
        @media (min-width: @breakDesktop) {
          width: 92%;
          margin-left: 8%;
        }
      }
      .navbar-inner {
        margin: 0;
      }
    }
  }
  .landing-banner {
    background-color: @blueSky;
    .span3 {
      margin: 0;
    }
    img {
      display: block;
      margin: 0 auto;
      width: 85%;
      @media (min-width: @breakDesktop) {
        padding: 4em 0 1em;
  			width: 100%;
      }
      @media (max-width: @breakDesktop) {
        padding: 7em 0 3em;
      }
    }
    .by-the-com,
    .for-the-com,
    .by-for-the-com {
      float: left;
      margin-top: 11.5em;
      font-family: 'roboto condensed', sans-serif;
      font-weight: 700;
      p {
        display: table;
        color: @greenDark;
        margin: 0 auto;
        text-align: center;
        text-transform: uppercase;
        font-size: @baseFontSize * 1.5;
        border-top: 1px solid @greenDark;
        border-bottom: 1px solid @greenDark;
      }
    }
    @media (min-width: @breakDesktop) {
      .by-the-com,
	    .for-the-com {
	      float: left;
	      font-family: 'roboto condensed', sans-serif;
	      p {
	        display: table;
	        margin: 0 auto;
	      }
	    }
    }
    @media (min-width: @breakDesktopLarge) {
      .by-the-com,
	    .for-the-com {
        margin-top: 12.5em;
      }
    }
    .by-the-com {
      float: left;
    }
    .for-the-com {
      float: right;
    }
    .by-for-the-com {
      margin-top: 1em;
      margin-bottom: 3em;
      p {
        font-size: @baseFontSize * 1.5;
        @media (min-width: 480px) {
          font-size: @baseFontSize * 1.85;
        }
      }
    }
  }

  /* Hills
  ==================== */
  .landing-hills {
    margin-left: 0 !important;
    .hills img {
      min-width: 100%;
      height: auto;
      margin-right: -30px;
    }
  }

  .about {
    color: white;
    background-color: @greenHill;
    text-align: center;
    font-weight: 400;
    padding: 3em 0;
    @media (min-width: @breakMobileLandscape) {
      padding-bottom: 5em
    }
    p {
      font-size: @baseFontSize * 1.65;
      line-height: 1.75;
      @media (max-width: @breakDesktop) {
        font-size: @baseFontSize * 1.1;
        line-height: 1.85em;
      }
    }
    h2 {
      color: white;
    }
    a {
      color: white;
      border-bottom:1px dotted white;
      &:hover {
        border-bottom-style: solid;
      }
    }
  }

  .city {
    background-color: @greenHill;
    img.skyline {
      width: 100%;
      height: auto;
    }
  }

  .schedule-overview {
    padding-left: 0;
    padding: 4em 0 2em ;
    @media (max-width: @breakTablet) {
      padding: 60px 0 0;
    }
    .container { float: none; }
    .schedule {
      text-align: center;
      float: left;
      .schedule-icon {
        margin-bottom: 1em;
      }
      h3 .dates { font-weight: 400; }
      p {
        margin-bottom: 3em;
        @media (max-width: @breakDesktop) {
          font-size: @baseFontSize * 1.1;
          line-height: 1.85em;
        }
      }
    }
  }

  .register {
    margin-bottom: 3em;
    .register-banner {
      background: url("/2016/site_media/static/img/PNG/Register-Banner.png") center center no-repeat;
      background-size: 100% 100%;
      width: 100%;
      margin: 1em auto;
      text-align: center;
      padding: 1.5em 0;
      font-size: @baseFontSize * .75;
      @media (min-width: @breakTablet) {
        width: 50%;
        padding: 2em;
      }
      @media (min-width: @breakDesktop) {
        width: 35%;
        padding: 2.2em 2em 1.7em;
        margin: 0 auto 2em;
      }
      .promo {
        @media (max-width: @breakDesktop) {
          &.no-link {
            top: 20px;
          }
        }
        p, a {
          color: white;
          font-family: 'Roboto Condensed', Helvetica, Arial, sans-serif;
          font-weight: 700;
          text-transform: uppercase;
          font-size: @baseFontSize * 2;
          text-decoration: none;
          border-bottom: none;
        }
      }
    }
  }

  .past-pycon-announcements {
    overflow: auto;
    .half {
      @media (max-width:@breakDesktop) {
        width: 100%;
      }
      @media (min-width:@breakDesktop) {
        width: 50%;
      }
    }
    .pycon-past,
    .pycon-announcements {
      @media (min-width:@breakDesktop) {
        float: left;
      }
      h2 {
        text-align: left;
      }
    }

    .pycon-past {
      overflow: auto;
    }

    .pycon-announcements {
      height: 510px;
      margin-bottom: 2em;
      width: 100%;
      @media (min-width:@breakMobileLandscape ) {
        height: 400px;
        width: 50%;
      }
      .announcement-bg {
        position: absolute;
        height: 470px;
        width: 94%;
        right: 3%;
        @media (min-width:@breakMobileLandscape ) {
          height: 370px;
          width: 98%;
          right: 1%;
        }
        @media (min-width:@breakDesktop ) {
          width: 49%;
          right: 0;
        }
        img.announcement-banner {
          width: 100%;
          height: 100%;
        }
      }
      .post-content {
        padding: 0.5em;
        @media (min-width:@breakDesktop ) {
          padding: 0.5em 3em;
        }
        @media (min-width:@breakDesktopLarge ) {
          padding: 0.5em 5em 0.5em 3em;
        }
      }
      .blog-post {
        padding: 15px;
        overflow: auto;
        color: white;
        text-align: left;
        z-index: 1;
        position: absolute;
        overflow: auto;
        @media (min-width:@breakTablet) and (max-width:@breakDesktop) {
					padding: 1em 10% 1em 0;
				}
        h3 {
          color: white;
          margin-top: 0;
          padding-left: 0;
        }
        p.post_dateline {
          color: white;
          span.author {
            color: white;
          }
        }
        a {
          color: white;
          border-bottom: 1px dotted white;
          &:hover {
            border-bottom: 1px solid white;
          }
        }
        .post_dateline {
          color: #98a1a3;
          text-transform: uppercase;
          font-size: 0.8em;
          font-weight: 600;
        }
      }
    }
  }
  .hidden-breakDesktop {
    @media (max-width: @breakDesktop) {
        display: none;
      }
  }
  .hidden-breakTablet {
    @media (max-width: @breakTablet) {
      display: none;
    }
  }
} /* End Homepage */

/* Sponsor Carousel
==================== */
.sponsor-crawl {
  padding: 3em 0;
  width: 100%;
  max-width: 1170px;
  @media (max-width: @breakMobileLandscape) {
    padding: 20px 0;
  }
  .carousel {
    margin-bottom: 0;
    .item {
      .transition(.7s ease-in-out opacity);
      left: 0 !important;
    }
    .next.left, .prev.right {
      opacity: 1;
      z-index: 1;
    }
    .active.left, .active.right {
      opacity: 0;
      z-index: 2;
    }
    /* Slideshow nav
    ==================== */
    nav#slider-nav {
      position: absolute;
      left: 0;
      right: 0;
      margin-left: auto;
      margin-right: auto;
      text-align: center;
      width: 300px;
      a {
        text-indent: -9999px;
        width: .5em;
        height: .5em;
        margin: 2em 1em 0 0;
        background-color: #CCC;
        .border-radius(50%);
        display: inline-block;
        border-bottom: none;
        &:hover {
          background-color: #999;
        }
        &.activeSlide {
          background-color: #999;
        }
      }
    }
    .carousel-inner {
      div.item {
        width: 100%;
        padding: 10px 0 40px 0;
        height: 150px;
      }
    }
  }
}

ul#slider {
  display: block;
  width: 100%;
  height:120px; /* 260px - actual height */
  overflow: hidden;
  list-style: none;
  margin: 0;
  padding: 0;

  li {
    display:none;
    .scroll-title,
    .scroll-title-first {
      text-align: center;
      @media (max-width: @breakTablet) {
        font-size: 30px;
        margin: 20px 0 5px;
      }
    }

    li.first {
      display:block;
    }

    a {
      display:block;
      float:left;
      width: 14%;
      margin: .5em 1.32%;
      height: 100px;
      margin: 1.25%;
      background-size: 95px auto;
    }

    .sp-logo {
      display:block;
      height:70px;
    }

    img {
      margin:0 0 10px 19px;
    }

    .level {
      display:block;
      margin:0 0 10px 19px;
      padding:5px 0 0 0;
      width:100px;
      text-align:center;
      text-transform:uppercase;
      color:#666;
      font-size:11px;
    }
  }
}

.scroll-title {
  text-align: center;
}
.scroll-title-first {
  margin: 0 0 5px;
  text-align: center;
}

.sponsor-scroll-item {
  cursor: pointer;
  float:left;
  width: 14%;
  margin: .5em 1.32%;
  height: 100px;
  background: darken(@tanCity, 4%) center center no-repeat;
  background-size: 95px auto;
  @media (max-width: @breakDesktopLarge) {
    width: 21%;
    margin: .5em 2%;
  }
  @media (max-width: @breakTablet) {
    width: 46%;
    margin: .5em 2%;
  }
}

.slider-nav {
  margin: 0 auto;
}
/* End Sponsor slideshow */

/* labels
==================== */
.label-important, .badge-important {
  background-color: @redDark;
}
.label-info, .badge-info {
  background-color: #27a9e1
}

/* Sponsorship List
==================== */
body.sponsors {
  .page-head {
    a.read-more {
      @media (max-width: @breakMobileLandscape) {
        font-size: 11px;
        width: 225px;
      }
      .btn;
      .btn-primary;
      margin-top: 10px;
      margin-bottom: 0;
      display: block;
      width: 275px;
    }
  }
  &.apply .page-content {
    text-align: left;
  }
  .page-content {
    text-align: center;
    h2 {
      font-weight: 800;
      padding: 15px 0;
      font-size: 32px;
    }
    .sponsor {
      border: 1px solid #d2d2cb;
      .box-shadow( none );
      .border-radius(2px);
      padding:1px;
      background:@white;
      margin-bottom:20px;

      .sponsor-content {
        padding:15px;
        height:450px;
        overflow:auto;
        @media (max-width: @breakTablet) {
          min-height: 250px;
          height: auto;
        }
      }

      h3 a {
        border-bottom: none;
      }

      h4 {
        font-size:@baseFontSize + 3;
        line-height:30px;
      }
    }

    @media (min-width: 768px) {
      .span4 {
        width: 45%;
        margin: 0 2.5%;
      }
      .offset4 {
        margin: 0 27.5%;
      }
      .offset2 {
        margin-left: 27.5%;
      }
    }
    @media (min-width: 979px) {
      .span4 {
        width: 30%;
        margin: 0 1.66%;
      }
      .offset4 {
        margin: 0 35%;
      }
      .offset2 {
        margin-left: 18.5%;
      }
    }
  }
}

/* Venue
==================== */
body.venue {
  p.intro {
    font-size: @baseFontSize + 1;
    margin: 15px 0 25px 0;
    font-style: italic;
  }
  .map-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
    iframe {
      border: 1px solid #ddd;
    }
    iframe, object, embed {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
    }
    a {
      font-size: @baseFontSize - 2;
    }
  }

  .hotels {
    margin-top: 30px;
    h2 {
        margin-bottom: 0;
    }
    .place a {
        .btn;
        .btn-primary;
    }
  }
  .nav-list > .active > a, .nav-list > .active {
    background-color: @maroon;
  }
}

/* CMS Pages
==================== */
body.cms-page {
  h1, h2, h3, h4, h5, h6 {
    text-transform: capitalize;
  }
  h1 {
    font-size: 2.4em;
  }
  h2, h3, h4, h5, h6 {
    padding-top: .8em;
    line-height: 1.4em;
  }
  .edit-btn {
    .btn;
    .btn-primary;
    font-weight: 300;
    margin-bottom: 25px;
  }
  &.editable {
    .box-content {
      border: 1px dashed  @grayLight;
    }
  }
  &.editable-form {
    form {
      label {
        margin-top: 30px;
        &[for=id_title] {
          margin-top: 0;
        }
      }
      input[type=submit] {
        .btn;
        .btn-primary;
      }
      textarea {
        resize: none;
        width: 649px;
        .border-radius(0 0 8px 8px);
      }
      .bottom-preview {
        width: 645px;
        border: 2px dashed @grayLighter;
      }
    }
  }
  .page-content {
    .container {
      float: none;
      @media (min-width: @breakTablet) {
        width: 76%;
        margin: 0 12%;
      }
      @media (min-width: @breakDesktop) {
        width: 60%;
        margin: 0 20%;
      }
    }
  }
  .sponsor-crawl {
    padding-top: 5em;
  }
  .box-content p {
    font-size: @baseFontSize * 1.15;
    line-height: 1.85em;
    margin-bottom: 1.25em;
    @media (min-width: @breakTablet) {
      font-size: @baseFontSize * 1.5;
    }
  }
}
/*  Retina media query.
  Overrides styles for devices with a
  device-pixel-ratio of 2+, such as iPhone 4.
=========================================== */

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

  h3.logo a {
    width: 213px;
    height: 63px;
    background-image: url(../img/pycon2014-logo_sub@2x.png);
    background-size: 213px 63px;
  }

  // body.home .sky .logo {
  //   background-image: url(../img/pycon2014-logo@2x.png);
  //   background-size: 522px 105px;
  // }
  .montreal {
    background: url("../img/montreal@2x.png") no-repeat scroll 0 0 transparent;
    height: 230px;
    width: 827px;
  }
  .page-head .skyline {
    background: url('../img/pagehead-bkg@2x.png') no-repeat;
    background-size: 500px 70px;
  }
}

/* Auth pages
==================== */
body.auth {
  .dashboard-top {
    p {
      font-size: 18px;
      font-style: italic;
    }
  }
  .box {
    form {
      .help-block {
        font-style: italic;
        color: @grayLight;
      }
      .control-group {
        .controls {
          margin-bottom: 25px;
          .input-prepend {
            .add-on {
              padding: 7px 5px;
              z-index: 999;
              left: 2px;
              position: relative;
            }
            input {
              z-index: 1;
            }
          }
        }
        .markedit textarea {
          width: 600px;
          .border-radius(0 0 8px 8px);
          resize: none;
          margin-bottom: 15px;
        }

        .markedit-toolbar {
          width: 615px;
        }

        .markedit-preview {
          width: 595px;
          margin-bottom: 15px;
          background: transparent;
          border: 2px dashed @grayLighter;
          word-wrap: break-word;
        }
      }
    }
  }
  form {
    textarea {
      width: 600px;
    }
  }
}
.form-actions {
  background-color: darken(@tanCity, 4%);
  input[type=submit] {
    .btn;
    .btn-primary;
    border: 1px solid @red;
    .border-radius(4px);
    line-height: 24px;
    &:hover {
      border: 1px solid @redDark;
    }
  }
}

/* Boxes
==================== */
.content-box {
  hr {
    border-color: @grayLighter;
  }
  &.editable {
    border: 1px dashed #bbb;
    padding: 5px;
    min-height: 40px;
  }
}
.edit-toggle {
    position: relative;
    float: right;
}

section.widget {
  padding:0 0 10px 0;
  margin-bottom:20px;

  &.last {
    background:none;
  }

  h4 {
    font-weight:uppercase;
    margin-bottom:10px;
    font-size:16px;
  }
}

// Markdown editor styles
[id*="edit_"] {
  &.modal {
    width: 600px;
    margin-left: -250px;
    textarea {
      resize: none;
      width: 95%;
    }
    .bottom-preview {
      margin-bottom: 50px;
      width: 95%;
    }
  }
}

/* Sign Up + Login
==================== */
body.signup, body.login {
  aside {
    text-align: left;
  }
  .top-banner {
    .row {
      height: 0;
    }
  }
  .page-content {
    margin-top: 0;
    @media (max-width: @breakTablet) {
      .box {
        border: none;
      }
    }
  }
  form {
    button[type=submit] {
      .btn;
      .btn-success;
    }
    .forgot {
      margin-top: 15px;
    }
  }
}

/* Team
==================== */
body.team {
  form.membership {
    float: left;
    margin: 0 15px 15px 0;
    .clearfix;
  }
  h2 {
    margin-top: 50px;
  }
}


/* Below styles for to-be-styled in Phase 2 */

/* Speaker profile
==================== */
.avatar {
  float:left;
  margin:0 20px 0 0;
  border:1px solid #d2d2cb;
  padding:2px;
}

.speaker-details {
  float:left;
  width:430px;
}

.presentation {
  //border-left: 2px solid @yellow;
  padding-left:10px;
  margin-bottom:5px;
}

/* Reviews
==================== */
.nav {
    margin-bottom: 0px;
}

.table-reviews {
    font-size: 12px;
}

div.tab-content {
    background: @white;
    padding: 20px 30px;
    border: 1px solid #ddd;
    border-top: none;
    .border-radius(0 0 4px 4px);
    .box-shadow(~"0 1px 1px rgba(0,0,0,0.1)");
}

dd {
    margin-bottom: 1.5em;
}

div.review-box {
    padding: 10px;
    background: #fafafa;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    width: 500px;
    .border-radius(4px);
    .box-shadow(~"0 1px 1px rgba(0,0,0,0.1)");

    div.vote {
        margin-top:10px;
        width: 50px;
    }
    div.vote span {
        font-size: 18pt;
        font-weight: 600;
        text-shadow: 1px 1px 2px rgba(255,255,255,.5);
    }

    div.review-content {
        margin-left: 60px;
    }
}

div.comment-box {
    padding: 10px;
    background: #fafafa;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    width: 500px;
    .border-radius(4px);
    .box-shadow(~"0 1px 1px rgba(0,0,0,0.1)");

    &.private {
      background: @blueLight;
    }
}

.dashboard-panel {
    position: relative;
    clear: both;
    width: auto;
    margin-bottom: 2em;
    overflow: hidden;

    .dashboard-panel-header {


        position: relative;
        height: 40px;
        line-height: 40px;
        #gradient > .vertical(#FAFAFA, #E9E9E9);
        border: 1px solid #D5D5D5;
        .border-radius(4px 4px 0 0);
        -webkit-background-clip: padding-box;

        .header-actions {
            padding-right: 10px;
        }

        h3 {
            position: relative;
            top: 2px;
            left: 10px;
            display: inline-block;
            margin-right: 3em;
            font-size: 14px;
            font-weight: 600;
            color: @grayDark;
            line-height: 18px;
            text-shadow: 1px 1px 2px rgba(255,255,255,.5);
        }

        > [class^="icon-"], > [class*=" icon-"] {
            display: inline-block;
            margin-left: 13px;
            margin-right: -2px;
            font-size: 16px;
            color: @grayDark;
            vertical-align: middle;
        }
    }

    .dashboard-panel-content {
        padding: 40px 15px 15px;
        border: 1px solid #D5D5D5;
        .border-radius(2px);
        .box-shadow(0 1px 1px rgba(0, 0, 0, 0.1));
        background-color: @white;

        h3 {
            font-size:@baseFontSize + 6;
            font-weight: 800;
            line-height: 20px;
            margin-bottom:20px;
        }

        .actions()
    }

    .dashboard-panel-header + .dashboard-panel-content {
        border-top: none;
        padding-top: 20px;
        .border-radius(0 0 4px 4px);
    }
}

/* Job fair
==================== */
body.job-fair {
  a.read-more {
      .btn;
      .btn-success;
        margin-top: 10px;
        margin-bottom: 30px;
        background-color: @greenForest;
        &:hover {
          background-color: @greenDark;
        }
      display: block;
      width: 275px;
    }
  .job-post {
    border:1px solid #d2d2cb;
    .box-shadow(0 2px 2px rgba(0, 0, 0, 0.15));
    .border-radius(2px);
    padding:1px;
    background:@white;
    position:relative;
    margin-bottom:20px;

    .post-content {
      border:3px solid #f7f7f3;
      padding:15px;
      overflow:auto;
    }

    h5 {
      font-size:@baseFontSize + 3;
      line-height:30px;
    }
  }
}

/* Sponsors Apply
==================== */
body.sponsors-apply {
  .top-banner {
    .row {
      height: 0;
      img {
        position: relative;
        top: -180px;
        max-width: 930px;
        -webkit-transform: translate(-50%,0);
        -moz-transform: translate(-50%,0);
        -ms-transform: translate(-50%,0);
        margin-left: 50.5%;
      }
    }
  }
}


/* Calendar
==================== */
#content_schedule_top {
  table {
    width: 100%;
    border: 1px solid #dddddd;
    background-color: @tanLight;
    font-size: 12px;
    td {
      padding-left: 0;
      padding-right: 0;
    }
  }
}

table.calendar {
  background-color: @tanLight;
  table-layout: fixed;
  font-size: 12px;

  tr {
    min-height: 36px;
  }

  th {
    text-align: center;

    &.time {
      width: 60px;
    }
  }

  td {
    text-align: center;
    vertical-align: middle;
    background-color: @tanLight;

    &.time {
      vertical-align: top;
      padding-top: 6px;
      padding-bottom: 34px;
      margin-top: 0;
      color: #333333;
      font-size: 12px;
      font-weight: 600;
    }

    .title > a {
      color: @gold;
      &:hover {
        color: @goldDark;
      }
    }

    .badges > .btn {
      border: 2px solid @maroon;
      border-radius: 4px;
      background-color: white;
      color: @maroon;
      padding: 1px 8px;
      &:hover {
        background-color: @maroon;
        border: 2px solid @maroon;
        color: white;
      }
    }

    &.slot {
      font-weight: 600;
      background-color: @tanLight;

      &.slot-Breakfast, &.slot-Break, &.slot-Lunch { background-color: @gold; color: white;}
      &.slot-plenary, &.slot-lightning { background-color: @greenHill; color: white;}
      p {
        padding: 0;
        margin: 0;
      }
    }

    &.slot-talk {
      vertical-align: top;
    }

    span.title {
      font-weight: 600;
      display: block;
      color: @greenDark;
    }
    span.speaker {
      font-weight: 400;
      display:block;
      font-size: 10px;
      line-height: 14px;
      margin: 2px 0 5px;
      color: @maroon;
    }
  }
}

/* Financial Aid
==================== */
body.finaid {

  .top-banner {
    .row {
      height: 0;
      img {
        position: relative;
        top: -180px;
        max-width: 930px;
        -webkit-transform: translate(-50%,0);
        -moz-transform: translate(-50%,0);
        -ms-transform: translate(-50%,0);
        margin-left: 50.5%;
      }
    }
  }

  &#application_list {
    form#applicant-list {
      th { cursor: pointer;
        &:hover { background-color: @grayLighter; }
        &:first-child:hover {
          background-color: transparent;
          cursor: default;
        }
      }
      .filter {
        .clearfix;
        padding: 15px 0;
        .sort {
          float: left;
          select { width: auto; }
          label { margin: 5px 0 0 0; }
        }
        .search { float: right;}
      }
      .table-pagination {
        .clearfix;
        float: right;
      }
      .actions { float: left; }
    }
  }

  &#finaid_review {
    .box-content {
      header {
        padding: 15px 0 25px;
        h2, h3 { margin: 0; }
      }
      .applicant {
        border-right: 1px solid @grayLighter;
        padding-right: 50px;
        ul {
          padding: 8px 0;
          li {
            line-height: 1.6;
            ul {
              padding: 15px;
              background-color: @grayLighter;
              .border-radius(2px);
              margin-bottom: 20px;
            }
          }
        }
        .applicant-info {
          li {
            padding-bottom: 20px;
          }
        }
      }
      .review-form {
        padding-left: 25px;
        label {
          text-transform: none;
          font-weight: bold;
        }
      }
    }
  }
}

/* Group Registration
==================== */
body#group-registration {
  #registration-messages {
    .alert {
      color: @white;
      a, a:hover {
        color: @white;
        text-decoration: underline;
        margin-left: 5px;
      }

      &.alert-success {
        background-color: #27A9E1;
      }
      &.alert-error {
        background-color: @danger;
      }
    }
  }
  #registration-instructions {
    margin-bottom: 20px;
  }

  #registrations-container {
    #registrations {
      form {
        margin-bottom: 10px;

        .form-control {
          margin-right: 10px;
        }
        .remove-line {
          border: none;
          cursor: pointer;
          font-weight: bold;
        }
        .text-error {
          color: #b94a48;
        }
      }
    }
    #add-line {
      border: none;
      margin-bottom: 20px;
    }
    #bottom-actions {
      height: 30px;
    }
    table {
      border-collapse: collapse;

      th, td {
        border: 1px solid black;
        padding: 4px 10px;
      }
    }
  }
}

/* Additional Flickity Gallery Styling */

.js-flickity {
  width: 100%;
  margin: 0;
  float: left;
  position: relative;
  margin-bottom: 1em;
  &:focus {
    outline: none;
  }
  .flickity-viewport {
    overflow: hidden;
    height: 224px;
  }
  .flickity-slider {
    transform: translate(0);
    text-align: center;
  }
  .flickity-prev-next-button {
    border: none;
    width: 50px !important;
    position: absolute;
    top: 27%;
  }
  .next {
    right: .25em;
  }
  .previous {
    left: .25em;
  }
  /* Style Options */
  .gallery-cell {
    width: 100%; /* full width */
    height: 160px; /* height of gallery */
    margin-right: 10px;
  }
  /* big buttons, no circle */
  .flickity-prev-next-button {
    width: 100px;
    height: 100px;
    background: transparent;
  }
  .flickity-prev-next-button:hover {
    background: transparent;
  }
  /* arrow color */
  .flickity-prev-next-button .arrow {
    fill: white;
  }
  .flickity-prev-next-button.no-svg {
    color: white;
  }
  /* hide disabled button */
  .flickity-prev-next-button:disabled {
    display: none;
  }
  ol.flickity-page-dots {
    margin-left: 0;
    li {
      list-style: none;
      width: 0.5em;
      height: 0.5em;
      background-color: #ccc;
      border-radius: 50%;
      display: inline-block;
      margin: 1em 1em 0 0;
      &.is-selected {
        background-color: #999;
      }
    }
  }
}

/* Flickity Viewport
======================= */

@media (min-width: @breakDesktop) {
	.js-flickity {
		.flickity-viewport {
			height: 370px !important;
		}
		.flickity-prev-next-button {
			top: 34%;
		}
	}
} /* End Flickity */

body {
  .page-head {
    img {
      @media (min-width: @breakDesktop) {
        display: inline-block;
      }
    }
    .container {
      width: 100%;
      margin-top: .5em;
      @media (min-width: @breakTablet) {
        width: 100%;
      }
      @media (min-width: @breakDesktop) {
        width: 80%;
        margin: 0;
        float: right;
      }
    }
  }

  ul.breadcrumb {
    padding :1em 1.25em;
    margin: 0;
    font-size: 10pt;
  	@media (min-width: @breakDesktop) {
      padding: 1.2em 0;
      font-size: initial;
  	}
{'fraction_non_alphanumeric': 0.15493122187314257, 'fraction_numerical': 0.03291373015199117, 'mean_word_length': 1.6059189600331905, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 37, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 8, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5771989', 'n_tokens_mistral': 35794, 'n_tokens_neox': 32593, 'n_words': 6773}