﻿* {
  margin: 0;
  padding: 0; }

body {
  display: flex;
  /* establish flex container */
  flex-direction: column;
  /* make main axis vertical */
  justify-content: center;
  /* center items vertically, in this case */
  align-items: center;
  /* center items horizontally, in this case */
  height: 100%;
  width: 100%;
  font-family: "Montserrat", sans-serif;
  min-height: 100vh; }

header {
  padding: 20px 0; }

main {
  width: 100%;
  flex-shrink: 1;
  flex-basis: auto; }

p {
  font-size: 25px;
  line-height: 45px; }

a {
  text-decoration: none;
  cursor: pointer; }
  a:focus {
    outline: none; }

button {
  cursor: pointer; }

label {
  width: 20%;
  float: left;
  font-size: 20px;
  text-align: right;
  padding-right: 40px; }

input[type="text"] {
  width: calc(80% - 4px);
  float: left;
  border: 2px solid #e4e4e4;
  border-radius: 0;
  background: white;
  height: 50px;
  padding: 20px;
  font-size: 20px;
  font-family: "Montserrat", sans-serif; }
  input[type="text"]:focus {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    outline: none; }

.container {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
  position: relative; }

.logo {
  width: 85px;
  height: 100px;
  background-image: url("../img/logo.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  margin: 15px auto; }

.logo-homepage {
  height: 175px;
  background-image: url("../img/header_cannes.jpg");
  background-repeat: no-repeat;
  background-position: center;
  margin: 15px auto; }

.footer {
  height: 330px;
  background-image: url("../img/footer_cremagest_cannes.jpg");
  background-repeat: no-repeat;
  background-position: center;
  margin: 15px auto;
  padding: 36px; }

.footer-container {
  height: 100%;
  max-width: 1020px;
  margin: auto;
  display: flex; }

.display-footer-logo {
  width: 100px;
  border-radius: 100px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
  float: left;
  height: 100px; }

.display-footer-logo img {
  width: 100px;
  height: 100px; }

.display-footer-description {
  float: left;
  margin-left: 50px;
  width: 80%; }

.display-footer-description div {
  color: #fff;
  font-size: 12px;
  font-family: 'Ubuntu', sans-serif; }

.display-footer-description p {
  color: #fff;
  font-size: 12px;
  font-family: 'Ubuntu', sans-serif;
  margin: 0;
  line-height: 24px; }

.display-footer-description a {
  color: #fff;
  font-size: 12px; }

.display-footer-description h4 {
  font-size: 16px;
  color: #fff;
  border-bottom: solid 1px #fff;
  width: 250px;
  line-height: 28px;
  margin-bottom: 8px; }

.description-item-description-item-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: 50px; }

.logo-text {
  max-width: 150px;
  width: 100%;
  margin: auto;
  text-align: center;
  font-weight: 600;
  text-transform: uppercase; }

.form-search {
  background-color: #dadada;
  padding: 75px 60px;
  overflow: hidden;
  max-width: 1140px;
  margin: auto;
  margin-top: 20px; }

.result-container {
  margin-top: 20px; }

.form-container {
  float: left;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 20px; }
  .form-container:last-of-type {
    padding-bottom: 0; }

.content {
  max-width: 950px;
  width: 100%;
  margin: 200px auto 50px;
  text-align: center; }
  .content p {
    padding-bottom: 100px; }

.btn {
  color: white;
  font-weight: 800;
  font-size: 25px;
  text-transform: uppercase;
  padding: 27px 110px;
  background-color: #e04552;
  border: 0;
  border-radius: 5px;
  display: inline-block; }

.btn-back {
  position: relative;
  text-transform: uppercase;
  padding-left: 40px;
  font-size: 25px;
  font-weight: 600;
  background: none;
  border: 0;
  outline: none;
  margin-left: 52px; }
  .btn-back:before {
    position: absolute;
    content: '';
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 35px;
    width: 20px;
    background-image: url("../img/icons/back.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; }

.btn-wrapper {
  text-align: center;
  width: 100%;
  float: left;
  padding: 10px 0; }

.no-results {
  text-align: center; }
  .no-results img {
    display: block;
    width: 320px;
    height: auto;
    margin: 40px auto; }
  .no-results h2 {
    font-size: 32px;
    margin-bottom: 10px; }
  .no-results p {
    font-size: 18px;
    line-height: 24px;
    margin-bottom: 40px; }
  .no-results div {
    font-size: 0;
    text-align: center; }
  .no-results a {
    display: inline-block;
    font-size: 20px;
    color: #e04552; }

.ui-keyboard-input-current {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none; }

.ui-widget button {
  padding: 20px 35px;
  color: black !important;
  height: auto;
  line-height: 1;
  font-size: 14px;
  font-weight: normal !important;
  font-family: "Montserrat", sans-serif;
  background: #f5f5f5 !important;
  border: 1px solid #cecece !important;
  margin: 4px; }
  .ui-widget button.ui-keyboard-enter {
    background: #63b100 !important;
    color: white !important; }
  .ui-widget button.ui-keyboard-alt.ui-state-active span {
    text-indent: -9999px;
    position: relative; }
    .ui-widget button.ui-keyboard-alt.ui-state-active span:before {
      position: absolute;
      content: 'abc';
      left: 50%;
      transform: translateX(-50%);
      top: 0;
      text-indent: 0; }

.ui-state-hover {
  font-weight: normal; }

.ui-keyboard {
  background: #dadada;
  width: 100%;
  padding: 0;
  border: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  left: 0;
  top: auto;
  bottom: 0;
  position: relative; }

.ui-keyboard-keyset {
  -webkit-box-shadow: 0 0 20px -7px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0 0 20px -7px rgba(0, 0, 0, 0.75);
  box-shadow: 0 0 20 -7px rgba(0, 0, 0, 0.75); }

.ui-keyboard-bksp,
.ui-keyboard-shift {
  position: relative;
  text-indent: -9999px; }
  .ui-keyboard-bksp:after,
  .ui-keyboard-shift:after {
    position: absolute;
    content: '';
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-image: url("../img/icons/backspace.svg");
    height: 20px;
    width: 25px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; }
  .ui-keyboard-bksp.ui-keyboard-shift:after,
  .ui-keyboard-shift.ui-keyboard-shift:after {
    background-image: url("../img/icons/shift.png");
    height: 20px;
    width: 16px; }
  .ui-keyboard-bksp.ui-keyboard-shift.ui-state-active:after,
  .ui-keyboard-shift.ui-keyboard-shift.ui-state-active:after {
    background-image: url("../img/icons/shift-active.png"); }

.ui-keyboard-space {
  width: 38.4em; }

.ui-keyboard-cancel .ui-keyboard-text {
  position: relative;
  padding-left: 15px; }
  .ui-keyboard-cancel .ui-keyboard-text:before {
    position: absolute;
    content: '';
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 10px;
    width: 7px;
    background-image: url("../img/icons/back.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain; }

.slider-single {
  background-color: #dadada;
  padding: 16px;
  max-width: 1024px;
  margin: auto;
  position: relative; }

.slide-results {
  display: flex;
  flex-wrap: wrap;
  margin: 0px; }
  .slide-results li {
    list-style: none;
    width: calc(50% - 12px);
    background-color: white;
    border: 2px solid #e4e4e4;
    margin: 4px; }
  .slide-results .result-content {
    max-width: 350px;
    height: 176px;
    margin: auto;
    padding: 8px;
    text-align: center;
    overflow: hidden; }
  .slide-results .name, .slide-results .date {
    font-size: 14px;
    line-height: 24px; }
  .slide-results .name {
    font-weight: 600; }
  .slide-results .link {
    color: #e04552;
    font-size: 16px;
    font-weight: 600;
    padding-top: 20px;
    float: left;
    width: 100%; }

.slick-arrow {
  position: absolute;
  top: 50%;
  background: none;
  font-size: 0;
  border: 0; }
  .slick-arrow:focus {
    outline: none; }
  .slick-arrow:before {
    width: 20px;
    height: 35px;
    position: absolute;
    content: '';
    background-image: url("../img/icons/back.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    left: 0; }

.slick-next {
  right: -70px;
  transform: rotate(180deg); }

.slick-prev {
  left: -70px; }

.preloader-overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.25);
  z-index: 9999; }

.preloader-graphic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 150px;
  height: 150px;
  background: #fff;
  border-radius: 5px;
  box-shadow: 1px 1px 30px rgba(0, 0, 0, 0.125); }

.preloader-ring {
  width: 56px;
  height: 56px; }
  .preloader-ring:after {
    display: block;
    width: 100%;
    height: 100%;
    margin: 1px;
    border-radius: 50%;
    box-sizing: border-box;
    border: 5px solid #e04552;
    border-color: #e04552 transparent #e04552 transparent;
    animation: spin 1.2s linear infinite;
    content: ''; }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.loading {
  width: 100%; }
  .loading .result-content .name {
    margin: auto;
    height: 100px;
    background-image: radial-gradient(white, white 99%, transparent 0), linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 80%), linear-gradient(lightgray 20px, transparent 0), linear-gradient(lightgray 20px, transparent 0), linear-gradient(lightgray 20px, transparent 0);
    background-repeat: no-repeat;
    background-size: 0 0, 30% 100%, 60% 100%, 100% 100%, 100% 100%;
    background-position: 0 0, 0 0, 60% 0, 20% 40px, 20% 80px;
    animation: shine_line 1s infinite; }
