/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Roboto Bold"), local("Roboto-Bold"), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfChc4AMP6lbBP.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: local("Roboto Bold"), local("Roboto-Bold"), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmWUlfBBc4AMP6lQ.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* latin-ext */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local("Roboto Black"), local("Roboto-Black"), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfChc4AMP6lbBP.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* latin */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: local("Roboto Black"), local("Roboto-Black"), url(https://fonts.gstatic.com/s/roboto/v20/KFOlCnqEu92Fr1MmYUtfBBc4AMP6lQ.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* latin-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local("Roboto Condensed Light"), local("RobotoCondensed-Light"), url(https://fonts.gstatic.com/s/robotocondensed/v18/ieVi2ZhZI2eCN5jzbjEETS9weq8-33mZGCoYb9lecyVC4A.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: local("Roboto Condensed Light"), local("RobotoCondensed-Light"), url(https://fonts.gstatic.com/s/robotocondensed/v18/ieVi2ZhZI2eCN5jzbjEETS9weq8-33mZGCQYb9lecyU.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* latin-ext */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Roboto Condensed"), local("RobotoCondensed-Regular"), url(https://fonts.gstatic.com/s/robotocondensed/v18/ieVl2ZhZI2eCN5jzbjEETS9weq8-19y7DQk6YvNkeg.woff2) format("woff2");
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* latin */
@font-face {
  font-family: 'Roboto Condensed';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local("Roboto Condensed"), local("RobotoCondensed-Regular"), url(https://fonts.gstatic.com/s/robotocondensed/v18/ieVl2ZhZI2eCN5jzbjEETS9weq8-19K7DQk6YvM.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Reset Select */
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  outline: 0;
  box-shadow: none;
  border: 0 !important;
  background: transparent;
  background-image: none; }

/* Remove IE arrow */
select::-ms-expand {
  display: none; }

/* Custom Select */
.select {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 259px;
  height: 37px;
  line-height: 3;
  background: transparent;
  overflow: hidden;
  border-radius: 0.5rem;
  border: 1px solid #707070; }

select {
  flex: 1;
  padding: 0.9rem 1.1rem;
  color: #AFAFAF;
  cursor: pointer;
  -webkit-transition: .25s all ease;
  -o-transition: .25s all ease;
  transition: .25s all ease;
  font-size: 1.4rem;
  font-family: 'RobotoCondensed-Light', sans-serif; }

/* Arrow */
.select::after {
  content: '\25BC';
  position: absolute;
  color: #707070;
  top: 0;
  right: 0;
  padding: 0 1em;
  background: transparent;
  cursor: pointer;
  pointer-events: none;
  -webkit-transition: .25s all ease;
  -o-transition: .25s all ease;
  transition: .25s all ease; }

/* Transition */
.select:hover {
  color: #1D1D1B; }
  .select:hover::after, .select:hover select {
    color: #1D1D1B; }

.button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  background: #ffce4a 0% 0% no-repeat padding-box;
  border-radius: 5px;
  border: none;
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: alpha(opacity=100);
  text-decoration: none;
  padding: 0.9rem 1.6rem;
  font-family: 'Roboto-Bold', sans-serif;
  font-size: 1.4rem;
  letter-spacing: 0.14rem;
  line-height: 1.9rem;
  color: #1D1D1B;
  text-transform: uppercase;
  -webkit-transition: .25s all ease;
  -o-transition: .25s all ease;
  transition: .25s all ease; }
  .button:hover {
    color: #FFFFFF;
    background: #F0B02D; }
  .button:disabled {
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=50);
    cursor: default;
    pointer-events: none; }

input[type=radio] {
  background-color: transparent;
  border: 0.0625em solid #AFAFAF;
  border-radius: 50%;
  box-shadow: inset 0 0 0 0 #FFE42F;
  cursor: pointer;
  font: inherit;
  height: 2rem;
  outline: none;
  width: 2rem;
  -moz-appearance: none;
  -webkit-appearance: none; }
  input[type=radio]:checked {
    background-color: #FFE42F;
    box-shadow: inset 0 0 0 0.1875em #FFFFFF;
    -webkit-transition: background .15s, box-shadow .1s;
    transition: background .15s, box-shadow .1s; }

/* Custom input */
.txtInput {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 259px;
  height: 37px;
  line-height: 3;
  background: transparent;
  overflow: hidden;
  border-radius: 0.5rem;
  border: 1px solid #707070; }

input[type=text] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  outline: 0;
  box-shadow: none;
  border: 0 !important;
  background: transparent;
  background-image: none;
  flex: 1;
  padding: 0.9rem 1.1rem;
  color: #707070;
  cursor: pointer;
  -webkit-transition: .25s all ease;
  -o-transition: .25s all ease;
  transition: .25s all ease;
  font-size: 1.4rem;
  font-family: 'RobotoCondensed-Light', sans-serif; }

/* Transition */
.input:hover {
  color: #1D1D1B; }

::-webkit-input-placeholder, :-moz-placeholder {
  color: #AFAFAF; }

/* -----------------------------------------------------
	CSS Progress Bars
-------------------------------------------------------- */
.cssProgress {
  width: 100%;
  margin-bottom: 20px; }
  .cssProgress .progress {
    position: relative;
    overflow: hidden;
    width: 100%;
    font-family: 'Roboto-Bold', sans-serif; }
  .cssProgress .cssProgress-bar {
    display: block;
    float: left;
    width: 0%;
    height: 100%;
    background: #f86d3a;
    -webkit-transition: width 0.8s ease-in-out;
    -moz-transition: width 0.8s ease-in-out;
    -ms-transition: width 0.8s ease-in-out;
    -o-transition: width 0.8s ease-in-out;
    transition: width 0.8s ease-in-out;
    letter-spacing: 0.3rem; }
  .cssProgress .cssProgress-label {
    position: absolute;
    overflow: hidden;
    left: 0px;
    right: 0px;
    color: #1D1D1B;
    font-size: 1.4rem;
    text-align: center; }
  .cssProgress .cssProgress-stripes,
  .cssProgress .cssProgress-active,
  .cssProgress .cssProgress-active-right {
    background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.125) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.125) 50%, rgba(255, 255, 255, 0.125) 75%, transparent 75%, transparent);
    background-size: 35px 35px; }
  .cssProgress .cssProgress-active {
    -webkit-animation: cssProgressActive 1s linear infinite;
    -moz-animation: cssProgressActive 1s linear infinite;
    -ms-animation: cssProgressActive 1s linear infinite;
    -o-animation: cssProgressActive 1s linear infinite;
    animation: cssProgressActive 1s linear infinite; }
  .cssProgress .cssProgress-active-right {
    -webkit-animation: cssProgressActiveRight 1s linear infinite;
    -moz-animation: cssProgressActiveRight 1s linear infinite;
    -ms-animation: cssProgressActiveRight 1s linear infinite;
    -o-animation: cssProgressActiveRight 1s linear infinite;
    animation: cssProgressActiveRight 1s linear infinite; }

@-webkit-keyframes cssProgressActive {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 35px 35px; } }

@-moz-keyframes cssProgressActive {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 35px 35px; } }

@-ms-keyframes cssProgressActive {
  .cssProgress 0% {
    background-position: 0 0; }
  .cssProgress 100% {
    background-position: 35px 35px; } }

@-o-keyframes cssProgressActive {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 35px 35px; } }

@keyframes cssProgressActive {
  0% {
    background-position: 0 0; }
  100% {
    background-position: 35px 35px; } }

@-webkit-keyframes cssProgressActiveRight {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -35px -35px; } }

@-moz-keyframes cssProgressActiveRight {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -35px -35px; } }

@-ms-keyframes cssProgressActiveRight {
  .cssProgress 0% {
    background-position: 0 0; }
  .cssProgress 100% {
    background-position: -35px -35px; } }

@-o-keyframes cssProgressActiveRight {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -35px -35px; } }

@keyframes cssProgressActiveRight {
  0% {
    background-position: 0 0; }
  100% {
    background-position: -35px -35px; } }

/* -----------------------------------------------------
	Progress Bar
-------------------------------------------------------- */
.progress {
  background-color: #FFFFFF;
  border-radius: 0.5rem;
  border: 1px solid #AFAFAF; }
  .progress .cssProgress-bar {
    height: 37px; }
  .progress .cssProgress-label {
    line-height: 37px; }

html {
  font-size: 62.5%; }

body {
  margin-right: 0 !important;
  margin-left: 0 !important;
  font-size: 1.4rem; }

.invisible {
  visibility: hidden;
  height: 0;
  overflow: hidden; }

a {
  text-decoration: none; }
  a:hover {
    -webkit-transition: .25s all ease;
    -o-transition: .25s all ease;
    transition: .25s all ease; }

h2, h3 {
  text-transform: uppercase;
  font-family: 'Roboto-Bold', sans-serif;
  font-size: 3.4rem;
  letter-spacing: 0.68rem;
  color: #1D1D1B; }

h4 {
  font-family: 'RobotoCondensed-Light', sans-serif;
  color: #AFAFAF;
  font-size: 1.4rem; }

.container {
  width: 100%;
  max-width: 1300px; }

.header_logo {
  background: #FFFFFF;
  text-align: center;
  padding: 27px 0;
  margin: 0; }
  .header_logo img {
    max-width: 307px; }

.header_banner {
  margin: 0;
  height: 300px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center; }
  .header_banner--title {
    background: #FFFFFF;
    padding: 2.4rem 4.2rem; }
    .header_banner--title h1 {
      font-size: 2.6rem;
      text-transform: uppercase;
      padding-bottom: 1.3rem;
      line-height: 3.4rem; }
      .header_banner--title h1 span {
        font-family: 'Roboto-Bold', sans-serif;
        letter-spacing: 0.25em;
        color: #000000; }
        .header_banner--title h1 span:first-child {
          color: #FFE42F; }
    .header_banner--title h2 {
      font-family: 'RobotoCondensed-Light', sans-serif;
      text-transform: none;
      color: #AFAFAF;
      font-size: 1.6rem;
      letter-spacing: 0.16rem;
      line-height: 1.9rem; }

.section {
  padding: 0 4rem; }
  @media only screen and (min-width: 48rem) {
    .section {
      padding: 0 7rem; } }
  @media only screen and (min-width: 62rem) {
    .section {
      padding: 0 5rem; } }
  @media only screen and (min-width: 75rem) {
    .section {
      padding: 0 125px; } }
  .section#music .button {
    text-transform: inherit; }

.videos_item {
  padding-top: 9.0rem; }
  .videos_item--preview {
    text-align: left; }
    @media only screen and (min-width: 62rem) {
      .videos_item--preview {
        text-align: right; } }
    @media only screen and (min-width: 48rem) {
      .videos_item--preview > div {
        display: inline-block;
        text-align: left;
        position: relative;
        top: 1.2rem;
        right: 1.4rem; } }
    .videos_item--preview > div img {
      max-width: 234px; }
    .videos_item--preview > div h4 {
      padding-top: 1rem; }
  .videos_item--infos {
    text-align: left; }
    .videos_item--infos h2 {
      font-family: 'Roboto-Black', sans-serif;
      line-height: 4.5rem;
      margin-bottom: 0.5rem;
      letter-spacing: 0.45rem;
      font-weight: bold;
      font-size: 2.6rem; }
    .videos_item--infos > span {
      display: block;
      font-family: 'RobotoCondensed-Light', sans-serif;
      color: #AFAFAF;
      line-height: 2.2rem;
      margin-bottom: 2.4rem; }
      .videos_item--infos > span a {
        color: inherit;
        font-weight: bold; }
        .videos_item--infos > span a:hover {
          text-decoration: underline; }
    .videos_item--infos select {
      display: block; }
    .videos_item--infos .button {
      margin-right: 2rem; }
  .videos_item--tooltip {
    text-align: left;
    position: relative;
    top: 24px;
    padding-bottom: 6rem; }
    .videos_item--tooltip::before {
      content: "";
      position: absolute;
      width: 2px;
      height: 106px;
      background: #F0B02D;
      left: 0;
      top: 0; }
    .videos_item--tooltip span {
      text-transform: uppercase;
      font-family: 'Roboto-Bold', sans-serif;
      color: #F0B02D;
      display: block;
      font-size: 1.4rem;
      letter-spacing: 0.28rem;
      line-height: 1.9rem;
      padding-bottom: 2.9rem;
      padding-left: 5px; }
    .videos_item--tooltip p {
      padding-left: 5px;
      font-family: 'RobotoCondensed-Light', sans-serif;
      color: #585858;
      font-size: 1.6rem;
      line-height: 1.9rem; }
      .videos_item--tooltip p a {
        color: #F0B02D; }
        .videos_item--tooltip p a:hover {
          text-decoration: underline; }
    .videos_item--tooltip::after {
      content: "";
      position: absolute;
      width: 260px;
      height: 1px;
      background: #AFAFAF;
      bottom: 0;
      left: 50%;
      margin-left: -130px; }
    @media only screen and (min-width: 62rem) {
      .videos_item--tooltip {
        padding-bottom: 0; }
        .videos_item--tooltip::after {
          display: none; } }

.generator_item--alignment {
  font-family: 'RobotoCondensed-Light', sans-serif;
  color: #585858;
  font-size: 1.6rem;
  line-height: 1.9rem; }
  .generator_item--alignment input[type=radio], .generator_item--alignment label {
    vertical-align: middle;
    padding: 0;
    margin: 0;
    cursor: pointer; }
  .generator_item--alignment input[type=radio] {
    margin-right: 0.5rem; }
  .generator_item--alignment label {
    padding-right: 2rem; }

.generator_item--styles {
  margin-top: 14px; }

.generator_item--form fieldset {
  padding: 14px 0 0 0; }
  .generator_item--form fieldset.hidden {
    display: none; }
  .generator_item--form fieldset .txtInput {
    margin-bottom: 1.8rem; }
    .generator_item--form fieldset .txtInput--large {
      max-width: 360px; }

.generator_item--form #generator_controls {
  position: relative; }
  .generator_item--form #generator_controls #progress {
    display: none;
    position: absolute;
    top: 0;
    max-width: 360px; }
  .generator_item--form #generator_controls.loading #submitBtn {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0); }
  .generator_item--form #generator_controls.loading #progress {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    display: block; }

.generator_item--status {
  padding-top: 1rem;
  font-family: 'RobotoCondensed-Light', sans-serif;
  font-size: 1.6rem;
  line-height: 1.9rem; }
  .generator_item--status #errors {
    color: #f86d3a; }
  .generator_item--status #results {
    color: #585858; }
    .generator_item--status #results a {
      color: #f86d3a; }
      .generator_item--status #results a:hover {
        text-decoration: underline; }

.transitions {
  background: #f86d3a;
  margin: 90px 0 0 0;
  padding-top: 80px;
  padding-bottom: 32px; }
  .transitions_title {
    text-align: left;
    margin: 0 0 7rem 0; }
    .transitions_title h2 {
      text-transform: uppercase;
      color: #1D1D1B;
      display: block;
      line-height: 4.5rem;
      letter-spacing: 0.45rem;
      font-weight: bold;
      font-size: 2.6rem; }
    .transitions_title h4 {
      display: block; }
      .transitions_title h4 span {
        color: #FFFFFF;
        opacity: 0.6;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
        filter: alpha(opacity=60);
        font-size: 1.4rem;
        line-height: 2.2rem; }
        .transitions_title h4 span:first-child {
          opacity: 1;
          -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
          filter: alpha(opacity=100);
          padding-right: 1rem; }
  .transitions_item {
    text-align: center;
    margin-bottom: 48px;
    padding-right: 2rem;
    padding-left: 2rem; }
    .transitions_item img {
      width: 100%; }
    .transitions_item h4 {
      color: #FFFFFF;
      font-size: 1.4rem;
      line-height: 1.7rem;
      margin: 0.9rem 0 1.2rem; }

.footer {
  margin: 0 auto; }
  .footer h3 {
    margin-bottom: 0.5rem;
    line-height: 4.5rem; }
  .footer span {
    font-family: 'RobotoCondensed-Light', sans-serif;
    color: #AFAFAF;
    font-size: 1.8rem;
    line-height: 2.2rem; }
  .footer_contacts {
    margin: 4rem 0 0 0; }
    .footer_contacts--phone, .footer_contacts--email {
      font-family: 'RobotoCondensed-Light', sans-serif;
      color: #AFAFAF;
      text-align: center; }
      .footer_contacts--phone:hover, .footer_contacts--email:hover {
        color: #1D1D1B; }
    .footer_contacts--phone {
      font-size: 2.7rem;
      line-height: 3.3rem; }
    .footer_contacts--email {
      font-size: 2.5rem;
      line-height: 3rem;
      position: relative;
      top: -0.1rem; }
    @media only screen and (min-width: 75rem) {
      .footer_contacts--phone {
        text-align: right;
        padding-right: 4rem; }
      .footer_contacts--email {
        text-align: left;
        padding-left: 4rem; } }
  .footer_signature {
    background: #000000;
    margin-top: 9rem;
    padding: 4rem;
    color: #FFFFFF; }
    .footer_signature--annecy {
      text-align: left; }
      .footer_signature--annecy a {
        color: #FFFFFF;
        text-transform: uppercase;
        text-decoration: none;
        font-family: 'RobotoCondensed-Light', sans-serif;
        font-size: 1.4rem;
        line-height: 1.7rem;
        letter-spacing: 0.42rem; }
        .footer_signature--annecy a:hover {
          color: #707070; }
    .footer_signature--fullstory {
      text-align: right; }
      .footer_signature--fullstory span {
        vertical-align: top;
        font-size: 1.4rem;
        color: #FFFFFF; }
      .footer_signature--fullstory a {
        vertical-align: top;
        margin-top: 0.4rem;
        display: inline-block; }
        .footer_signature--fullstory a:hover {
          opacity: 0.5;
          -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
          filter: alpha(opacity=50); }
        .footer_signature--fullstory a img {
          width: 14rem;
          margin-left: 1.5rem; }
