a,
.slider__item,
.slider-controls__arrows .prev svg,
.slider-controls__arrows .next svg {
  transition: .3s ease-in-out
}

.horizontal,
.horizontal--laptop,
.horizontal--desktop,
.carousel,
.slider-controls__counters {
  display: flex;
  flex-direction: row;
  justify-content: space-between
}

.vertical,
.horizontal--laptop,
.horizontal--desktop {
  display: flex;
  flex-direction: column
}

.slider-controls__counters {
  justify-content: center;
  align-items: center
}


.flex {
  flex: 1 1 auto
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center
}

.flex-column {
  display: flex;
  flex-direction: column
}

.grid-center {
  display: grid
}

.lista-limpa {
  list-style: none;
  padding: 0;
  margin: 0
}

@media screen and (min-width: 601px) {
  .horizontal--laptop {
  }

  .horizontal--laptop.spacing>*+* {
    margin-left: var(--spacing)
  }

  .horizontal--laptop .pull-order {
    order: 999
  }
}

@media screen and (min-width: 801px) {
  .horizontal--desktop {
    flex-direction: row
  }

  .horizontal--desktop.spacing>*+* {
    margin-left: var(--spacing)
  }

  .horizontal--desktop .pull-order {
    order: 999
  }
}

.division {
  border-top: 1px solid #f4f4f4;
  padding-top: 30px
}

.grid,
.grid--2-col {
  display: grid;
  grid-gap: var(--spacing)
}

@media screen and (min-width: 601px) {

  .grid,
  .grid--2-col {
    grid-template-columns: repeat(3, 1fr)
  }
}

@media screen and (min-width: 601px) {
  .grid--2-col {
    grid-template-columns: repeat(2, 1fr)
  }
}

.page-content,
.hero {
  padding-top: 30px;
  padding-bottom: 30px
}

@media screen and (max-width: 800px) {

  .page-content,
  .hero {
    padding-top: 15px;
    padding-bottom: 15px
  }
}

.page-heading {
  color: #707070;
  display: inline-block;
  font-size: 1.6em;
  font-weight: bold
}

.page-grid {
  position: relative;
  border-radius: .5rem;
  border: solid 1px #eee;
  background: #fff;
  padding: 1rem;
  word-break: break-word
}

@media screen and (min-width: 1201px) {
  .page-grid {
    display: flex;
    flex-direction: row;
    justify-content: space-between
  }

  .page-grid>* {
    flex: 1 1 auto
  }

  .page-grid .sidebar,
  .page-grid .filtro-lateral {
    flex: 0 0 20em;
    margin-left: 60px
  }

  .page-grid .filtro-lateral {
    order: 2
  }
}

.wrapper,
.hero {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0
}

@media screen and (max-width: 1200px) {

  .wrapper,
  .hero {
    padding-left: 15px;
    padding-right: 15px
  }
}

.hero {
  background-color: #038C4C;
  color: #fff;
  border-radius: 8px
}

.icon {
  display: inline-block;
  vertical-align: middle
}

.icon+* {
  vertical-align: middle;
  margin-left: .5em
}

.icon>svg {
  line-height: 0;
  display: block;
  vertical-align: text-top;
  color: inherit;
  width: 1em;
  height: 1em
}

.icon>svg circle,
.icon>svg rect,
.icon>svg polygon,
.icon>svg path {
  fill: currentcolor
}

.icon-medium>svg {
  width: 24px;
  height: 24px
}

.icon-large>svg {
  width: 64px;
  height: 64px
}

.video-container,
.embed {
  position: relative;
  height: 0;
  padding-bottom: 56%
}

.video-container-pdf,
.embed-pdf {
  width: 80vw;
  max-width: 1200px;
  padding-bottom: 63%
}

@media screen and (min-aspect-ratio: 8 / 5) {

  .video-container-pdf,
  .embed-pdf {
    width: 120vh
  }
}

.img-fit {
  width: 100%;
  height: 100%;
  object-fit: cover
}


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

  100% {
    transform: rotate(360deg)
  }
}

@keyframes fade-bottom {
  0% {
    transform: translateY(50px);
    opacity: 0
  }

  100% {
    transform: translateY(0);
    opacity: 1
  }
}

@keyframes fade-left {
  0% {
    transform: translateX(-100px);
    opacity: 0
  }

  100% {
    transform: translateX(0);
    opacity: 1
  }
}

@keyframes fade-right {
  0% {
    transform: translateX(100px);
    opacity: 0
  }

  100% {
    transform: translateX(0);
    opacity: 1
  }
}

.carousel {
  overflow-x: auto
}

.carousel-container {
  position: relative
}

.carousel-set {
  overflow-x: hidden
}

.carousel-set[data-controls~="arrows"].pull-arrows {
  padding-left: 60px;
  padding-right: 60px
}

.carousel-set[data-controls~="arrows"].pull-arrows+* .slider-controls__arrows .prev,
.carousel-set[data-controls~="arrows"].pull-arrows+* .slider-controls__arrows .next {
  color: dimgray;
  background: none
}

.carousel-set[data-controls~="arrows"].pull-arrows+* .slider-controls__arrows .prev:hover,
.carousel-set[data-controls~="arrows"].pull-arrows+* .slider-controls__arrows .prev:focus,
.carousel-set[data-controls~="arrows"].pull-arrows+* .slider-controls__arrows .prev:active,
.carousel-set[data-controls~="arrows"].pull-arrows+* .slider-controls__arrows .next:hover,
.carousel-set[data-controls~="arrows"].pull-arrows+* .slider-controls__arrows .next:focus,
.carousel-set[data-controls~="arrows"].pull-arrows+* .slider-controls__arrows .next:active {
  color: #000
}

.carousel__item {
  flex: 1 1 30%
}

.carousel__item[data-order="1"],
.carousel__item[data-order="2"],
.carousel__item[data-order="3"],
.carousel__item[data-order="4"] {
  margin-left: 0
}

.carousel__item:not([data-order="0"]):not([data-order="1"]):not([data-order="2"]):not([data-order="3"]):not([data-order="4"]):not([data-order="5"]):not([data-order="6"]):not([data-order="7"]):not([data-order="8"]):not([data-order="9"]) {
  display: none
}

@media screen and (max-width: 800px) {
  .carousel__item:not([data-order="0"]):not([data-order="1"]) {
    display: none
  }
}

@media screen and (max-width: 600px) {
  .carousel__item:not([data-order="0"]) {
    display: none
  }
}

.carousel__item.slide-to-left {
  animation: slide-to-left .2s ease-in-out forwards
}

.carousel__item.slide-to-right {
  animation: slide-to-right .2s ease-in-out forwards
}

@keyframes slide-to-left {
  0% {
    transform: translateX(100%)
  }

  100% {
    transform: translateX(0%)
  }
}

@keyframes slide-to-right {
  0% {
    transform: translateX(-100%)
  }

  100% {
    transform: translateX(0%)
  }
}

.slider-container {
  position: relative
}

.slider-set {
  position: relative;
  width: 100%;
  overflow: hidden
}

.slider__item {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: translateX(0);
  transition-duration: .5s
}

.slider__item.prev {
  transform: translateX(-100%)
}

.slider__item.next {
  transform: translateX(100%)
}

.slider__item.next.prev {
  transform: translateX(0)
}

.slider__item.current {
  position: relative;
  z-index: initial;
  opacity: 1;
  transform: translateX(0)
}

.slider-controls__arrows .prev,
.slider-controls__arrows .next {
  padding: 0;
  position: absolute;
  top: 0;
  bottom: 0;
  color: rgba(244, 244, 244, 0.7);
  background: none;
  border: 0 none;
  border-radius: 0
}

.slider-controls__arrows .prev:hover,
.slider-controls__arrows .prev:focus,
.slider-controls__arrows .prev:active,
.slider-controls__arrows .next:hover,
.slider-controls__arrows .next:focus,
.slider-controls__arrows .next:active {
  color: white;
  background-color: transparent;
  border: 0 none;
  box-shadow: none
}

.slider-controls__arrows .prev:hover svg,
.slider-controls__arrows .prev:focus svg,
.slider-controls__arrows .prev:active svg,
.slider-controls__arrows .next:hover svg,
.slider-controls__arrows .next:focus svg,
.slider-controls__arrows .next:active svg {
  transform: scale(1.4)
}

.slider-controls__arrows .prev svg,
.slider-controls__arrows .next svg {
  display: block;
  color: inherit
}

.slider-controls__arrows .prev svg>*,
.slider-controls__arrows .next svg>* {
  fill: currentcolor
}

.slider-controls__arrows .prev {
  left: 0;
  padding-right: 30px;
  background-image: linear-gradient(to left, transparent, rgba(0, 0, 0, 0.5))
}

.slider-controls__arrows .prev svg {
  transform-origin: left
}

.slider-controls__arrows .next {
  right: 0;
  padding-left: 30px;
  background-image: linear-gradient(to right, transparent, rgba(0, 0, 0, 0.5))
}

.slider-controls__arrows .next svg {
  transform-origin: right
}

.slider-set[data-controls~="counters"],
.carousel-set[data-controls~="counters"] {
  margin-bottom: 30px
}

.slider-controls__counters {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0
}

.slider-controls__counters>button,
.slider-controls__counters>.btn {
  margin: 0 5px;
  padding: 5px;
  font-size: 0;
  color: transparent;
  border: 0 none;
  border-radius: 5px;
  transform: translateY(20px)
}

.slider-controls__counters>button:not(.is-active),
.slider-controls__counters>.btn:not(.is-active) {
  background-color: #9c9c9c
}

.slider-controls__counters>button.is-active,
.slider-controls__counters>.is-active.btn {
  background-color: #0B7A41
}

.slider-controls__counters>button.is-active:hover,
.slider-controls__counters>.is-active.btn:hover {
  background-color: #0B7A41
}