@charset "UTF-8";

header {
  background: url("/img/bg.png") repeat-x;
  height: 110px;
  border-bottom: 5px solid #ebebeb;
  padding-top: 15px;
}

ul.stepper {
  counter-reset: section;
  overflow-y: hidden;
  overflow-x: hidden;
  margin: 0.5em 0 1em -1.5rem;
}

ul.stepper li a {
  padding: 1.5rem;
  text-align: center;
}

ul.stepper li a .circle {
  display: inline-block;
  color: #fff;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.38);
  width: 1.75rem;
  height: 1.75rem;
  text-align: center;
  line-height: 1.7rem;
  margin-right: 0.5rem;
}

ul.stepper li a .label {
  display: inline-block;
  color: rgba(0, 0, 0, 0.38);
}

ul.stepper li a.disabled {
  cursor: default;
}

ul.stepper li a:hover {
  text-decoration: none;
}

ul.stepper li.active a .label,
ul.stepper li.completed a .label {
  font-weight: 600;
  color: rgba(0, 0, 0, 0.87);
}

.stepper-horizontal {
  position: relative;
  display: flex;
  justify-content: space-between;
}

.stepper-horizontal li {
  transition: 0.5s;
  display: flex;
  align-items: center;
  flex: 1;
  position: relative;
}

.stepper-horizontal li a .label {
  margin-top: 0.63rem;
}

.stepper-horizontal li:not(:last-child):after {
  content: "";
  position: relative;
  flex: 1;
  margin: 0.5rem 0 0 0;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
}

.stepper-horizontal li:not(:first-child):before {
  content: "";
  position: relative;
  flex: 1;
  margin: 0.5rem 0 0 0;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.1);
}

.stepper-horizontal li:hover {
  background-color: rgba(0, 0, 0, 0.06);
}

.stepper-horizontal > li:not(:last-of-type) {
  margin-bottom: 0 !important;
}

.primary-color,
ul.stepper li.active a .circle,
ul.stepper li.completed a .circle {
  background-color: #4285f4 !important;
}

.danger-color,
ul.stepper li.warning a .circle {
  background-color: #ff3547 !important;
}

#calendar {
  /* Front - Calendar */
  /* Back - Calendar */
  /* Flip animation */
}

#calendar .content {
  font-family: "Roboto", sans-serif;
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  max-width: 600px;
  width: 100%;
}

#calendar .calendar {
  background: #eee;
  border-radius: 4px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
  -webkit-perspective: 1000;
          perspective: 1000;
  transition: 0.9s;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  width: 100%;
}

#calendar .current-date {
  background: #9e9e9e;
  border-bottom: 1px solid #545b62;
  display: block;
  justify-content: space-between;
  width: 100%;
}

#calendar .current-date h1 {
  color: #fff;
  font-size: 1.4em;
  font-weight: 300;
}

#calendar .current-date h2 {
  color: #fff;
  font-size: 1em;
  font-weight: 300;
}

#calendar .front {
  -webkit-transform: rotateY(0deg);
          transform: rotateY(0deg);
}

#calendar .front .week-days {
  color: #2b2b2b;
  display: flex;
  justify-content: space-between;
  font-weight: 600;
  list-style: none;
  margin: 0 5px;
}

#calendar .front .days {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#calendar .front .weeks {
  color: #fff;
  display: flex;
  flex-direction: column;
}

#calendar .front .weeks div {
  display: flex;
  font-size: 1.2em;
  font-weight: 300;
  justify-content: space-between;
  margin-bottom: 20px;
  width: 100%;
}

#calendar .front .weeks span {
  padding: 10px;
  opacity: 0.8;
  border: rgba(0, 0, 0, 0.1);
  position: relative;
}

#calendar .front .weeks span p {
  top: 10px;
  left: 12px;
  position: absolute;
  z-index: 3;
}

#calendar .front .weeks span b {
  visibility: hidden;
}

#calendar .front .weeks span i {
  z-index: 1;
}

#calendar .front .weeks span i.turn-1 {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  border-top: 20px solid #C96259;
  border-left: 25px solid #C96259;
  border-right: 21px solid transparent;
  border-bottom: 28px solid transparent;
  top: 0;
  left: 0;
}

#calendar .front .weeks span i.turn-2 {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  border-bottom: 20px solid #C96259;
  border-right: 25px solid #C96259;
  border-left: 21px solid transparent;
  border-top: 28px solid transparent;
  top: 0;
  left: 0;
}

#calendar .front .weeks span.other-month {
  opacity: 0.6;
}

#calendar .front .weeks span.past-day {
  opacity: 0.4;
  color: #2b2b2b;
  text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.5);
  -webkit-background-clip: text;
  -moz-background-clip: text;
  background-clip: text;
}
#calendar .front .weeks span.day-off {
  color: red;
}
#calendar .front .weeks span.today {
  background: #3a5461;
}

#calendar .front .weeks span.not-available:not(.past-day) {
  background: #C96259;
}

#calendar .front .weeks span.available:not(.past-day):not(.not-available) {
  opacity: 1;
  background: #2ecc71;
}

#calendar .front .weeks span.available:not(.past-day):not(.not-available):hover {
  cursor: pointer;
  color: #fff;
  opacity: 0.7;
}

#calendar .front .weeks span.active::before {
  content: " ";
  background: #f78536;
  display: block;
  z-index: 2;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

#calendar .front .event {
  position: relative;
}

#calendar .front .event:after {
  content: "\2022";
  color: #f78536;
  font-size: 1.4em;
  position: absolute;
  right: -4px;
  top: -4px;
}

#calendar .back {
  /*height: 100%;*/
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
backface-visibility: hidden;
    position: absolute;
    transition: transform .6s linear;
    width: 100%;
}


#calendar .back .info {
  color: #9e9e9e;
  display: flex;
  flex-direction: column;
  font-weight: 600;
  font-size: 1.2em;
  padding: 30px 40px;
}

#calendar .back .info .btn-outline-primary {
  color: #4285f4;
  border-color: #4285f4;
}

#calendar .back .info .btn-outline-primary.active,
#calendar .back .info .btn-outline-primary:hover {
  border-color: #4285f4;
  background: #4285f4;
}

#calendar .back .info .btn-outline-primary.active *,
#calendar .back .info .btn-outline-primary:hover * {
  color: #fff;
}

#calendar .back .info span {
  font-weight: 300;
}

#calendar .back .info .date {
  display: flex;
  justify-content: space-between;
}

#calendar .back .info .date p {
  width: 100%;
}

#calendar .back .turns a {
  white-space: normal;
}

#calendar .actions {
  /*bottom: 0;
  position: absolute;*/
  border-top: 1px solid #9e9e9e;
  display: flex;
  justify-content: space-between;
  width: 100%;
}

#calendar .actions button {
  background: none;
  border: 0;
  color: #9e9e9e;
  font-weight: 600;
  letter-spacing: 3px;
  margin: 0;
  padding: 30px 0;
  text-transform: uppercase;
  width: 50%;
}

#calendar .actions button.disabled {
  opacity: 0.5;
}

#calendar .actions button:first-of-type {
  border-right: 1px solid #9e9e9e;
}

#calendar .actions button:hover {
  background: #9e9e9e;
  cursor: pointer;
  color: #fff;
}

#calendar .actions button.disabled:hover {
  background: transparent;
  cursor: default;
  color: #9e9e9e;
}

#calendar .actions button:active {
  background: #9e9e9e;
  outline: none;
}

#calendar .flip {
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
}

#calendar .front,
#calendar .back { 
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.display-4 span {
  font-size: 32px;
}

.custom-control {
  min-height: 2.5rem;
}

label.error {
  color: red;
}

.paycomet {
  position: fixed;
  top: 0;
  left: 0;
  background: #ffffff;
  z-index: 9999;
  min-height: 100%;
  /* Fallback for vh unit */
  min-height: 100vh;
  /* You might also want to use
                      'height' property instead.
                      
                      Note that for percentage values of
                      'height' or 'min-height' properties,
                      the 'height' of the parent element
                      should be specified explicitly.
  
                      In this case the parent of '.vertical-center'
                      is the <body> element */
  /* Make it a flex container */
  display: flex;
  /* Align the bootstrap's container vertically */
  align-items: center;
  /* In legacy web browsers such as Firefox 9
  we need to specify the width of the flex container */
  width: 100%;
  /* Also 'margin: 0 auto' doesn't have any effect on flex items in such web browsers
      hence the bootstrap's container won't be aligned to the center anymore.
  
      Therefore, we should use the following declarations to get it centered again */
  justify-content: center;
}

.paycomet-iframe {
  min-height: 100%; 
  min-height: 100vh;
}

.load {
  position: fixed;
  top: 0;
  left: 0;
  background: #ffffffd1;
  z-index: 9999;
  min-height: 100%;
  /* Fallback for vh unit */
  min-height: 100vh;
  /* You might also want to use
                      'height' property instead.
                      
                      Note that for percentage values of
                      'height' or 'min-height' properties,
                      the 'height' of the parent element
                      should be specified explicitly.
  
                      In this case the parent of '.vertical-center'
                      is the <body> element */
  /* Make it a flex container */
  display: flex;
  /* Align the bootstrap's container vertically */
  align-items: center;
  /* In legacy web browsers such as Firefox 9
  we need to specify the width of the flex container */
  width: 100%;
  /* Also 'margin: 0 auto' doesn't have any effect on flex items in such web browsers
      hence the bootstrap's container won't be aligned to the center anymore.
  
      Therefore, we should use the following declarations to get it centered again */
  justify-content: center;
}

.loader {
  border: 16px solid #f3f3f3;
  /* Light grey */
  border-top: 16px solid #3498db;
  /* Blue */
  border-radius: 50%;
  width: 120px;
  height: 120px;
  -webkit-animation: spin 2s linear infinite;
          animation: spin 2s linear infinite;
  margin: auto;
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

.fastpay-btn img {
  max-width: 100%;
  min-width: 181px;
  max-height: 44px;
}

@media (max-width: 47.9375rem) {
  ul.stepper {
    counter-reset: none;
    overflow-y: hidden;
    overflow-x: hidden;
    margin: 0.5em 0 1em -1.5rem;
    display: block;
  }

  .stepper-horizontal {
    flex-direction: unset;
  }

  .stepper-horizontal li {
    align-items: initial;
    flex-direction: initial;
    width: 50%;
    display: block;
    float: left;
    position: relative;
    flex: none;
    padding: 2em 0 1em 0;
  }

  .stepper-horizontal li a .label {
    flex-flow: column nowrap;
    order: 2;
    margin-top: 0.2rem;
  }

  .stepper-horizontal li:not(:last-child):after {
    content: "";
    position: absolute;
    width: 1px;
    height: calc(100% - 40px);
    left: 2.19rem;
    top: 3.75rem;
  }
}

