@import url(root.css);
@import url(fonts.css);
@import url(common.css);

* {
	box-sizing     : border-box;
	scroll-behavior: smooth;
	scroll-margin  : 150px;
	margin         : 0;
	padding        : 0;
}

html,
body {
	min-height : 100%;
	font-family: var(--main-font), system-ui, Arial, sans-serif;
	font-weight: 400;
	font-size  : var(--main-font-size);
	color      : var(--font-color);
}

h1,
h2,
h3,
h4 {
	font-family: var(--h1-font), system-ui, Arial, sans-serif;
	font-weight: 600;
	margin     : 0;
  line-height: 1em;
}

h1 {
	font-size: var(--h1-font-size);
  position: relative;
  letter-spacing: 0.1em;
  font-size: clamp(1em, 10vw, 4em);
  white-space: nowrap;
}

h2 {
	font-size: var(--h2-font-size);
  letter-spacing: 0.1em;
}

h3 {
	font-size: var(--h3-font-size);
	font-family: inter, system-ui, Arial, sans-serif;
}

h4 {
	font-family: inter, system-ui, Arial, sans-serif;
}

footer h4 {
	font-family: var(--h1-font), system-ui, Arial, sans-serif;
  letter-spacing: 0.2em;
}

footer .contacto svg {
  width: 1em;
}

h3, h4 {
  font-weight: bold;
}

ul {
  list-style-type: none;
  margin-block-start: 0;
  padding-inline-start: 0;
}

ul li:not(:last-child) {
	margin-bottom: 10px;
}

#servicios #por-que-flawless ul li:not(:last-child) {
  margin-bottom: 30px;
}

footer ul li:not(:last-child) {
  margin-bottom: 10px;
}


header {
	color           : var(--header-font-color);
	font-size       : var(--header-font-size);
  font-weight: bold;
  font-family: inter;
  /* overflow: hidden; */
  background : white;
  box-shadow: none;
  transition: all 0.3s ease;
  background : var(--header-bg-color);
}

header .logo {
  transition: all 0.3s ease;
  padding: 10px 0;
}

header nav a {
  padding: 15px 0;
  position: relative;
}

header .active::after {
  content: ''; 
  height: 3px;
  width: 30px;
  position: absolute;
  background-color: #AC841E;
  bottom: 14px;
  right: 50%;
  transform: translateX(50%);
} 

header #hamburger svg {
  filter: invert(1);
}

header.scrolled #hamburger svg {
  filter: none;
}

header.scrolled {
  color: var(--font-color);
  background-color: white;
  box-shadow: var(--box-shadow)
}

header.scrolled nav .logo {
  filter: invert(1);
}

footer {
	font-size: var(--footer-font-size);
  background-color: #222222;
  padding: 60px 0 30px;
  border-top: 4px solid #AF831F;
}

footer ul {
  margin-top: 20px;
}

footer .grid {
  margin-bottom: 50px;
}

footer h4 {
  color: #AC841E;
}

footer .contenido {
  padding: 30px 15px;
}

footer .copy {
  background-color: var(--tertiary-color);
}

footer .copy .contenido {
  padding: 5px 15px;
}

footer ul.contacto li {
  display: flex;
  align-items: center;
  gap: 5px;
}

footer ul.contacto li svg path[fill="currentColor"], footer ul.contacto li svg circle[fill="currentColor"] {
  fill: #AC841E;
}

table {
	border-spacing: 0;
	width         : 100%;
}

th,
td{
	padding        : 5px 0;
	border-collapse: collapse;
}

hr {
	border    : none;
	border-top: #ccc solid 1px;
	margin    : 20px auto;
	width     : min(1000px, 95%);
	margin-top: 100px;
}

/* section:not(#home section) { */
/* 	padding: 0 10px; */
/* } */

section {
	margin: var(--margin-sections);
}

section:first-of-type {
	margin-top: 0;
}


strong {
	font-style: italic;
	font-family: sing, system-ui, Arial, sans-serif;
  font-size: 20px;
}

#banner strong {
  font-size: clamp(1.5em, 9vw, 3em);
  white-space: nowrap;
}

#banner .absolute .flex {
  gap: 20px
}

img {
	max-width: 100%;
}

button,
button[type="button"],
.btn {
	border       : 1px solid var(--font-color);
	padding      : 3px 8px;
  letter-spacing: 0.02em;
  background-color: #AC841E;
  white-space: nowrap;
	border-radius: 5px;
	font-family: bebasneue, system-ui, Arial, sans-serif;
  font-size: 20px;
	text-align   : center;
  min-width: 60px;
	cursor       : pointer;
	display      : inline-block;
  color: var(--font-color);
}

header .btn {
  color: white;
  background-color: #ce2028;
  border: 1px solid white
}

.error {
  font-size: 11px;
  color: red;
  font-weight: bold;
}

.logo {
  width: 220px;
  max-width: 100%;
}

.btn:hover, button:hover, button[type="button"]:hover {
  background-color: white;
  color: #262626
}

a {
	text-decoration: none
}

a>svg,
span>svg {
	vertical-align: middle;
	height        : 100%;
	width         : 100%;
}

input:-webkit-autofill {
	background-color  : white !important;
	-webkit-box-shadow: 0 0 0 1000px white inset !important;
	box-shadow        : 0 0 0 1000px white inset !important;
	color             : black !important;
}

input,
select,
textarea {
	display: block;
	padding: 7px 10px;
	width  : 100%;
  border-radius: 7px;
  border: 1px solid #333
}

input.invalid,
select.invalid,
select.invalid,
textarea.invalid {
	border          : 2px solid red;
	background-color: #ffe6e6;
  color: red
}

select,
select option {
  color: #777;
}

select.checked, select.checked option {
  color: var(--font-color);
}

input:focus {
	/* background-color   : white; */
	outline         : none;
	border-radius   : 7px;
	/* border       : 2px solid black; */
}

input:focus.invalid {
	outline: none;
	border : 2px solid red
}

label {
	display: block;
}

label {
	margin: 15px 0;
}


.contenido {
	max-width: var(--contenido);
	margin   : auto;
	padding  : 15px;
	/* position : relative; */
}

.loader {
	border-radius   : 50%;
	border          : 3px solid black;
	border-top-color: transparent;
	animation       : spin 1.2s linear infinite;
	height          : 50px;
	width           : 50px;
	position        : absolute;
	top             : 0;
	bottom          : 0;
	right           : 0;
	left            : 0;
	margin          : auto;
}


#pages {
	margin-top: 50px;
}

#pages .active {
	color: #990000;
}

.sombra {
  background-color: rgba(0, 0, 0, 0.3);
  height: 100%;
  width: 100%;
}

details > summary:first-of-type {
  list-style: none;
}

details > summary {
  display: flex;
  gap: 10px;
  cursor: pointer;
}

details > summary::before {
  content: '+';
  height: max-content;
  transition: all 0.3s ease-in-out;
}

details[open] > summary::before {
  transform: rotate(45deg);
}

summary {
  color: white;
  padding: 15px 20px;
}

details {
  user-select: none;
  overflow: hidden;
  margin-bottom: 3px;
  outline-offset: -3px;
}

.w3-dropdown-content {
  background-color: var(--tertiary-color);
  text-transform: uppercase;
  font-size: 13px;
  top: 55px;
  left: -16px;
  min-width: 124px;
}

.wa-flotante {
  position: fixed;
  z-index: 99;
  bottom: 30px;
  right: 25px;
  text-align: center;
  font-weight: bold;
}

.wa-flotante img {
  filter: drop-shadow(-2px 2px 8px rgba(0,0,0,0.3));
  width: 70px;
}

.f-azul {
  background-color: #ECF0F3;
}

footer .logo {
  margin-top: 30px;
  width: min(100%, 170px);
}

#contacto .img-wrapper img {
  border-radius: 7px;
}

/* oculta header */
@media screen and ((min-width: 600px) and (max-width: 990px)) {
  .w3-hide-small {
    display: none!important;
  }
  .w3-hide-medium {
    display: block!important;
  }
  #hamburger {
    right: 125px!important;
  }
  header .active::after {
    bottom: -5px;
  }
}

@media only screen and (min-width:601px) {
  header.scrolled .logo {
		width : 180px;
	}
}

@media screen and ((min-width: 600px) and (max-width: 950px)) {
}

@media screen and (max-width:900px) {
  #inicio #sectores .grid.g-4 {
    grid-template-columns: 1fr 1fr;
  }
}

@media only screen and (max-width:600px) {
	h2 {
		font-size: var(--h2-small-font-size);
	}

	h3 {
		font-size: var(--h3-small-font-size);
	}

  button[type="button"], .btn {
    padding: 10px 5px;
    width: min(200px, 100%);
  }

  .logo {
    width: 170px;
  }

  .btn, .btn-dark {
    font-size: 15px;
    padding: 5px;
  }

  footer .flex {
    flex-direction: column;
  }
  footer ul.contacto li {
    justify-content: center;
  }

  .wa-flotante {
    bottom: 20px;
    right: 10px
  }

  .wa-flotante img {
    width: 60px;
  }

  #banner .absolute .flex {
    gap: 10px
  }
}


@keyframes spin {
	to {
		transform: rotate(360deg)
	}
}
