@charset "UTF-8";
@font-face {
  font-family: 'collide-icons';
  src: url("../fonts/collide-icons.eot?24710685");
  src: url("../fonts/collide-icons.eot?24710685#iefix") format("embedded-opentype"), url("../fonts/collide-icons.woff2?24710685") format("woff2"), url("../fonts/collide-icons.woff?24710685") format("woff"), url("../fonts/collide-icons.ttf?24710685") format("truetype"), url("../fonts/collide-icons.svg?24710685#collide-icons") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'collide-icons';
    src: url('../fonts/collide-icons.svg?24710685#collide-icons') format('svg');
  }
}
*/
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "collide-icons";
  font-style: normal;
  font-weight: normal;
  speak: never;
  display: inline-block;
  text-decoration: inherit;
  /*width: 1em;
  margin-right: .2em;*/
  text-align: center;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

/****************** CSS VARIABLES *********************/
/****************** GLOBALS *********************/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
}

/* set image max width to 100% */
img {
  max-width: 100%;
  height: auto;
  border: 0;
}

html, body {
  width: 100%;
  height: 100%;
  position: relative;
}

body {
  background: #000;
  font-size: 18px;
  line-height: 1.4;
  color: #3d3d3d;
  text-align: left;
  font-family: "Karla", sans-serif;
}

#page-wrapper {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
}

#page-content {
  flex: 1 0 auto;
}

#footer {
  flex: 0 0 auto;
  position: relative;
  width: 100%;
  background: #000;
  background-size: cover;
  padding: 1.5em 2em;
  border-top: 1px solid #fff;
  color: rgba(255, 255, 255, 0.4);
  margin: 0 auto;
  text-align: center;
  font-size: 0.75em;
}

hr {
  clear: both;
  width: 90%;
  margin: 40px auto;
  border: 0;
  height: 1px;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
}

/****************** MENU *********************/
#menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: linear-gradient(rgba(0, 0, 0, 0.5), transparent);
  color: #fe8f2e;
  padding: 10px;
  z-index: 22222;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
}

.menu-sticky {
  position: fixed;
  top: 0;
  animation: MenuSlideDown 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

a.menu-burger {
  display: none;
  font-size: 1.75em;
  color: #fff !important;
  text-decoration: none;
  font-weight: normal;
  padding-right: 20px;
}

a.menu-burger:hover {
  color: #fe8f2e !important;
  text-decoration: none;
  font-weight: normal;
}

.menu-logo {
  width: 40%;
  flex: 0 0 auto;
}

#menu-nav {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  position: relative;
}

#menu-nav ul {
  margin: 0;
  padding: 0 20px 0 0;
  list-style-type: none;
}

#menu-nav ul li {
  text-align: left;
  margin: 0;
  padding: 0;
  display: inline-block;
}

#menu-nav ul li a, #menu-nav ul li span {
  position: relative;
  display: block;
  font-size: 0.80em;
  padding: 0 8px;
}

#menu-nav ul li a {
  color: #fff;
  font-weight: normal;
  text-decoration: none;
  transition: all 0.35s ease;
}

#menu-nav ul li a:hover {
  color: #fe8f2e;
  font-weight: normal;
  text-decoration: none;
}

#menu-social {
  border-left: 1px solid #fe8f2e;
  padding-left: 20px;
  position: relative;
}

#menu-social a {
  color: #fff;
  text-decoration: none;
  font-weight: normal;
  margin: 0 1px;
  transition: all 0.3s ease;
}

#menu-social a:hover {
  color: #fe8f2e;
  text-decoration: none;
  font-weight: normal;
}

#menu-social a.icon-instagram {
  margin: 0 6px;
}

/****************** HOME HEADER *********************/
#home-header {
  padding-top: 70px;
  position: relative;
  width: 100%;
  height: 100vh;
  position: relative;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  align-items: center;
  background: #000 url(../images/fof-home-slider-bg.jpg) no-repeat left center;
  background-size: cover;
}

.slide-in-sequence1 {
  opacity: 0;
  animation: FadeInSlideLeft 1.4s 0.35s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

.slide-in-sequence2 {
  opacity: 0;
  animation: FadeInSlideLeft 1.4s 0.5s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

.slide-in-sequence3 {
  opacity: 0;
  animation: FadeInSlideLeft 1.4s 0.65s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

.buy-logo {
  width: 100px;
  display: inline-block;
  vertical-align: middle;
}

/****************** QUOTE *********************/
#quote {
  border-top: 1px solid #fff;
  font-size: 30px;
  padding: 75px 150px;
  color: #fff;
  line-height: 1.3;
  background: #000 url(../images/bg-resources.jpg) no-repeat center center;
  background-size: cover;
  text-align: center;
}

#quote span {
  font-size: 24px;
}

.dove-logo {
  width: 70px;
  height: 70px;
  display: inline-block;
  vertical-align: middle;
  margin-left: 20px;
}

/****************** SITE LICENSE PAGE  *********************/
#license {
  width: 100%;
  position: relative;
  padding: 100px 50px;
  transition: all 0.5s ease-out;
  background-image: linear-gradient(45deg, #672007, black);
  color: #fff;
  text-align: center;
}

.logo-small {
  width: 400px;
  margin: 15px auto;
}

.black-box {
  width: 100%;
  margin: 10px auto;
  position: relative;
  display: flex;
  flex-flow: row wrap;
  background: rgba(0, 0, 0, 0.75);
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.75);
  border-radius: 10px;
  padding: 40px;
}

.license-column-left {
  width: 25%;
  margin-right: 3%;
}

.license-column-right {
  width: 71%;
  position: relative;
  text-align: left;
}

hr.small {
  clear: both;
  width: 100%;
  margin: 15px auto;
  border: 0;
  height: 1px;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.radio-column-flex {
  width: 100%;
  position: relative;
  display: flex;
  flex-flow: row wrap;
  margin-top: 20px;
}

.radio-column-left {
  width: 4%;
  display: inline-block;
  margin-right: 20px;
}

.radio-column-right {
  width: 93%;
  display: inline-block;
}

.license-error {
  font-size: 16px;
  margin: 6px auto;
  color: #da747f;
  text-align: left;
  width: 100%;
  font-weight: bold;
}

.image-border {
  padding: 5px;
  border: 1px solid #fff;
}

.form-field-row {
  width: 100%;
  margin: 10px auto;
  position: relative;
}

.form-field-row label {
  width: 100%;
  display: block;
  margin: 0 0 5px 0;
  font-weight: bold;
  font-size: 14px;
}

.form-field-row h5 em,
.form-field-row label em {
  font-style: none;
  color: #b7313f;
}

.form-field.error input {
  border: 1px solid #b7313f;
}

/****** Radio Buttons ******/
.form-radio-container {
  width: 100%;
  display: inline-block;
  margin: 8px 20px;
  vertical-align: top;
  position: relative;
  font-size: 14px;
}

.form-radio-container > input[type="radio"] {
  /* remove standard background appearance... */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  /* create custom radio button appearance */
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 20px;
  padding: 3px;
  background-clip: content-box;
  border: 1px solid rgba(255, 255, 255, 0.85);
  border-radius: 50%;
  margin-right: 15px;
  cursor: pointer;
}

.form-radio-container > input[type="radio"]:checked {
  background-color: #d47777;
}

/****************** SYNOPSIS *********************/
#synopsis {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  display: flex;
  flex-flow: row nowrap;
}

.synopsis-column-1 {
  width: 50%;
  margin: 0;
  background: #000 url(../images/bg-synopsis.jpg) no-repeat center center;
  background-size: cover;
}

.synopsis-column-2 {
  width: 50%;
  margin: 0;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  background: #f3f3f3;
  color: #000;
  height: 500px;
}

/****************** STILLS *********************/
#stills {
  width: 100%;
  background-image: linear-gradient(-45deg, #2a0001, #000);
  padding: 75px 150px;
  text-align: center;
  color: #fff;
  border-bottom: 1px solid white;
}

.photo-thumbs {
  display: inline-block;
  margin: 5px;
  border: 1px solid white;
  position: relative;
  -moz-box-shadow: 0px 2px 7px #2c2c2c;
  -webkit-box-shadow: 0px 2px 7px #2c2c2c;
  box-shadow: 0px 2px 7px rgba(0, 0, 0, 0.3);
  transition: all 0.25s ease-out;
}

.photo-thumbs:hover {
  transform: scale(0.98);
}

/****************** CAST *********************/
#cast {
  width: 100%;
  background: #f1f1f1;
  padding: 75px;
  text-align: center;
  color: #565656;
  border-bottom: 1px solid white;
}

.cast-container {
  width: 85%;
  margin: 15px auto 75px auto;
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  text-align: left;
}

.cast-column-left {
  width: 25%;
  margin-right: 40px;
}

.cast-column-right {
  width: 75%;
}

.image-brdr {
  padding: 5px;
  border: 1px solid rgba(0, 0, 0, 0.35);
}

/****************** RESOURCES *********************/
#resources {
  width: 100%;
  margin: 0 auto;
  padding: 4em 3em;
  text-align: center;
  color: #fff;
  background: #000 url(../images/bg-resources.jpg) no-repeat center center;
  background-size: cover;
}

/****************** UPDATES *********************/
#updates {
  width: 100%;
  margin: 0 auto;
  padding: 4em 3em;
  text-align: center;
  color: #fff;
  background: #000 url(../images/bg-updates.jpg) no-repeat center center;
  background-size: cover;
}

/****************** UPDATES *********************/
#freecode-box {
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  border-radius: 15px;
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.5);
  position: relative;
  padding: 50px;
  text-align: left;
  margin: 10px auto;
  overflow: hidden;
}

#freecode-box::before {
  content: '';
  position: absolute;
  top: -50%;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(230, 132, 25, 0.1);
  transform: skewY(345deg);
}

#freecode-box h4 {
  margin-bottom: 25px;
}

.input-box {
  position: relative;
  width: 100%;
  margin-bottom: 12px;
}

.input-box input {
  width: 100%;
  outline: none;
  border: none;
  background: #fff;
  padding: 10px;
  border-radius: 2px;
  color: #000;
  font-size: 16px;
  font-weight: 300;
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.2);
}

.input-box input[type="submit"] {
  max-width: 320px;
  padding: 12px 25px;
  font-weight: bold;
  background: #fe8f2e;
  border: none;
  border-radius: 3px;
  font-size: 1em;
  color: #fff;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.25s ease-out;
  -webkit-appearance: none !important;
}

.input-box input[type="submit"]:hover {
  background: #c55c01;
  color: #fff;
  text-decoration: none;
  font-style: normal;
  font-weight: bold;
}

.input-box input::placeholder {
  color: rgba(0, 0, 0, 0.5);
}

.error,
.poterror {
  margin: 5px 0;
  line-height: 1.4;
  color: #d55a5a;
  font-weight: bold;
  font-size: 0.90em !important;
  text-align: left;
}

.thepot {
  display: none;
}

/****************** ICONS & FONT STYLES *********************/
.icon-down-small:before {
  content: '\e800';
}

/* '' */
.icon-left-small:before {
  content: '\e801';
}

/* '' */
.icon-right-small:before {
  content: '\e802';
}

/* '' */
.icon-up-small:before {
  content: '\e803';
}

/* '' */
.icon-menu:before {
  content: '\e804';
}

/* '' */
.icon-facebook:before {
  content: '\f300';
}

/* '' */
.icon-twitter-bird:before {
  content: '\f303';
}

/* '' */
.icon-youtube:before {
  content: '\f313';
}

/* '' */
.icon-instagram:before {
  content: '\f31e';
}

/* '' */
a {
  text-decoration: none;
  font-weight: bold;
  color: #e68419;
}

a:hover {
  text-decoration: none;
  font-weight: bold;
  color: #8a4f0f;
}

p {
  line-height: 1.5em;
  margin: 10px auto 20px auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold !important;
  margin: 0;
  padding: 0;
  line-height: 1.1em;
  letter-spacing: normal;
}

h1 {
  font-size: 2.5em;
}

h2 {
  font-size: 2em;
}

h3 {
  font-size: 1.75em;
}

h4 {
  font-size: 1.5em;
}

h5 {
  font-size: 1.35em;
}

h6 {
  font-size: 1.25em;
}

.center-it {
  text-align: center !important;
}

.right-it {
  text-align: right !important;
}

.left-it {
  text-align: left !important;
}

.big-text {
  font-size: 1.3em !important;
}

.white-it {
  color: #fff !important;
}

.black-it {
  color: #000 !important;
}

.orange-it {
  color: #e68419 !important;
}

ul, ol {
  margin: 10px 0 0 40px;
}

li {
  margin-bottom: 10px;
}

/****************** COLUMNS/PADS/SPACERS *********************/
.spacer5 {
  margin: 0 !important;
  padding: 0 0 5px 0 !important;
  line-height: 0;
}

.spacer10 {
  margin: 0 !important;
  padding: 0 0 10px 0 !important;
  line-height: 0;
}

.spacer20 {
  margin: 0 !important;
  padding: 0 0 20px 0 !important;
  line-height: 0;
}

.spacer30 {
  margin: 0 !important;
  padding: 0 0 30px 0 !important;
  line-height: 0;
}

.spacer50 {
  margin: 0 !important;
  padding: 0 0 50px 0 !important;
  line-height: 0;
}

.padit10 {
  padding: 10px;
}

.padit60 {
  padding: 60px;
}

.column-half {
  width: 49%;
  margin: 0 0.25%;
  display: inline-block;
  vertical-align: top;
}

.column-third {
  width: 30%;
  margin: 15px auto;
  display: inline-block;
  vertical-align: top;
}

.column-flex-container {
  display: flex;
  flex-flow: row wrap;
}

.white-column-quarter {
  position: relative;
  width: 23%;
  margin: 25px 1%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  background: #fff;
  box-shadow: 0 1px 15px rgba(0, 0, 0, 0.35);
  text-align: left;
  font-size: 0.85em;
  flex: 1 1 auto;
}

.column-quarter {
  position: relative;
  width: 23%;
  margin: 25px 1%;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  text-align: center;
  flex: 1 1 auto;
  font-size: 0.80em;
}

/****************** BUTTONS *********************/
.button, .button-main, .button-main-small, .button-outline, .button-outline-dark {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: all 0.15s ease-out;
  -webkit-appearance: none !important;
}

.button-main {
  border: none;
  padding: 0.75em 2.4em;
  color: #fff;
  font-weight: bold;
  background: #fe8f2e;
  border-radius: 30px;
  font-size: 1em;
  margin: 5px;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
}

.button-main:hover {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  background: #c55c01;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
}

.button-main-small {
  border: none;
  padding: 10px 20px;
  color: #fff;
  font-weight: bold;
  background: #fe8f2e;
  border-radius: 30px;
  font-size: 12px;
  margin: 4px;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
}

.button-main-small:hover {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  background: #c55c01;
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.5);
}

.button-outline {
  border: 1px solid #fff;
  padding: 6px 20px;
  color: #fff;
  font-weight: bold;
  background: rgba(255, 255, 255, 0);
  border-radius: 30px;
  font-size: 14px;
  line-height: 1;
  text-transform: uppercase;
  margin: 5px;
}

.button-outline:hover {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.4);
}

.button-outline-dark {
  border: 1px solid #000;
  padding: 0.75em 2.4em;
  color: #000;
  font-weight: bold;
  background: transparent;
  border-radius: 30px;
  font-size: 0.80em;
  line-height: 1;
  text-transform: uppercase;
}

.button-outline-dark:hover {
  color: #000;
  font-weight: bold;
  text-decoration: none;
  background: rgba(0, 0, 0, 0.1);
}

.learn-more {
  width: 100%;
  display: block;
  padding: 10px;
  text-align: left;
  font-weight: bold;
  background: #8eb1cd;
  color: #fff;
}

.learn-more:hover {
  color: rgba(255, 255, 255, 0.75);
  background: #83a5c0;
}

.button-round, .button-to-top {
  position: relative;
  display: block;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  text-decoration: none;
  font-size: 0.90em;
  font-weight: normal;
  z-index: 8888;
  padding: 0;
  margin: 0;
  border-radius: 50px;
  transition: all 200ms ease-out;
}

.button-to-top {
  color: #fff;
  background: rgba(0, 0, 0, 0.6);
  position: fixed;
  bottom: 20px;
  right: 20px;
}

.button-to-top:hover {
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
}

/*************************** VIDEO PLAYERS ***************************/
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.light-box-video {
  position: relative;
  width: 80%;
  max-width: 100%;
  border: 2px solid #fff;
  display: block;
  z-index: 9999;
  -moz-box-shadow: 0px 2px 7px #2c2c2c;
  -webkit-box-shadow: 0px 2px 7px #2c2c2c;
  box-shadow: 0px 2px 7px #2c2c2c;
  margin: 15px auto;
  background: #000;
}

.full-box-video {
  position: relative;
  width: 98%;
  max-width: 100%;
  border: 2px solid #fff;
  display: block;
  z-index: 9999;
  -moz-box-shadow: 0px 2px 7px #2c2c2c;
  -webkit-box-shadow: 0px 2px 7px #2c2c2c;
  box-shadow: 0px 2px 7px #2c2c2c;
  margin: 10px auto;
  background: #000;
}

/*************************** TABLES ***************************/
.table-main {
  width: 100%;
  margin: 0 auto 10px auto;
  background: transparent;
  border-collapse: collapse;
  position: relative;
  text-align: left;
}

.table-main th {
  font-weight: bold;
  padding: 14px;
  color: #ffffff;
  background: #181818;
  position: relative;
  font-size: 0.9em;
}

.table-main tbody tr {
  background: #181818;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

/* Zebra striping */
.table-main tbody tr:nth-of-type(odd) {
  background: #0c0c0c;
}

.table-main tbody td {
  padding: 10px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.8em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  border-collapse: collapse;
  position: relative;
}

/****************** ANIMATIONS/KEYFRAMES *********************/
a.shrink-it img {
  position: relative;
  transition: all 300ms ease-out;
}

a.shrink-it img:hover, a.shrink-it img:active, a.shrink-it img:focus {
  transform: scale(0.9);
}

@keyframes MenuSlideDown {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes SlideInLeft {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}

@keyframes SlideOutLeft {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes FadeInSlideLeft {
  from {
    opacity: 0;
    transform: translateX(75px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
