* {
    box-sizing: border-box;
  }
  
  html, body {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    min-height: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  h4 {
      font-size: 2rem;
      font-family: "Nissan Light",Verdana,Arial,sans-serif;
      padding: 8px 15px;
      position: relative;
      display: block;
      width: 100%;
  }
  h4::before {
      border-top: 4px solid #c3002f;
      content: " ";
      left: 15px;
      top: 0;
      position: absolute;
      width: 50px;
  }
  
  .form-control::placeholder {
      color: #afafaf;
      opacity: 1;
  }
  
  .grecaptcha-badge {
      opacity: 0.000001;
  }
  .btn-default, .btn-primary {
      border-color: #c3092e;
      background-color: #c3092e;
      text-transform: uppercase;
      border-radius: 0;
  }
  .btn-default:hover,
  .btn-primary:hover {
      color: #fff;
      background-color: #920723;
      border-color: #70051a;
  }
  
  .form-group label.error {
      color: #ff0000 !important;
      text-transform: initial;
      font-size: 0.85rem;
  }
  .custom-check-container {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 14px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  .custom-check-container span {
      text-transform: initial;
  }
  .custom-check-container input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
  }
  .custom-checkmark {
    position: absolute;
    top: 1px;
    left: 0;
    height: 20px;
    width: 20px;
    border-radius: 4px;
    border:1px solid #cccccc;
    background-color: #eee;
  }
  .custom-check-container:hover input ~ .custom-checkmark {
    background-color: #ccc;
  }
  .custom-check-container input:checked ~ .custom-checkmark {
      background-color: #c3092e;
  }
  .custom-checkmark:after {
    content: "";
    position: absolute;
    display: none;
  }
  .custom-check-container input:checked ~ .custom-checkmark:after {
    display: block;
  }
  .custom-check-container .custom-checkmark::after {
      left: 7px;
      top: 3px;
      width: 5px;
      height: 10px;
      border: solid white;
      border-width: 0 2px 2px 0;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg);
  }
  .form-group label {
      text-transform: uppercase;
      color: #343434 !important;
      font-weight: 700;
  }
  
  .select2-container {
      box-sizing: border-box;
      display: inline-block;
      margin: 0;
      position: relative;
      vertical-align: middle;
  }
  .select2-container--default .select2-selection--single {
      background-color: #fff;
      border: 1px solid #d9d9d9;
      border-radius: 4px;
      height: 38px;
  }
  .select2-container--default .select2-selection--single .select2-selection__rendered {
      color: #444;
      line-height: 36px;
  }
  .select2-container--default .select2-selection--single .select2-selection__arrow {
      height: 36px;
      position: absolute;
      top: 1px;
      right: 1px;
      width: 38px;
  }
  .select2-container--default .select2-selection--single .select2-selection__arrow b {
      border: none;
      height: 36px;
      left: 0;
      margin-left: 0;
      margin-top: 0;
      position: absolute;
      top: 0;
      width: 38px;
      background: url('data:image/svg+xml,<svg version="1.1" id="Layer_2_1_" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve"><g><path d="M32,48.1c-1.3,0-2.4-0.5-3.5-1.3L0.8,20.7c-1.1-1.1-1.1-2.7,0-3.7c1.1-1.1,2.7-1.1,3.7,0L32,42.8l27.5-26.1 c1.1-1.1,2.7-1.1,3.7,0c1.1,1.1,1.1,2.7,0,3.7L35.5,46.5C34.4,47.9,33.3,48.1,32,48.1z"/></g></svg>') no-repeat center center;
      background-size: 10px auto;
      filter: invert(12%) sepia(81%) saturate(4224%) hue-rotate(338deg) brightness(102%) contrast(105%);
      filter: invert(17%) sepia(0%) saturate(0%) hue-rotate(15deg) brightness(95%) contrast(88%);
  }
  .select2-dropdown {
      background-color: white;
      border: 1px solid #ccc;
      border-radius: 4px;
      box-sizing: border-box;
      display: block;
      position: absolute;
      left: -100000px;
      width: 100%;
      z-index: 1051;
  }
  .select2-container--default .select2-results__option--highlighted[aria-selected] {
      background-color: #c3092e;
      color: white;
  }
  .select2-container--default .select2-selection--single .select2-selection__placeholder {
      color: #afafaf;
  }
  .select2-container--default .select2-results__option .select2-results__option {
      padding-left: 2em;
  }
  .form-group.ciudad-wrapper {
      position: relative;
  }
  /*#ciudad-error, #modelo-error {
      position: absolute;
      top: 70px;
      left: 0;
  }*/
  .disclaimer-txt {
      font-size: 0.85rem;
      text-align: justify;
  }
  .disclaimer-txt a {
      color: #c3092e;
  }
  
  /****/
  .wrapper-overlay {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: rgba(255,255,255,0.9);
      display: flex;
      justify-content: center;
      align-content: center;
      display: none;
  }
  .loading-sending {
      position: relative;
      margin: 0 auto;
      width: 55px;
      height: 55px;
      border-radius: 50%;
      background: #c3092e;
      display: none;
  }
  .message-result {
      padding: 4rem;
      position: absolute;
      /*top: calc(50% - 30px);*/
      display: none;
      top: 240px;
  }
  .message-result h3 {
      text-align: center;
  }
  .button-submit {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: border-radius linear 0.05s, width linear 0.05s;
  }
  .button-submit:focus {
    outline: 0;
  }
  .button-submit.animate {
      width: 128px;
      height: 128px;
      min-width: 0;
      border-radius: 50%;
      color: transparent;
      padding: 0;
      /*top: calc(50% - 128px);*/
      top: 150px;
  }
  .button-submit.animate::after {
      position: absolute;
      content: '';
      width: 60px;
      height: 60px;
      border: 8px solid #fefefe;
      border-radius: 50%;
      border-left-color: transparent;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      animation: spin ease-in 2.5s forwards;
      animation-name: spin;
      -webkit-animation-name: spin;
      transition-timing-function: ease-in-out;
      -webkit-transition-timing-function: ease-in-out;
      animation-duration: 5s;
      -webkit-animation-duration: 5s;
      animation-fill-mode: forwards;
      -webkit-animation-fill-mode: forwards;
  }
  .loading-sending.button-submit.success {
      background: #34a853;
  }
  .button-submit.animate.success::before {
      position: absolute;
      content: '';
      width: 60px;
      height: 25px;
      border: 8px solid #fefefe;
      border-right: 0;
      border-top: 0;
      left: 50%;
      top: 47%;
      -webkit-transform: translate(-50%, -50%) rotate(0deg) scale(0);
      transform: translate(-50%, -50%) rotate(0deg) scale(0);
      -webkit-animation: success ease-in 0.15s forwards;
      animation: success ease-in 0.15s forwards;
      animation-delay: 5s;
  }
  .button-submit.animate.error {
    position: relative;
    -webkit-animation: vibrate ease-in 0.5s forwards;
    animation: vibrate ease-in 0.5s forwards;
    -webkit-animation-delay: 5s;
    animation-delay: 5s;
  }
  .button-submit.animate.error::before {
      color: #fff;
      position: absolute;
      content: '!';
      font-size: 80px;
      font-weight: bold;
      text-align: center;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%) scale(0);
      transform: translate(-50%, -50%) scale(0);
      -webkit-animation: error ease-in 0.5s forwards;
      animation: error ease-in 0.5s forwards;
      animation-delay: 5s;
  }
  
  @keyframes spin {
    0% {
      transform: translate(-50%, -50%) rotate(0deg) scale(1);
    }
    90% {
      transform: translate(-50%, -50%) rotate(1080deg) scale(1);
    }
    100% {
      transform: scale(0);
    }
  }
  @-webkit-keyframes spin {
    0% {
      -webkit-transform: translate(-50%, -50%) rotate(0deg) scale(1);
    }
    98% {
      -webkit-transform: translate(-50%, -50%) rotate(1080deg) scale(1);
    }
    100% {
      -webkit-transform: translate(-50%, -50%) rotate(1080deg) scale(0);
    }
  }
  @keyframes success {
    from {
      transform: translate(-50%, -50%) rotate(0) scale(0);
    }
    to {
      transform: translate(-50%, -50%) rotate(-45deg) scale(1);
    }
  }
  @-webkit-keyframes success {
    from {
      -webkit-transform: translate(-50%, -50%) rotate(0) scale(0);
    }
    to {
      -webkit-transform: translate(-50%, -50%) rotate(-45deg) scale(1);
    }
  }
  @keyframes error {
    from {
      transform: translate(-50%, -50%) scale(0);
    }
    to {
      transform: translate(-50%, -50%) scale(1);
      background-color: #f44336;
    }
  }
  @-webkit-keyframes error {
    from {
      -webkit-transform: translate(-50%, -50%) scale(0);
    }
    to {
      -webkit-transform: translate(-50%, -50%) scale(1);
      background-color: #f44336;
    }
  }
  @keyframes vibrate {
    0%, 30%, 60%, 85%, 100% {
      left: 0;
      background-color: #f44336;
    }
    10%, 40%, 90%, 70% {
      left: -2px;
      background-color: #f44336;
    }
    20%, 50%, 80%, 95% {
      left: 2px;
      background-color: #f44336;
    }
  }
  .hide-field {
      display: none;
  }
  .select2-container--default .select2-search--dropdown .select2-search__field {
      border: 1px solid #cfcfcf;
      height: 42px;
      line-height: 42px;
      padding: 0.5rem;
  }
  .form-wrapper-data {
      margin-bottom: 20px;
      padding-top: 15px;
  }
  #selected-dates,
  #selected-date {
      display: none;
  }
  .fecha_cita.form-control[readonly] {
      background: #fff;
      box-shadow: none;
  }
  .form-group.date-wrapper {
      position: relative;
  }
  .clear-date {
      position: absolute;
      top: 28px;
      right: 0;
      background: transparent;
      border: none;
      line-height: 36px;
      width: 42px;
      border-left: 1px solid #d9d9d9;
  }
  .clear-date i {
      color: #5c5c5c;
  }
  .form-group {
      display: flex;
      flex-wrap: wrap;
  }
  .error {
      flex: 1 0 100%;
      order: 2;
  }
  .myc-date-header.today,
  .myc-day-time-container.row-today {
      background: #dadbdc;
  }
  @media (max-width: 480px) {
      h4 {
          font-size: 1.45rem;	
          line-height: 1.1;
      }
      .today span {
          top: 6px !important;
          width: 30px !important;
          font-size: 0.6rem !important;
          left: 0 !important;
      }
      .myc-date-display {
          font-size: 0.75rem !important;
      }
      .myc-date-number {
          font-size: 2rem !important;
      }
      #myc-week-container {
          border: none !important;
      }
      #myc-available-time-container {
          border-top: none !important;
      }
      #myc-available-time-container .myc-day-time-container {
          padding-top: 8px !important;
      }
      .myc-date-header {
          display: inline-block;
          min-height: 50px;
          padding: 24px 0 5px !important;
          vertical-align: top;
          width: 13.77%;
          background: #fafbfc;
          border: none;
          width: calc(100% / 7.5) !important;
      }
      .myc-day-time-container {
          display: inline-block;
          height: 100%;
          padding: 0 !important;
          vertical-align: top;
          width: 13.77%;
          width: calc(100% / 7.5) !important;
      }
      .myc-day-time-container {
          display: inline-block;
          height: 100%;
          padding: 0 !important;
          vertical-align: top;
          width: 13.77%;
          width: calc(100% / 7.5) !important;
      }
  }
  .select2-results__option {
      text-overflow: ellipsis;
      overflow: hidden;
      white-space: nowrap;
  }
  .md-text {
      font-size: 1.25rem;
      text-align: center;
      line-height: 1.2;
  }
  .sm-text {
      color: #636363;
      text-align: center;
  }
  .today span.non-available {
      position: absolute;
      bottom: 0;
      background: #303030;
      top: 40px;
      font-size: 0.7rem;
      line-height: 18px;
      height: 18px;
      width: 90px;
      rotate: -30deg;
      left: 5px;
      opacity: 0.75;
  }
  .g-recaptcha {
      margin: 0 auto;
      justify-content: center;
      display: flex;
  }
  /*Change display:none to Block*/
  #submit-button-wrapper {
      display: block;
  }
  .today span.non-available {
      display: none;
  }