/* -------------------- COLORS -------------------- */
/* -------------------- FONTS -------------------- */
/* -------------------- MODIFIERS -------------------- */
/* -------------------- ANIMATION -------------------- */
/*!
 * Bootstrap v4.0.0-alpha.3 (http://getbootstrap.com)
 * Copyright 2011-2016 The Bootstrap Authors
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
.carousel {
  position: relative; }

.carousel-inner {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .carousel-inner > .carousel-item {
    position: relative;
    display: none;
    transition: .6s ease-in-out left; }
    .carousel-inner > .carousel-item > img,
    .carousel-inner > .carousel-item > a > img {
      display: block;
      max-width: 100%;
      height: auto;
      line-height: 1; }
    @media all and (transform-3d), (-webkit-transform-3d) {
      .carousel-inner > .carousel-item {
        transition: transform .6s ease-in-out;
        backface-visibility: hidden;
        perspective: 1000px; }
        .carousel-inner > .carousel-item.next, .carousel-inner > .carousel-item.active.right {
          left: 0;
          transform: translate3d(100%, 0, 0); }
        .carousel-inner > .carousel-item.prev, .carousel-inner > .carousel-item.active.left {
          left: 0;
          transform: translate3d(-100%, 0, 0); }
        .carousel-inner > .carousel-item.next.left, .carousel-inner > .carousel-item.prev.right, .carousel-inner > .carousel-item.active {
          left: 0;
          transform: translate3d(0, 0, 0); } }
  .carousel-inner > .active,
  .carousel-inner > .next,
  .carousel-inner > .prev {
    display: block; }
  .carousel-inner > .active {
    left: 0; }
  .carousel-inner > .next,
  .carousel-inner > .prev {
    position: absolute;
    top: 0;
    width: 100%; }
  .carousel-inner > .next {
    left: 100%; }
  .carousel-inner > .prev {
    left: -100%; }
  .carousel-inner > .next.left,
  .carousel-inner > .prev.right {
    left: 0; }
  .carousel-inner > .active.left {
    left: -100%; }
  .carousel-inner > .active.right {
    left: 100%; }

.carousel-control {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 15%;
  font-size: 20px;
  color: white;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
  opacity: 0.5; }
  .carousel-control.left {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); }
  .carousel-control.right {
    right: 0;
    left: auto;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
    background-repeat: repeat-x;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); }
  .carousel-control:focus, .carousel-control:hover {
    color: white;
    text-decoration: none;
    outline: 0;
    opacity: .9; }
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    font-family: serif;
    line-height: 1; }
  .carousel-control .icon-prev {
    left: 50%;
    margin-left: -10px; }
  .carousel-control .icon-next {
    right: 50%;
    margin-right: -10px; }
  .carousel-control .icon-prev::before {
    content: "\2039"; }
  .carousel-control .icon-next::before {
    content: "\203a"; }

.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  padding-left: 0;
  margin-left: -30%;
  text-align: center;
  list-style: none; }
  .carousel-indicators li {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 1px;
    text-indent: -999px;
    cursor: pointer;
    background-color: transparent;
    border: 1px solid white;
    border-radius: 10px; }
  .carousel-indicators .active {
    width: 12px;
    height: 12px;
    margin: 0;
    background-color: white; }

.carousel-caption {
  position: absolute;
  right: 15%;
  bottom: 20px;
  left: 15%;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: white;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); }
  .carousel-caption .btn {
    text-shadow: none; }

@media (min-width: 544px) {
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    font-size: 30px; }
  .carousel-control .icon-prev {
    margin-left: -15px; }
  .carousel-control .icon-next {
    margin-right: -15px; }

  .carousel-caption {
    right: 20%;
    left: 20%;
    padding-bottom: 30px; }

  .carousel-indicators {
    bottom: 20px; } }
.bg-t-c {
  background-position: center top !important; }

.carousel-caption {
  padding-top: 50px;
  padding-top: 150px; }
  .carousel-caption .step-1 {
    font-size: 3.5rem;
    font-weight: 600;
    line-height: .6;
    margin-bottom: 1rem;
    font-family: 'RemachineScript'; }
    @media (min-width: 768px) {
      .carousel-caption .step-1 {
        font-size: 6rem; } }
  .carousel-caption .step-2 {
    font-size: 2rem;
    line-height: 1;
    margin-bottom: 2rem; }

.home-carousel .carousel-item {
  height: 30rem !important; }
  @media (min-width: 992px) {
    .home-carousel .carousel-item {
      height: 35rem !important; } }
.home-carousel .btn {
  display: block !important; }

.carousel .carousel-indicators li:only-child {
  display: none; }
.carousel.external-controls .carousel-control {
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  background: none; }
  @media (max-width: 767px) {
    .carousel.external-controls .carousel-control {
      display: none; } }
  .carousel.external-controls .carousel-control.left {
    left: -45px; }
  .carousel.external-controls .carousel-control.right {
    right: -45px; }
.carousel.external-controls .carousel-indicators {
  bottom: -1.5rem; }
.carousel.dark-controls .carousel-control .icon {
  color: #5a5a5a; }
.carousel.dark-controls .carousel-indicators li {
  border-color: #5a5a5a; }
.carousel.dark-controls .carousel-indicators .active {
  background-color: #5a5a5a; }
.carousel.circle-controls {
  margin-bottom: 6rem; }
  .carousel.circle-controls .carousel-indicators {
    bottom: -3.5rem;
    height: 7rem;
    margin-bottom: 0; }
    @media (max-width: 543px) {
      .carousel.circle-controls .carousel-indicators {
        width: 80%;
        margin-left: -40%; } }
    .carousel.circle-controls .carousel-indicators li {
      width: 4rem;
      height: 4rem;
      margin-right: 2rem;
      margin-left: 2rem;
      transition: 0.2s cubic-bezier(0, 0, 0.25, 1);
      border: 2px solid #e7e7e7;
      border-radius: 6rem;
      background-color: #aeaeae;
      background-blend-mode: multiply;
      background-position: center center;
      background-size: cover; }
      @media (max-width: 991px) {
        .carousel.circle-controls .carousel-indicators li {
          width: 3rem;
          height: 3rem;
          margin-right: .75rem;
          margin-left: .75rem; } }
      @media (max-width: 543px) {
        .carousel.circle-controls .carousel-indicators li {
          width: 2rem;
          height: 2rem;
          border-width: 1px; } }
      .carousel.circle-controls .carousel-indicators li:hover, .carousel.circle-controls .carousel-indicators li:focus {
        width: 5rem;
        height: 5rem;
        margin-right: 1.5rem;
        margin-left: 1.5rem;
        background-color: #e7e7e7; }
        @media (max-width: 991px) {
          .carousel.circle-controls .carousel-indicators li:hover, .carousel.circle-controls .carousel-indicators li:focus {
            width: 3.5rem;
            height: 3.5rem;
            margin-right: .5rem;
            margin-left: .5rem; } }
        @media (max-width: 543px) {
          .carousel.circle-controls .carousel-indicators li:hover, .carousel.circle-controls .carousel-indicators li:focus {
            width: 2.5rem;
            height: 2.5rem; } }
      .carousel.circle-controls .carousel-indicators li.active {
        width: 6rem;
        height: 6rem;
        margin-right: 1rem;
        margin-left: 1rem;
        border-width: 4px;
        background-color: #f2f2f2; }
        @media (max-width: 991px) {
          .carousel.circle-controls .carousel-indicators li.active {
            width: 4rem;
            height: 4rem;
            margin-right: .25rem;
            margin-left: .25rem;
            border-width: 2px; } }
        @media (max-width: 543px) {
          .carousel.circle-controls .carousel-indicators li.active {
            width: 3rem;
            height: 3rem;
            margin-right: .25rem;
            margin-left: .25rem; } }
.carousel.carousel-captioned .carousel-item {
  background-color: #aeaeae;
  background-blend-mode: multiply;
  height: 22rem; }
.carousel.carousel-captioned a.carousel-item:hover {
  background-color: #999999; }
.carousel.carousel-captioned .carousel-caption {
  top: 5rem;
  max-width: 30rem;
  text-align: left; }
  @media (max-width: 543px) {
    .carousel.carousel-captioned .carousel-caption {
      top: 3rem; } }
.carousel.carousel-captioned .caption-center {
  bottom: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: none;
  text-align: center; }
.carousel.carousel-no-shadow .carousel-control {
  background: none; }
.carousel .carousel-tag {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 50%;
  display: inline-block;
  transform: translateX(-50%);
  pointer-events: none; }
.carousel .carousel-item {
  width: 100%;
  transition: 0.2s cubic-bezier(0, 0, 0.25, 1);
  background-position: center center;
  background-size: cover; }
