@font-face {
  font-family: 'bebasneue';
  src: url("../fonts/bebasneue-webfont.2c0eecbe3ce3.eot");
  src: url("../fonts/bebasneue-webfont.2c0eecbe3ce3.eot?#iefix") format('embedded-opentype'),
    url("../fonts/bebasneue-webfont.647b0a8837d9.woff2") format('woff2'),
    url("../fonts/bebasneue-webfont.4f76c0a8ecc2.woff") format('woff'),
    url("../fonts/bebasneue-webfont.950453239dc7.ttf") format('truetype'),
    url("../fonts/bebasneue-webfont.558d771b8153.svg#bebas_neueregular") format('svg');
  font-weight: normal;
  font-style: normal;

}

html {
  overflow-x: hidden;
}

body {
  padding-top: 50px;
  background: #000;
  color: #fff;
}

body>div {
  overflow: hidden;
}

.container {
  width: 100%;
  max-width: 1920px !important;
}

.bottom {
  margin-bottom: 0;
}

a.anchor {
  display: block;
  position: relative;
  top: -50px;
  visibility: hidden;
}

h1,
h2,
h3,
h4 {
  font-family: 'bebasneue';
}

h2 {
  color: #fff;
  font-size: 3rem;
  line-height: 3rem;
}

@media only screen and (min-width : 768px) {
  h2 {
    font-size: 6rem;
    line-height: 6rem;
  }
}

h2 span,
h3 span,
h4 span {
  color: #ec5d23;
}

.home-content p {
  font-size: 1.5rem;
}

.home-content .h3,
h3 {
  font-size: 2.5rem;
}

@media only screen and (min-width : 768px) {
  .home-content p {
    font-size: 2rem;
    max-width: 900px;
  }
}

.home-content ul {
  padding-left: 20px;
}

.home-content ul li {
  font-size: 1.5rem;
}

@media only screen and (min-width : 768px) {
  .home-content ul li {
    font-size: 2rem;
  }
}

.internal-content p {
  font-size: 1.6rem;
}

.internal-content ul li {
  font-size: 2rem;
}

.internal-content a {
  color: #ec5d23;
  text-decoration: underline;
}

.navbar {
  background: #ec5d23;
  color: #fff;
}

.navbar-nav a {
  color: #fff;
  font-family: 'bebasneue';
  font-size: 2.24rem;
  padding-left: 5px;
  padding-right: 5px;
}

@media only screen and (max-width : 768px) {
  .navbar-nav>li>a {
    padding-left: 15px;
  }
}

@media only screen and (min-width : 900px) {
  .navbar-nav>li>a {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.navbar {
  display: flex !important;
  align-items: center;
}

.navbar-nav>li {}

@media only screen and (min-width : 768px) {
  .navbar-nav>li {
    float: none !important;
    display: inline-block;
  }
}

.navbar-nav>li>a:hover,
.navbar-nav>li>a:active {
  color: #000;
  background: transparent;
}

.navbar-nav li div.dropdown {
  padding: 9px 0;
}

@media only screen and (min-width : 768px) {
  .navbar-nav li div.dropdown {
    padding: 0;
  }
}

.navbar-nav li a {
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 11px;
  padding-right: 11px;
  text-decoration: none;
}

div.dropdown.open ul.dropdown-menu li a {
  padding-top: 8px;
  padding-bottom: 8px;
}

.nav .open>a,
.nav .open>a:focus,
.nav .open>a:hover {
  background: none;
  border: none;
}

@media only screen and (min-width : 768px) {
  .navbar-nav {
    float: right;
  }
}

nav.navbar.navbar-fixed-top .icon-bar {
  background-color: #fff;
}

.navbar .social-icons {
  float: left;
  font-size: 18px;
  height: 50px;
  line-height: 20px;
  padding: 10px;
  width: 140px;
}

.navbar .social-icons img {
  width: 24%;
}

.header-buttons {
  float: right;
  display: flex;
  align-items: center;
  height: 50px;
}


@media only screen and (min-width : 768px) {
  .header-buttons {
    float: left;
  }
}

.header-buttons a {
  display: block;
  color: #fff;
  font-family: 'bebasneue';
  font-size: 1.23rem;
  text-decoration: none !important;
  background: #000;
  padding: 5px;
}

@media only screen and (min-width : 768px) {
  .header-buttons a {
    font-size: 1.8rem;
  }
}

.header-buttons a:hover {
  background: #444;
}

.header-buttons a {
  margin-right: 5px;
}

.header-buttons a:last-child {
  margin-right: 0;
}

.header-buttons .header-reel-love-button {
  background: transparent !important;
}

.header-buttons .header-reel-love-button img {
  width: 100px;
}

.mobile-header-buttons a {
  display: block;
  float: left;
  color: #fff;
  font-family: 'bebasneue';
  font-size: 2.24rem;
  text-decoration: none !important;
  background: #000 !important;
  padding: 5px;
  margin-left: 5px;
}

.mobile-header-buttons a:hover {
  color: #fff !important;
}

.row-no-padding [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.small-banner {
  background: url("../img/main_banner_background.dcbb060512eb.jpg") no-repeat;
  background-size 100% 100%;
  width: 100%;
}


.main-banner {
  background: url("../img/main_banner_background_mobile.1544c1548bff.jpg") repeat;
  text-align: center;
  height: 100%;
}

@media only screen and (min-width : 768px) {
  .main-banner {
    background: url("../img/main_banner_background.dcbb060512eb.jpg") repeat;
  }

}

.internal-banner {
  background: url("../img/internal_header_background.2c76878a9491.jpg") repeat;
  background-size: contain;
  margin-top: -3%;

}


.internal-banner h2 {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
  font-size: 8rem;
  margin: 0;
  text-transform: uppercase;
}

.internal-pavement {
  margin-top: -3%;
}

.small-banner {

  text-align: center;
  height: 100%;
}

.main-banner img {
  width: 80%;
  margin: 0 auto;
  position: relative;
  bottom: 0;
  left: 0;
}

@media only screen and (min-width : 768px) {
  .main-banner img {
    width: 100%;
  }
}

.internal-banner img {
  margin-top: 0;
}

.home-header-image {
  width: 50%;
  height: 50%;
  float: left;

  background-size: cover !important;
  cursor: pointer;
}

.internal-header-image {
  width: 100%;
  height: 100%;
  float: left;
}


.home-header-bottom-video {
  width: 50%;
  height: 50%;
  float: left;

  background-size: cover !important;
  cursor: pointer;
}

.attend-header-image {
  background: url("../img/attend_header.2b8d0e23ca53.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.films-header-image {
  background: url("../img/films_header.cceb8ab51d85.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.calendar-header-image {
  background: url("../img/calendar_header.17e2f6dddad3.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

.team-header-image {
  background: url("../img/team_header.ed933c86cbd6.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}


.film-strip {
  height: 100%;
  min-height: 100px;
  background: url("../img/film_strip.a10a478cd006.png") repeat-y;
  background-position: center;
}

.banner-aligned-film-strip {
  height: 30%;
  min-height: 100px;
  background: url("../img/banner_aligned_film_strip.d6191daeca5e.png") repeat-y;
  background-size: 100%;
  margin-right: -15px;
  margin-left: -15px;
}

.internal-heading {
  font-family: 'bebasneue';
  text-align: center;
  border-top: 5px solid #000;
  border-bottom: 5px solid #000;
  width: 60%;
  margin: 0 auto;
  font-size: 7rem;
  padding-top: 2%;
  padding-bottom: 2%;
  color: #ec5d23;
}

@media only screen and (max-width : 768px) {
  .internal-heading {
    width: 95%;
  }
}

.smaller-internal-heading {
  font-size: 4rem;
}

.pass-heading-left {
  font-family: 'bebasneue';
  background: #ec5d23;
  color: #000;
  font-size: 2rem;
  padding: 1%;
  line-height: 2.5rem;
  margin-left: 15px;
}

.pass-heading-left span {
  font-size: 2.5rem;
  font-weight: bold;
}

@media only screen and (min-width : 768px) {
  .pass-heading-left {
    font-size: 2rem;
  }
}

@media only screen and (min-width : 992px) {
  .pass-heading-left {
    font-size: 3rem;
    margin-left: 8.33333%;
    line-height: 3rem;
  }

  .pass-heading-left span {
    font-size: 4rem;
  }

}

.pass-heading-right {
  font-family: 'bebasneue';
  background: #000;
  color: #fff;
  font-size: 2.8rem;
  text-align: center;
}

.pass-heading-right a,
.pass-heading-right a:visited {
  color: #fff;
  text-decoration: none;
}

@media only screen and (min-width : 768px) {
  .pass-heading-right {
    font-size: 4rem;
  }
}

.pass-heading-right div {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

.pass-details ul,
.pass-details li {
  font-size: 1.5rem;
}

@media only screen and (min-width : 768px) {
  .pass-details {
    padding-left: 0;
  }
}

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

  .pass-details ul,
  .pass-details li {
    font-size: 2rem;
  }
}

.large-callout {
  color: #ec5d23;
  font-size: 2.3rem;
}

.road {
  height: 100%;
  min-height: 100px;
  background: url("../img/road.d7cbe6df0cf6.png") repeat-y;
  background-position: center;
}

.dark-pavement {
  background: url("../img/pavement_texture_dark.c918710aedca.png");
  margin-left: -15px;
  margin-right: -15px;
  padding-left: 15px;
  padding-right: 15px;
}


.home-newsletter-box {
  margin: 0 auto;
  text-align: center;
  border-top: 3px solid #000;
  border-bottom: 3px solid #000;
}

@media only screen and (min-width : 992px) {
  .home-newsletter-box {
    max-width: 400px;
  }
}

.home-newsletter-box a,
.home-newsletter-box a:hover,
.home-newsletter-box a:active,
.home-newsletter-box a:visited {
  color: #fff;
  text-decoration: none;
}

.home-newsletter-box h3 {
  font-size: 2.2rem;
  line-height: 2.2rem;
  padding: 30px;
  margin: 0;
}

.submission-dates,
.submission-dates h4 {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.5rem;
}

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

  .submission-dates,
  .submission-dates h4 {
    font-size: 2rem;
  }
}

.home-involvement {
  background: #ec5d23;
  margin-left: -15px;
  margin-right: -15px;
  padding-left: 15px;
  padding-right: 15px;
}



div.home-involvement div.row div.col-xs-12 div.row {
  padding-left: 0 !important;
  padding-right: 0 !important;
}


.home-involvement h3 {
  font-size: 3.5rem;
}

.home-involvement h4 {
  font-size: 2.8rem;
  color: #000;
}

.full-divider {
  margin-top: 40px;
  border-bottom: #000 10px dotted;
  margin-bottom: 20px;
}

.involvement-buttons a {
  text-decoration: none !important;
}

.involvement-buttons a div div {
  background: #f5ae92;
  text-align: center;
  padding: 10px 15px;
  color: #fff;
  font-size: 2.5rem;
  margin-bottom: 10px;
}

.involvement-buttons a.active div div {
  background: #fff;
  color: #000;
}

@media only screen and (min-width : 768px) {
  .involvement-buttons a div div {
    margin-bottom: 0:;
  }
}

.home-involvement ul.nav.nav-tabs li>a:hover {
  background: #f5ae92;
  line-height: inherit;
  margin: 0;
  border: none important;
}

.home-involvement ul.nav.nav-tabs li.active>a:hover {
  background: #fff;
  border: none important;
}


.home-involvement ul.nav.nav-tabs li a {
  color: #fff;
}

.home-involvement ul.nav.nav-tabs li:active {
  background: #fff;
}

.home-involvement ul.nav.nav-tabs li.active a {
  color: #000;
}

.home-involvement input[type="text"],
.home-involvement input[type="email"] {
  background: #000;
  border: 0;
}

.home-involvement button[type="submit"] {
  width: 100%;
  border: 0;
  font-weight: bold;
  border-radius: 0;
}

@media only screen and (min-width : 768px) {
  .home-involvement button[type="submit"] {
    width: 30%;
  }
}

.home-involvement textarea {
  background: #000;
  border: 0;
  height: 200px;
}

.home-involvement .left-input {
  padding-left: 0;
  padding-right: 0;
}

.home-involvement .right-input {
  padding-left: 0;
  padding-right: 0;
}

.home-involvement #form-result {
  margin-top: -15px;
  font-size: 18px;
  display: none;
}

@media only screen and (min-width : 768px) {
  .home-involvement .left-input {
    padding-left: 0;
  }

  .home-involvement .right-input {
    padding-right: 0;
    padding-left: 10px;
  }
}

.home-sponsors {
  background: url("../img/pavement_texture_light.ef1f88ec93fa.jpg");
  margin-left: -15px;
  margin-right: -15px;
}

.home-sponsor-glow {
  width: 100%;
  height: 100%;
  background: transparent url("../img/sponsor_glow_full.36e6d35fa203.png");
}

@media only screen and (min-width : 768px) {
  .home-sponsor-glow {
    width: 100%;
    height: 100%;
    background: transparent url("../img/sponsor_glow.a7a5b817ffd8.png") no-repeat;
    background-size: cover;
  }
}

.home-sponsors .row {
  margin: 0;
}

.home-sponsors p {
  font-size: 1.8rem;
  color: #000;
}

.home-sponsors h3 {
  font-size: 3.5rem;
  color: #ec5d23;
}


.home-sponsors h4 {
  overflow: hidden;
  text-align: center;
  color: #ec5d23;
  font-size: 2.5rem;
  margin-bottom: 30px;
}

.home-sponsors h4:before,
.home-sponsors h4:after {
  background-color: #000;
  content: "";
  display: inline-block;
  height: 3px;
  position: relative;
  vertical-align: middle;
  width: 50%;
}

.home-sponsors h4:before {
  right: 0.5em;
  margin-left: -50%;
}

.home-sponsors h4:after {
  left: 0.5em;
  margin-right: -50%;
}

.sponsor-grid {
  position: relative;
  top: -24px;
}

.sponsor-items {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.sponsor-grid img {
  width: 100%;
}

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

.presenting-sponsor img {
  width: 100%;
  margin: 0 auto;
}

.platinum-sponsor,
.gold-sponsor,
.silver-bronze-sponsor {
  text-align: center;
  margin-bottom: 30px;
  width: 50%;
}

.platinum-sponsor img,
.gold-sponsor img,
.silver-bronze-sponsor img {
  width: 70%;
  opacity: 1;
}

.large-sponsor-button {
  width: 80%;
  margin: 0 auto;
}

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

  .presenting-sponsor {
    width: 40%;
    margin: 0 auto;
  }

  .platinum-sponsor,
  .gold-sponsor,
  .silver-bronze-sponsor {
    width: 33%;
    margin-bottom: 50px;
    text-align: center;
    padding-bottom: 0;
  }

  .platinum-sponsor img,
  .gold-sponsor img,
  .silver-bronze-sponsor img {
    width: 70%;


  }

  .large-sponsor-button {
    width: 40%;
    margin: 0 auto;
  }
}

ul.footer-nav {
  text-align: center;
  margin: 0 auto;
  padding-left: 0 !important;
}

.footer-nav li {
  list-style-type: none;
  display: inline-block;
  padding-left: 50px;
  color: #ec5d23;
}

.footer-nav li:first-child {
  padding-left: 0;
}

.footer-nav li a,
.footer-nav li a:hover {
  font-family: 'bebasneue';
  font-size: 3rem;
  color: #ec5d23;
  text-decoration: none;
}

#recaptcha_response_field {
  color: #fff;
  padding: 10px;
}

.film-category-nav {
  margin: 0;
  padding: 0;
  list-style-type: none;
  margin-left: -5px;
  overflow: hidden;
}

.film-category-nav li {
  float: left;
  width: 19.2%;
  text-align: center;
  background: #fff;
  color: #000;
  height: 50px;
  margin-left: 5px;
}

.event-category-nav li {
  width: 32%;
}

@media only screen and (max-width : 768px) {
  .film-category-nav li {
    width: 100%;
    margin-bottom: 10px;
  }
}

.film-category-nav a,
.film-category-nav a:visited {
  color: #000;
  text-decoration: none;
  line-height: 50px;
  font-family: 'bebasneue';
  font-size: 1.9rem;

}

.film-category-nav a.active li {
  background: #ec5d23;
}

.film-list-image img {
  width: 100%;
}

.film-list-item {
  font-size: 1.6rem;
}

.film-list-item h3 {
  margin: 0;
  padding: 0;
  font-size: 2.5rem;
  font-family: "bebasneue";
  text-transform: uppercase;
}

@media only screen and (max-width : 768px) {
  .film-list-item h3 {
    margin-top: 5px;
  }
}

.film-list-item a,
.film-list-item a:visited {
  color: #ec5d23;
  text-decoration: none;
}

.film-list-item .btn,
.orange-button,
a.orange-button:hover,
a.orange-button:active {
  background: #ec5d23;
  color: #fff !important;
  margin-top: 10px;
  margin-bottom: 10px;
}

a.orange-button {
  text-decoration: none;
  border: none;
  font-family: "bebasneue";
  font-size: 1.8rem;
}

.day-changer {
  width: 400px;
  margin: 0 auto;
  background: #000;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: center;
  font-size: 30px;
  font-family: 'bebasneue';
}

.day-changer div {
  display: inline-block;
}

.day-changer .left a,
.day-changer .right a {
  color: #ec5d23;
}

.event-column {
  float: left;
  width: 20%;

}

.event-column .event {
  background: #ec5d23;
  padding: 10px;
  margin-left: 5px;
  margin-bottom: 5px;
  color: #000;
  font-weight: bold;
}

.event-column .event a,
.event-column .event a:visited {
  color: #fff;
  text-decoration: none;
}

.event-column .event a:hover {
  color: #000;
}

.event-column:first-child {
  margin-left: -5px;
}

.event-column .venue-name {
  background: #fff;
  color: #000;
  padding: 10px;
  margin-left: 5px;
  margin-bottom: 5px;
  text-align: center;
  font-family: 'bebasneue';
  font-size: 20px;
}

@media only screen and (max-width : 768px) {
  .event-column {
    width: 100%;
    margin-bottom: 10px;
  }

  .event-column .event {
    margin-left: 0;
  }

  .event-column:first-child {
    margin-left: 0px;
  }

  .event-column .venue-name {
    margin-left: 0;
  }

}

.venue-list ul,
.venue-list li {
  list-style-type: none;
  padding: 0;
}

.venue-list li {
  line-height: 4rem;
}

.venue-list li a {
  color: #fff;
  text-decoration: none;
  font-size: 2.5rem;
  font-family: 'bebasneue';
  text-transform: uppercase;
}

.venue-list li.active a {
  color: #ec5d23;
}

.venue-info h3 {
  margin: 0;
  font-size: 3rem;
}

.venue-info a,
.venue-info a:hover,
.venue-info a:visited {
  color: #ec5d23;
  text-decoration: none;
}

.mobile-venue-dropdown {
  margin-top: 20px;
  margin-bottom: 20px;
  width: 60%;
  margin: 0 auto;
}

.mobile-venue-dropdown select {

  color: #000;
  border-color: #ec5d23;
}

.schedule-legend {
  width: 400px;
  margin: 0 auto;
  background: #000;
  padding: 10px;
  overflow: hidden;
}

.schedule-legend .category-item {
  float: left;
  margin-left: 10px;
}

.schedule-legend .category-item:first-child {
  margin-left: 0;
}

.schedule-legend .category-item .category-box,
.schedule-legend .category-item .category-text {
  float: left;
  font-size: 1.15rem;
}

.schedule-legend .category-box {
  width: 20px;
  height: 20px;
  margin-right: 5px;
  border: 1px solid #fff;
}

@media only screen and (max-width : 379px) {
  .schedule-legend {
    width: 100%;
  }

  .schedule-legend .category-item:first-child {
    margin-left: 10px;
  }

  .schedule-legend .category-item {
    margin-bottom: 5px;
  }
}

.event-list-item {
  border: 8px solid;
  padding: 15px;
}

.event-list-item h3 {
  margin-top: 0;
}

.event-list-time {
  font-size: 1.8rem;
  margin-bottom: 10px;
}


.loading-message {
  position: absolute;
  top: 0;
  background: #000;
  color: #fff;
  z-index: 1110;
  width: 100px;
  text-align: center;
  opacity: 0.8;
  padding-top: 5px;
  padding-bottom: 5px;
}

.audience-award-icon {
  display: inline-block;
  width: 120px;
  margin-bottom: 15px;
  margin-top: 10px;
  margin-left: 5px;
}

.audience-award-icon img {
  width: 100%;
}

.footer-disclaimer {
  font-size: 1.2rem;
  text-align: center;
  padding-top: 10px;
}

.earlybird-button {
  background: #eb5d22;
  color: #fff;
  padding: 15px;
  font-size: 1.7rem;
}

.earlybird-button:hover {
  color: #fff;
}

.blog-post-content {
  max-width: 950px;
}

.blog-post-content img {
  max-width: 100% !important;
}

.blog-post-title {
  font-size: 3rem;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 3rem;
}

.blog-post-date {
  font-size: 1.4rem;
  margin-bottom: 10px;
}

.pagination {
  clear: both;
  margin-top: 10px;
  float: left;

}

.pagination div {
  float: left;
  padding-left: 15px;
  padding-right: 15px;
}

.pagination a {
  display: block;
  float: left;
  border: 1px solid #888;
  background: #fff;
  padding: 2px 5px;
  margin-left: 3px;
  text-decoration: none;
  font-size: 12px;
}

.pagination .current {
  float: left;
  font-weight: bold;
  padding: 3px 5px;
  font-size: 12px;
  color: #fff;
  display: block;
  margin-left: 3px;
  background: #e4801c;
}

.pagination .disabled {
  display: none;
}

@media (max-width: 1050px) {
  .navbar-header {
    float: none;
  }

  .navbar-left,
  .navbar-right {
    float: none !important;
  }

  .navbar-toggle {
    display: block;
  }

  .navbar-collapse {
    border-top: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    width: 100%;
  }

  .navbar-fixed-top {
    top: 0;
    border-width: 0 0 1px;
  }

  .navbar-collapse.collapse {
    display: none !important;
  }

  .navbar-nav {
    float: none !important;
    margin-top: 7.5px;
  }

  .navbar-nav>li {
    float: none;
  }

  .navbar-nav>li>a {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .collapse.in {
    display: block !important;
  }
}

.footer-funding {
  img {
    max-width: 350px;
    margin: 40px auto 50px auto;
  }

  @media (min-width: 768px) {
    img {
      max-width: 500px;
    }
  }
}

.mobile-callout-buttons {
  text-align: center;
  position: relative;
  top: -80px;
  background: #000;
  margin-left: -15px;
  margin-right: -15px;
  padding: 30px 15px;
}



.mobile-callout-buttons .btn {
  width: 80% !important;
  margin: 0 auto 30px auto;
  display: block;
}

.mobile-callout-buttons a {
  text-decoration: none !important;
}


@media (max-width: 768px) {
  .offset-correction {
    margin-top: -60px;
  }
}