@font-face {
    font-family: 'cochinbold_italic';
    src: url('../font/cochin-bolditalic-webfont.woff2') format('woff2'),
         url('../font/cochin-bolditalic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}
html
{
    overflow-x: hidden;
    max-width: 100%;
    -ms-overflow-style: scrollbar;
    position: relative;
    height: 100%;
    max-height: 100%;
    -webkit-text-size-adjust: 100%;
}
body
{
    font-size: 24px;
    font-weight: 300;
    font-family: Arial, sans-serif;
    background-color: #000;
    color: #fff;
    max-width: 100%;
    -ms-overflow-style: scrollbar;
    position: relative;
    padding: 0;
    margin: 0;
}
html.still-loading
{
  max-height: 100%;
  overflow: hidden;
}
.container.flags
{
    justify-content: center;
    margin: 0 auto 30px auto;
}
.flag {
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url('../img/flags.png') no-repeat;
}
.flag.en-gb {
    background-position: 0 -32px;
}

.flag.it-it {
    background-position: -32px -32px;
}

.flag.de-de {
    background-position: 0 0;
}

.flag.en-us {
    background-position: -64px -32px;
}

.flag.es-es {
    background-position: -32px 0;
}

.flag.fr-fr {
    background-position: -64px 0;
}
.container
{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    width: 100%;
    max-width: 1100px;
    flex-wrap: wrap;
    margin: 0 auto;
}
.container.error
{
    display: none;
    text-align: center;
}
.home, .overview, .characters, .gallery
{
    background-repeat: no-repeat;
    background-position: center top;
    background-size: auto;
}
.home
{
    padding-bottom: 43px;
    background-position: center 50px;
}
.overview
{
    padding-top: 50px;
    overflow: hidden;
    background-size: cover;
}
.characters
{
    padding-top: 50px;
}
.gallery
{
    padding: 50px 0;
    background-size: cover;
}
.container.logo-house
{
    max-width: auto;
    align-items: center;
    margin: 0;
}
.logo
{
    width: 75%;
    max-width: 477px;
    margin: 50px auto 30px auto;
    padding-bottom: 132.914046%;
    min-height: 634px;
}
.logo.lazyloaded
{
    padding-bottom: 0;
    min-height: 0;
}
.logo.age-gate
{
    margin-top: 40px;
}
.ps4-logo
{
    width: 100%;
    max-width: 197px;
    margin: 0 auto;
    padding-bottom: 38.5786802%;
}
.buy-house
{
    width: 100%;
    height: auto;
    position: relative;
    display: block;
    text-align: center;
    margin: 20px auto;
}
.ps4-logo.lazyloaded
{
    padding-bottom: 0;
}
.overview-side-image
{
    position: absolute;
    width: 45%;
    max-width: 522px;
}
.overview-side-image.left-side
{
    top: 0;
    left: -400px;
}
.overview-side-image.right-side
{
    bottom: 0;
    right: -400px;
}
.trailers-house
{
    text-align: center;
}
.trailer-still
{
    display: inline-block;
    width: 44%;
    max-width: 905px;
    margin: 0 auto;
    cursor: pointer;
    padding-bottom: 50.4972376%;
}
.trailer-still:nth-child(2), .trailer-still:nth-child(4)
{
    margin-left: -4.5%;
}
.trailer-still:nth-child(3)
{
    margin-left: 3%;
}
.trailer-still.lazyloaded
{
    padding-bottom: 0;
}
.mfp-iframe-scaler iframe
{
    box-shadow: none;
}
.overview-body
{
    padding: 20px;
    text-align: center;
    max-width: 50%;
    font-size: .75em;
    margin: 0 auto;
}
.single-character
{
    width: 100%;
    position: relative;
    display: block;
    outline: none;
}
.slick-arrow
{
    position: absolute;
    top: calc(50% - 1.5em);
    cursor: pointer;
    font-size: 3em;
    z-index: 99;
}
.slick-arrow.fa-caret-left
{
    left: 10px;
}
.slick-arrow.fa-caret-right
{
    right: 10px;
}
.slick-slide img.character-art, .character-text
{
    display: inline-block;
    vertical-align: middle;
}
.character-art
{
    width: 40%;
}
.character-text
{
    width: 59%;
}
.character-name
{
    font-family: 'cochinbold_italic', Times New Roman, serif;
    font-size: 3em;
    text-transform: uppercase;
    margin-bottom: 25px;
}
.character-quote
{
    font-weight: 700;
    font-style: italic;
    font-size: 1.5em;
    width: calc(90% - 50px);
    margin-left: 50px;
    margin-top: 25px;
    margin-bottom: 25px;
}
.character-bio
{
    font-size: .75em;
    width: calc(80% - 50px);
    margin-left: 50px;
    margin-top: 25px;
}
#social
{
    margin: 30px auto;
}
.header-text, .release-date
{
    text-transform: uppercase;
    font-size: 1.75em;
    position: relative;
	background-color: #1e3f3a;
    padding: 0 10px;
    height: 64px;
    line-height: 64px;
    margin: 20px auto;
    display: inline-block;
    font-family: 'cochinbold_italic', Times New Roman, serif;
}
.release-date
{
    margin-top: 100px;
    width: 100%;
    text-align: center;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1e3f3a+0,1e3f3a+100&0+0,1+50,0+100 */
    background: -moz-linear-gradient(left, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001e3f3a', endColorstr='#001e3f3a',GradientType=1 ); /* IE6-9 */
}
.container.birthdate
{
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1e3f3a+0,1e3f3a+100&0+0,1+50,0+100 */
    background: -moz-linear-gradient(left, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 50%, rgba(0,0,0,0) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(0,0,0,0) 0%,rgba(0,0,0,1) 50%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001e3f3a', endColorstr='#001e3f3a',GradientType=1 ); /* IE6-9 */
}
.container.birthdate:before, .container.birthdate:after
{
    content: '';
    height: 4px;
    width: 100%;
    position: absolute;
    left: 0;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,1+50,0+100 */
    background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 ); /* IE6-9 */
}
.container.birthdate:before, .container.birthdate:before
{
    top: -4px;
}
.container.birthdate:after, .container.birthdate:after
{
    bottom: -4px;
}
.release-date:before, .release-date:after
{
    content: '';
    height: 4px;
    width: 100%;
    position: absolute;
    left: 0;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,1+50,0+100 */
    background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#00ffffff',GradientType=1 ); /* IE6-9 */
}
.release-date:before
{
    top: -4px;
}
.release-date:after
{
    bottom: -4px;
}
.header-text:before, .header-text:after
{
    width: 35px;
    height: 64px;
    position: absolute;
    top: 0;
}
.header-text:before
{
    content: url('../img/header-edge-left.png');
    left: -35px;
}
.header-text:after
{
    content: url('../img/header-edge-right.png');
    right: -35px;
}
.social-house
{
    width: 100%;
    text-align: center;
}
.social-house a, .social-house a:hover, .social-house a:focus, .social-house a:visited
{
    color: #fff;
    font-size: 2.5em;
    outline: none;
    text-decoration: none;
    width: 72px;
    height: 72px;
    line-height: 72px;
    display: inline-block;
    text-align: center;
    margin-right: 20px
}
.footer-links a, .footer-links a:hover, .footer-links a:focus, .footer-links a:visited, .footer-logo-container a, .footer-logo-container a:hover, .footer-logo-container a:focus, .footer-logo-container a:visited
{
    outline: none;
    text-decoration: none;
    color: #fff;
    text-transform: uppercase;
}
.footer-links a:hover, .footer-logo-container a:hover
{
    color: rgba(84,21,27,1);
}
.legal-text, .footer-links, .footer-logo-container a
{
    text-align: center;
    font-size: .5em;
    width: 100%;
}
.gallery-house
{
    text-align: center;
}
.trailer-thumb
{
    margin: 10px;
    width: calc(24% - 20px);
    cursor: pointer;
    max-width: 436px;
}
.social-house a:last-child
{
    margin-right: 0;
}
.social-house a.facebook
{
    background-color: #3B5998;
}
.social-house a.twitter
{
    background-color: #1DA1F2;
}
.social-house a.youtube
{
    background-color: #ff0000;
}
.social-house a.instagram
{
    background-color: #c536a4;
}
#headerbar-sqex
{
  position: fixed !important;
  top: 0;
  left: 0;
  text-shadow: none;
}
.footer
{
    position: relative;
}
body.age-gate .footer
{
    margin-top: 0;
}
.footer:before, #headerbar-sqex:after
{
    content: '';
    height: 4px;
    width: 100%;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,54151b+30,54151b+70,000000+100 */
    background: rgb(0,0,0); /* Old browsers */
    background: -moz-linear-gradient(left, rgba(0,0,0,1) 0%, rgba(84,21,27,1) 30%, rgba(84,21,27,1) 70%, rgba(0,0,0,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(left, rgba(0,0,0,1) 0%,rgba(84,21,27,1) 30%,rgba(84,21,27,1) 70%,rgba(0,0,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to right, rgba(0,0,0,1) 0%,rgba(84,21,27,1) 30%,rgba(84,21,27,1) 70%,rgba(0,0,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#000000',GradientType=1 ); /* IE6-9 */
    position: absolute;
    left: 0;
}
.footer:before
{
    top: -4px;
}
#headerbar-sqex:after
{
    bottom: -4px;
}
#cookie-notification
{
  position:fixed;
  bottom:0px;
  z-index:10000;
  text-align:left;
  font-size:14px;
  color:white;
  background-color:#000000;
  border-top: 1px solid #FFFFFF;
  padding-left: 10%;
  padding-right: 10%;
  padding-top: 2%;
  padding-bottom: 2%;
}
#cookie-notification span.dismiss {
    background-color: #FFFFFF;
    padding:0 5px;
    cursor:pointer;
    float:right;
    display: inline-block;
}

#cookie-notification span.dismiss a {
  color: #000000;
  font-size: 18px;
  font-weight: bold;
  text-decoration: none;
  line-height: 20px;
}

#cookie-notification .title {
    text-transform: uppercase;
    font-size: 18px;
}
#cookie-notification a
{
  text-decoration: underline;
  color: #fff;
}
.footer-logos
{
    width: 100%;
    max-width: 1290px;
    margin: 0 auto;
    text-align: center;
}
.legal-text, .footer-links, .footer-logos
{
    padding-bottom: 30px;
}
.footer-logo-container
{
    display: inline-block;
    vertical-align: middle;
    margin: 10px;
}
.footer-logo-container a
{
    display: block;
    background-size: auto;
    background-repeat: no-repeat;
    text-align: center;
}
.footer-logo-container.usk-info
{
    width: 100%;
    text-align: center;
    font-size: .5em;
    padding-bottom: 30px;
    margin: 0;
}
.footer-logo-container.usk-info a
{
    font-size: 1em;
}
.footer-logo-container a.rating
{
    background-position: -209px -18px;
    width: 103px;
    height: 125px;
}
.footer-logo-container a.rating.de_DE
{
    background-position: -34px -17px;
    width: 128px;
    height: 128px;
}
.footer-logo-container a.rating.en_US
{
    background-position: -357px -21px;
    width: 255px;
    height: 122px;
}
body.age-gate .footer-logo-container a.rating.en_US
{
    display: none;
}
.footer-logo-container a.playstation-4
{
    background-position: -654px -61px;
    width: 163px;
    height: 33px;
}
.footer-logo-container a.guild-studio
{
    background-position: -855px -43px;
    width: 241px;
    height: 80px;
}
.footer-logo-container a.square-enix
{
    background-position: -1261px -69px;
    width: 238px;
    height: 23px;
}
.footer-logo-container a.esrb-privacy
{
    background-position: -1122px -26px;
    width: 108px;
    height: 108px;
}
.age-gate-header
{
    font-family: 'cochinbold_italic', Times New Roman, serif;
    font-size: 1.5em;
    text-transform: uppercase;
    margin-top: 0;
    width: 100%;
    text-align: center;
}
select
{
    text-transform: uppercase;
    font-weight: 700;
    border: 2px solid #fff;
    background-color: rgba(0,0,0,0);
    color: #fff;
    font-size: 1em;
    padding: 10px;
    -moz-appearance: none;
    -webkit-appearance: none;
    z-index: 1;
}
option
{
    background-color: #000;
}
.age-gate-submit, .buy-btn
{
    text-transform: uppercase;
    font-weight: 700;
    background-color: #4a1117;
    border: 2px solid #b62f3d;
    padding: 10px 30px;
    cursor: pointer;
    color: #fff;
    text-decoration: none;
}
.buy-btn
{
    font-size: 2em;
}
.container.birthdate
{
    justify-content: center;
    margin-top: 140px;
    padding: 10px;
}
.load-btn-house .container
{
    justify-content: center;
}
/* loading screen */
@-webkit-keyframes uil-ring-anim {
  0% {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes uil-ring-anim {
  0% {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes uil-ring-anim {
  0% {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-ms-keyframes uil-ring-anim {
  0% {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes uil-ring-anim {
  0% {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes uil-ring-anim {
  0% {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-o-keyframes uil-ring-anim {
  0% {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes uil-ring-anim {
  0% {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.uil-ring-css {
  background-color: rgba(0,0,0,1);
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 99999999;
}
.uil-ring-css.active
{
   display: block;
}
.uil-ring-css > div {
  position: absolute;
  display: block;
  width: 160px;
  height: 160px;
  top: calc(50% - 80px);
  left: calc(50% - 80px);
  border-radius: 80px;
  box-shadow: 0 6px 0 0 rgba(84,21,27,1);
  -ms-animation: uil-ring-anim 1s linear infinite;
  -moz-animation: uil-ring-anim 1s linear infinite;
  -webkit-animation: uil-ring-anim 1s linear infinite;
  -o-animation: uil-ring-anim 1s linear infinite;
  animation: uil-ring-anim 1s linear infinite;
}
.mfp-bg
{
    z-index: 9999998;
}
.mfp-wrap
{
    z-index: 9999999;
}
.select-wrapper
{
    position: relative;
    display: inline-block;
    background-color: #000;
    z-index: 0;
    margin-right: 20px;
}
select
{
    width: 100%;
    padding-right: 50px;
}
.select-wrapper:after
{
    font-family: 'FontAwesome';
    content: '\f107';
    position: absolute;
    font-size: 2em;
    top: calc(50% - .5em);
    right: 10px;
    z-index: -1;
}
.prev-overlay, .next-overlay
{
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
}
.prev-overlay
{
    left: 0;
    background-color: none;
}
.next-overlay
{
    left: 50%;
    background-color: none;
}
@media (max-width: 767px)
{
    .container.birthdate
    {
        margin-top: 50px;
    }
    .select-wrapper
    {
        width: 80%;
        margin: 10px auto
    }
    select
    {
        padding-right: 10px;
    }
    .birthday-wrapper
    {
        text-align: center;
        width: 100%;
    }
    .home
    {
        background-position: center 52px;
        background-size: cover;
    }
    .release-date, .header-text
    {
        font-size: 1.15em;
    }
    .release-date
    {
        height: auto;
        line-height: 1.15;
    }
    html[lang=es-es] .header-text, html[lang=fr-fr] .header-text
    {
        font-size: .85em;
    }
    .overview-body
    {
        max-width: 90%;
    }
    .slick-slide img.character-art, .character-text
    {
        width: 90%;
        margin: 0 auto;
        text-align: center;
        display: block;
    }
    .character-text
    {
        text-align: left;
    }
    .character-name
    {
        font-size:  1.75em;
    }
    .character-quote
    {
        font-size: 1em;
        margin: 30px 0;
        width: 100%;
    }
    .character-bio
    {
        width: 100%;
        margin: 0;
    }
    .trailer-thumb
    {
        width: 90%;
    }
    .social-house a
    {
        margin: 20px;
    }
    .social-house a.instagram
    {
        margin-right: 20px;
    }
    .overview
    {
        background-image: url(../img/backgrounds/mobile/overview_bg_mobile.jpg);
        padding-top: 50px;
        overflow: hidden;
    }
    .characters
    {
        background-image: url(../img/backgrounds/mobile/characters_bg_mobile.jpg);
        padding-top: 50px;
    }
    .gallery
    {
        background-image: url(../img/backgrounds/mobile/gallery_bg_mobile.jpg);
        padding-top: 50px;
    }
    .slick-arrow
    {
        top: calc(25% - 1.5em);
    }
    .trailer-still
    {
        width: 90%;
        margin: 20px auto;
    }
    .trailer-still:nth-child(2)
    {
        margin-left: auto;
    }
    .buy-btn
    {
        font-size: 1em;
    }
    #buy
    {
        background-image: url(../img/backgrounds/mobile/buy_bg_mobile_750x1370.jpg) !important;
    }
    .home
    {
        background-image: url(../img/backgrounds/mobile/main_bg_mobile_750x1370.jpg) !important;
        background-position: center 50px;
    }
    .home.age-gate
    {
        background-image: url(../img/backgrounds/mobile/main_bg_mobile_750x1370.jpg) !important;
        background-position: center 0;
    }
}