/*
Theme Name: TESSA
Version: 1.0
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

.container {
  width: 100%;
  max-width: 80%;
  position: relative;
}

.block {
  display: flex;
  flex-direction: column;
  border-radius: 1.25rem;
  background-color: #FFFFFF;
  border: 1px solid #F9F9F9;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}

/* 
** Texts 
*/
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  color: #404042;
  font-family: "Barlow", sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
h1 span.touch, h2 span.touch, h3 span.touch, h4 span.touch, h5 span.touch, h6 span.touch {
  color: #FF6F00;
  font-weight: 200;
}

p, a {
  margin: 0;
  font-family: "Poppins", sans-serif;
  font-style: normal;
}

p {
  color: #8F8F8F;
  font-size: 1.1rem;
}

/* 
** Divisors 
*/
.divisor {
  margin: 1.25rem 0;
  height: 0.125rem;
  background-color: #FF6F00;
}

.dv-2 {
  width: 2rem;
}

.dv-3 {
  width: 3rem;
}

.dv-4 {
  width: 4rem;
}

.dv-5 {
  width: 5rem;
}

/* 
** Buttons 
*/
.btn {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 0.935rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  border-width: 0;
  border-radius: 0.45rem;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  text-transform: uppercase;
  transition: ease-in-out 0.25s;
}

.btn-ico-l svg {
  width: 0.875rem;
  margin-right: 1.25rem;
  pointer-events: none;
}

.btn-ico-r svg {
  width: 0.875rem;
  margin-left: 1.25rem;
}

.btn-white {
  color: #404042;
  background-color: #ffffff;
}

.btn-white:hover {
  color: #ffffff;
  background-color: #404042;
}
.btn-white:hover svg path {
  stroke: #ffffff;
}

.btn-orange {
  color: #ffffff;
  background-color: #FF6F00;
}

.btn-orange:hover {
  background-color: #404042;
}

.btn-white-orange {
  color: #FF6F00;
  background-color: #ffffff;
  border: 2px solid #FF6F00;
}

.btn-white-orange:hover {
  color: #ffffff;
  background-color: #FF6F00;
}
.btn-white-orange:hover svg path {
  stroke: #ffffff;
}

.btn-s-1 {
  padding: 1.25rem;
}

.btn-s-2 {
  padding: 1.25rem 2rem;
}

.btn-s-3 {
  padding: 1.25rem 3rem;
}

.btn-s-4 {
  padding: 1.25rem 4rem;
}

.btn-backpage {
  display: flex;
  padding: 1rem;
  background-color: #ffffff;
  border: 1px solid #F9F9F9;
  border-radius: 0.875rem;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  transition: ease-in-out 0.25s;
  position: absolute;
  top: -5rem;
  right: -5rem;
  z-index: 99;
}
.btn-backpage svg {
  width: 1rem;
  height: 1rem;
  pointer-events: none;
}
.btn-backpage:hover {
  background-color: #404042;
}
.btn-backpage:hover svg path {
  stroke: #ffffff;
}

/* 
** List Icons 
*/
.list-icons ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.list-icons ul li {
  display: flex;
  align-items: center;
  margin: 0 0 1rem;
  padding: 1rem 1rem;
  background-color: #FFFFFF;
  border: 1px solid #F9F9F9;
  border-radius: 0.45rem;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  color: #7B7B7D;
  font-size: 1rem;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.list-icons ul li img {
  width: 1.75rem;
  margin-right: 0.875rem;
}

.list-icons-text ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.list-icons-text ul li {
  display: flex;
  align-items: center;
  margin: 2rem 0 0;
}
.list-icons-text ul li .description span {
  color: #7B7B7D;
  font-size: 1.1rem;
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.list-icons-text ul li .description p {
  margin: 0;
  font-size: 1.1rem;
}
.list-icons-text ul li img {
  width: 3.75rem;
  margin-right: 0.875rem;
}

/* 
** Form
*/
.form {
  display: flex;
  flex-direction: column;
  margin-top: 2.5rem;
  align-items: end;
}
.form .field-item {
  display: flex;
  width: 100%;
  padding-bottom: 2.5rem;
}
.form .field-item .field {
  display: flex;
  width: 100%;
  padding: 1.25rem;
  color: #404042;
  font-size: 1rem;
  font-family: "Poppins", sans-serif;
  font-style: normal;
  border: 1px solid #D1D1D1;
  border-radius: 0.313rem;
}
.form .btn-ico-r svg {
  margin-left: 3rem;
}

/* 
** Video and Slider
*/
.controls .btn-control {
  display: flex;
  padding: 1rem;
  background-color: #5B5B5F;
  border-radius: 0.45rem;
  position: absolute;
  top: 1.7rem;
  right: 1.5rem;
  z-index: 999;
  transition: ease-in-out 0.2s;
}
.controls .btn-control svg {
  width: 1.25rem;
  height: auto;
}
.controls .btn-control:hover {
  background-color: #FF6F00;
}
.controls .btn-control:nth-child(2) {
  top: 5.5rem;
}
.controls .is-active {
  background-color: #FF6F00;
}

.media {
  position: relative;
}

.video,
.gallery-container {
  display: none;
}
.video.is-active,
.gallery-container.is-active {
  display: block;
}

.video {
  width: 100%;
}
.video video, .video iframe {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16/9;
  border-radius: 1.875rem;
  border: 1px solid #F9F9F9;
  box-shadow: 0 15px 15px rgba(0, 0, 0, 0.15);
}

.gallery {
  width: 100%;
  overflow: hidden;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border-radius: 1.875rem;
  border: 1px solid #F9F9F9;
  box-shadow: 0 15px 15px rgba(0, 0, 0, 0.15);
}
.gallery .gallery-wrapper {
  display: flex;
  width: 100%;
  cursor: grab;
}
.gallery .gallery-wrapper:active {
  cursor: grabbing;
}
.gallery .item {
  flex: 0 0 100%;
  width: 100%;
}
.gallery .item img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
  pointer-events: none;
}

.gallery-controls .gallery-btn {
  display: flex;
  padding: 1rem;
  background-color: #ffffff;
  border: 1px solid #F9F9F9;
  border-radius: 0.875rem;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  transition: ease-in-out 0.25s;
  position: absolute;
  top: calc(50% - 1rem);
  z-index: 9999;
}
.gallery-controls .gallery-btn svg {
  width: 1rem;
  height: 1rem;
}
.gallery-controls .gallery-btn.prev {
  left: -1.5rem;
}
.gallery-controls .gallery-btn.next {
  right: -1.5rem;
  transform: rotate(180deg);
}
.gallery-controls .gallery-btn:hover {
  background-color: #404042;
  border-color: #404042;
}
.gallery-controls .gallery-btn:hover svg path {
  stroke: #ffffff;
}

/* 
** Nav Tabs
*/
.nav-tabs {
  display: flex;
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.nav-tabs #institucional a {
  background-image: url("../img/navtab/bg-navtab-001.webp");
}
.nav-tabs #estrutura a {
  background-image: url("../img/navtab/bg-navtab-002.webp");
}
.nav-tabs #clamp a {
  background-image: url("../img/navtab/bg-navtab-003.webp");
}
.nav-tabs #carport a {
  background-image: url("../img/navtab/bg-navtab-004.webp");
}
.nav-tabs .item {
  display: flex;
  width: 33.333%;
  position: relative;
  border-radius: 1.25rem;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  transition: ease-in-out 0.2s;
}
.nav-tabs .item a {
  display: flex;
  width: 100%;
  padding: 4rem 1.875rem;
  text-decoration: none;
  background-size: cover;
  border-radius: 1.25rem;
}
.nav-tabs .item a span {
  color: #FFFFFF;
  font-family: "Poppins", sans-serif;
  font-size: 1.2rem;
}
.nav-tabs .item a svg {
  width: 1rem;
  height: 1rem;
  position: absolute;
  bottom: 1.25rem;
  right: 1.25rem;
}
.nav-tabs .item:hover {
  box-shadow: 0 10px 20px rgba(255, 111, 0, 0.5);
}
.nav-tabs .item:hover a svg path {
  stroke: #FF6F00;
}

/* 
** Page Transitions 
*/
@view-transition {
  navigation: auto;
}
::view-transition-old(root) {
  animation: slide-out 0.45s cubic-bezier(0.4, 0, 0.2, 1) both;
  will-change: transform, opacity;
}

::view-transition-new(root) {
  animation: slide-in 0.45s cubic-bezier(0.4, 0, 0.2, 1) both;
  will-change: transform, opacity;
}

@keyframes slide-out {
  to {
    transform: translateX(-40px);
    opacity: 0;
  }
}
@keyframes slide-in {
  from {
    transform: translateX(40px);
    opacity: 0;
  }
}
/* 
** Responsive Design
*/
@media (min-width: 3840px) and (max-width: 4096px) {
  .container {
    zoom: 2;
  }
}
@media (min-width: 2048px) and (max-width: 3440px) {
  .container {
    max-width: 84%;
    zoom: 1.4;
  }
}
@media (min-width: 1500px) and (max-width: 1650px) {
  .container {
    max-width: 85%;
  }
  p {
    font-size: 0.935rem;
  }
  .btn {
    font-size: 0.935rem;
  }
  .btn-backpage {
    right: -2.5rem;
  }
  .form .field-item .field {
    font-size: 0.935rem;
  }
  .list-icons ul li {
    margin-bottom: 1.1rem;
    padding: 0.875rem;
  }
  .list-icons ul li img {
    width: 1.5rem;
    margin-right: 0.75rem;
  }
  .list-icons-text ul li .description span {
    font-size: 0.935rem;
  }
  .list-icons-text ul li .description p {
    font-size: 0.935rem;
  }
  .nav-tabs .item a {
    padding: 3rem 1.5rem;
  }
  .nav-tabs .item a span {
    font-size: 0.935rem;
  }
}
@media (min-width: 1200px) and (max-width: 1440px) {
  .container {
    max-width: 85%;
  }
  p {
    font-size: 0.875rem;
  }
  .btn {
    font-size: 0.875rem;
  }
  .btn-backpage {
    right: -2.5rem;
  }
  .form .field-item .field {
    font-size: 0.875rem;
  }
  .list-icons ul li {
    padding: 0.875rem;
    font-size: 0.875rem;
  }
  .list-icons ul li img {
    width: 1.5rem;
    margin-right: 0.75rem;
  }
  .list-icons-text ul li .description span {
    font-size: 0.875rem;
  }
  .list-icons-text ul li .description p {
    font-size: 0.875rem;
  }
  .nav-tabs .item a {
    padding: 3rem 1.5rem;
  }
  .nav-tabs .item a span {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) and (max-width: 1080px) {
  .container {
    max-width: 90%;
  }
  p {
    font-size: 1rem;
  }
  .btn {
    font-size: 1rem;
  }
  .btn-backpage {
    right: 0;
  }
  .form .field-item .field {
    font-size: 1rem;
  }
  .list-icons ul li {
    padding: 0.875rem;
  }
  .list-icons ul li img {
    width: 1.5rem;
    margin-right: 0.75rem;
  }
  .list-icons-text ul li .description span {
    font-size: 1rem;
  }
  .list-icons-text ul li .description p {
    font-size: 1rem;
  }
  .nav-tabs .item a {
    padding: 3.5rem 2rem;
  }
  .nav-tabs .item a span {
    font-size: 1.1rem;
  }
}
@media (max-width: 767px) {
  body {
    min-height: initial;
    padding: 2rem 0;
  }
  .container {
    max-width: 90%;
  }
  .block {
    border-radius: 0.75rem;
  }
  p {
    font-size: 0.875rem;
  }
  .btn {
    width: 100%;
    font-size: 0.875rem;
    justify-content: center;
  }
  .btn-s-2 {
    padding: 0.875rem 2rem;
  }
  .btn-backpage {
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.625rem;
    margin-bottom: 1.25rem;
    position: relative;
    top: 0;
    right: 0;
  }
  .btn-backpage svg {
    width: 0.875rem;
  }
  .controls .btn-control {
    padding: 0.625rem;
    top: 1rem;
    right: 1rem;
  }
  .controls .btn-control svg {
    width: 0.875rem;
  }
  .controls .btn-control:nth-child(2) {
    top: 3.5rem;
  }
  .video video, .video iframe {
    border-radius: 0.875rem;
  }
  .gallery {
    border-radius: 0.875rem;
  }
  .gallery .item img {
    aspect-ratio: 1/1;
    -o-object-position: center;
       object-position: center;
  }
  .gallery-controls {
    display: none;
  }
  .form {
    margin-top: 1rem;
  }
  .form .field-item {
    padding-bottom: 1rem;
  }
  .form .field-item .field {
    padding: 1rem;
    font-size: 0.75rem;
  }
  .list-icons ul li {
    padding: 0.875rem;
    font-size: 0.875rem;
  }
  .list-icons ul li img {
    width: 1.5rem;
    margin-right: 0.75rem;
  }
  .list-icons-text ul li .description span {
    font-size: 0.875rem;
  }
  .list-icons-text ul li .description p {
    font-size: 0.875rem;
  }
  .nav-tabs {
    flex-direction: column;
  }
  .nav-tabs .item {
    width: 100%;
  }
  .nav-tabs .item a {
    padding: 3.5rem 2rem;
    border-radius: 0.75rem;
  }
  .nav-tabs .item a span {
    font-size: 1rem;
  }
}/*# sourceMappingURL=core.css.map */