@charset "UTF-8";
/*
 * Tema CSS de terax.es ─ Anael González Paz (C) 2023
 * Edición: 20/09/2023
 * Edición previa: 01/09/2023
 */

html {
  height: 100%;
}
body {
  font-family: "Lato", Verdana, sans-serif;
  margin: 0;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
h1,
h2,
h3,
h4,
h5 {
  font-family: "Montserrat", Tahoma, sans-serif;
}
footer {
  display: flex;
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-content: center;
  background-color: rgb(var(--terax-colour-contrast-background, 68, 68, 68));
  padding-top: 32px;
  padding-bottom: 120px;
}
footer span {
  color: rgb(var(--terax-colour-contrast-foreground, 224, 224, 224));
  padding-bottom: 5px;
}
footer a {
  color: rgb(var(--terax-colour-contrast-link, 210, 210, 210));
}
.terax-menubar {
  width: 100%;
  line-height: normal;
  font-size: 18px;
  background-color: rgb(var(--terax-colour-primary, 42, 156, 105));
  position: sticky;
  top: 0;
  display: flex;
  color: rgb(var(--terax-colour-foreground, 0, 0, 0));
  flex-flow: row wrap;
  justify-content: center;
  align-content: stretch;
}
.terax-menubar-full {
  display: flex;
}
.terax-menubar-small {
  display: none;
  flex-grow: 2;
  flex-flow: row wrap;
  justify-content: space-between;
  margin: 0;
}
.terax-card {
  background-color: rgba(
    var(--terax-colour-background, 255, 255, 255),
    0.85
  );
  text-align: start;
  font-family: "Space Grotesk", sans-serif;
  border-radius: var(--terax-border-radius, 10px);
  padding: 1em;
  padding-left: 2em;
  padding-right: 2em;
  box-shadow: 0 6px 12px 0 rgba(var(--terax-colour-shadow, 0, 0, 0), 0.2);
  transition: 0.6s;
  margin-top: 50px;
  margin-bottom: 50px;
}
.terax-sub-card-light {
  background: rgba(var(--terax-color-background, 255, 255, 255), 0.561);
  border-radius: 5px;
  padding: 16px;
  color: rgb(var(--terax-color-foreground, 0, 0, 0));
}
.terax-header {
  padding-left: 10vw;
  padding-right: 10vw;
  text-align: center;
}
.terax-header-card {
  margin-left: 20vw;
  margin-right: 20vw;
  padding-left: 5vw;
  padding-right: 5vw;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.terax-body {
  padding-bottom: 10vh;
}
.terax-emoji {
  word-spacing: 1rem;
  font-size: 1.75rem;
}
.terax-form {
  display: flex;
  flex-flow: column;
  align-items: center;
}
.terax-main {
  margin-top: 30px;
  margin-left: 10vw;
  margin-right: 10vw;
  text-align: center;
  background-color: rgb(var(--terax-colour-primary, 42, 156, 105));
  background-image: url("/img/main/portada.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: rgb(var(--terax-colour-light, 255, 255, 255));
}
.terax-main-front,
.terax-main-gradient {
  background-color: rgb(0, 0, 0);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  flex-grow: 2;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-content: center;
}
.terax-table {
  display: grid;
  overflow-x: scroll;
}
.terax-table-paragraph {
  text-align: left;
}
.terax-404 {
  background-color: rgb(var(--terax-colour-dark, 0, 0, 0));
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: rgb(var(--terax-colour-light, 255, 255, 255));
  flex-grow: 2;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-content: center;
}
@media (max-width: 640px) and (max-height: 400px) {
  .terax-404 {
    background-image: url(/img/main/404_640.webp);
  }
}
@media ((min-width: 641px) or (min-height: 401px)) and (max-width: 1920px) and (max-height: 1200px) {
  .terax-404 {
    background-image: url(/img/main/404_1920.webp);
  }
}
@media (min-width: 1921px) or (min-height: 1201px) {
  .terax-404 {
    background-image: url(/img/main/404.webp);
  }
}
.terax-main-gradient {
  background: rgb(140, 63, 251);
  background: radial-gradient(
    circle,
    rgba(var(--terax-colour-gradient-main, 140, 63, 251), 1) 0%,
    rgba(var(--terax-colour-gradient-secondary, 70, 237, 252), 1) 100%
  );
  color: rgb(255, 255, 255);
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  justify-content: center;
}
.terax-article {
  text-align: justify;
  line-height: 1.6;
  margin-left: 10vw;
  margin-right: 10vw;
}
.terax-paragraph,
.terax-button {
  font-size: 1.25rem;
}
.terax-target {
  display: block;
  position: relative;
  top: -65px;
  visibility: hidden;
}
.terax-directory-view {
  overflow-x: auto;
}
.terax-card-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2vw;
}
.terax-card-header-title {
  display: flex;
  flex-wrap: nowrap;
  gap: 2vw;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 320px) {
  .terax-card-header-title {
    flex-wrap: wrap;
  }
}
.terax-card-action {
  border: 0px;
  background-color: transparent;
  cursor: pointer;
  color: rgb(var(--terax-colour-foreground-medium, 110, 110, 110));
  transition: color 0.3s ease;
  font-size: 6.2rem;
}
.terax-card-action-text {
  cursor: pointer;
  transition: color 0.3s ease;
}
.terax-card-action-on {
  color: rgb(20, 173, 33);
  transform: rotate(180deg);
}
.terax-hidden {
  display: none;
}
.terax-animated-hide {
  transition: opacity 0.5s linear;
}
.terax-hidden-soft {
  position:absolute;
  opacity: 0;
  visibility: hidden;
}
.terax-social-link {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  gap: 2vw;
  flex-flow: row wrap;
}
.terax-input-error {
  border-style: solid;
  border-width: 4px;
  border-color: rgb(var(--terax-colour-error, 236, 19, 19));
}
.terax-form-error {
  margin-top: 0.5rem;
  color: rgb(var(--terax-colour-error, 236, 19, 19));
}
.terax-form-error-box {
  background-color: rgb(var(--terax-colour-error, 236, 19, 19));
  color: rgb(var(--terax-colour-background, 255, 255, 255));
  margin-top: 16px;
  margin-bottom: 16px;
  padding: 10px;
  border-radius: var(--terax-border-radius-less, 7px);
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0.7rem;
  align-items: baseline;
}
.terax-form-error,
.terax-form-error-box {
  width: 450px;
}
.terax-popup-background {
  position: fixed;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  background: rgba(var(--terax-colour-shadow, 0, 0, 0), 0.8);
  z-index: 9;
}
@media only screen and (max-width: 530px) {
  .terax-menubar {
    flex-direction: column;
  }
  .terax-menubar-full {
    flex-direction: column;
    align-content: center;
    display: none;
  }
  .terax-menubar-small {
    display: flex;
  }
  .terax-flex {
    display: flex;
  }
  .terax-main {
    background-image: linear-gradient(
        rgba(
          var(--terax-colour-primary-darker, 8, 30, 20),
          var(--terax-alpha-primary-darker, .6)
        ),
        rgba(
          var(--terax-colour-primary-darker, 8, 30, 20),
          var(--terax-alpha-primary-darker, .6)
        )
      ),
      url("../img/main/portada.jpg");
  }
  .terax-article {
    text-align: justify;
    margin-left: inherit;
    margin-right: inherit;
  }
  .terax-form-error,
  .terax-form-error-box {
    max-width: 60vw;
  }
}
.terax-form input {
  width: 450px;
}
a.terax-button {
  display: inline-block;
  text-decoration: none;
  background-color: rgb(var(--terax-colour-primary, 42, 156, 105));
  color: rgb(var(--terax-colour-light, 255, 255, 255));
  font-family: "Montserrat", Tahoma, sans-serif;
  padding: 18px;
  border-radius: 8px;
}
img.terax-profile-picture {
  background-color: #07ab73;
  border-radius: 100px;
}
.terax-card-action i {
  transition: transform 350ms ease-out;
}
.terax-directory-view table {
  width: 60vw;
  margin: auto;
  text-align: start;
  border-spacing: 0;
}
.terax-directory-view td {
  padding-left: 12px;
  padding-right: 12px;
}
.terax-paragraph p {
  margin-block-start: 24px;
}
.terax-paragraph a {
  color: rgb(var(--terax-colour-link, 42, 156, 105));
}
.terax-header h1 {
  font-weight: 400;
  font-size: 4rem;
  overflow-wrap: break-word;
}
.terax-header h2 {
  font-size: 2rem;
}
.terax-main h1 {
  font-size: 3.75rem;
  font-weight: 100;
}
.terax-main-gradient h1 {
  margin-bottom: 0;
}
.terax-menubar a,
.terax-menubar button {
  text-align: center;
  text-decoration: none;
  color: rgb(var(--terax-colour-foreground-button, 255, 255, 255));
  padding: 15px;
}
.terax-menubar button {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 18px;
}
.terax-card-header-title h1,
.terax-card-header-title h2,
.terax-card-header-title h3,
.terax-card-header-title h4,
.terax-card-header-title h5 {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
.terax-profile-picture img {
  background-color: #07ab73;
  border-radius: 100px;
}
.terax-card-header-image img {
  opacity: 1;
  width: 100%;
  max-width: 200px;
}
.terax-table table {
  border-style: solid;
  border-color: rgb(var(--terax-colour-foreground, 0, 0, 0));
  border-width: 1px;
  border-spacing: 0px;
}
.terax-table th, .terax-table td {
  border-color: rgb(var(--terax-colour-foreground, 0, 0, 0));
  border-left-style: solid;
  border-left-width: 1px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  padding-top: 8px;
  padding-bottom: 8px;
  padding-left: 16px;
  padding-right: 16px;
}
h1:has(span:target),
h2:has(span:target),
h3:has(span:target),
h4:has(span:target),
h5:has(span:target){
  animation: target-highlight 1s ease;
}
@keyframes target-highlight {
  0% {
    background-color: yellow;
  }
  100% {
    border-left-color: rgb(var(--terax-colour-background, 255, 255, 255));

  }
}
.terax-directory-view tr {
  pointer-events: none;
}
.terax-card-header h1 {
  font-weight: bold;
  font-size: 4rem;
  line-height: 4rem;
}
.terax-card-header h4 {
  font-size: 1.5rem;
  line-height: 1.5rem;
}
.terax-form p {
  margin-bottom: 0.5rem;
}
.terax-form input {
  display: block;
  font-family: sans-serif;
}
footer p.terax-emoji {
  margin-top: 0.5rem;
  margin-bottom: 0;
}
.terax-main-gradient:after {
  flex: 0 0 2rem;
  content: "";
}
@media only screen and (max-width: 1700px) {
  .terax-card-header h1 {
    font-size: 2rem;
    line-height: 2rem;
  }
  .terax-card-header h4 {
    font-size: 1rem;
    line-height: 1rem;
  }
}
@media only screen and (min-width: 531px) and (max-width: 768px) {
  .terax-form input {
    max-width: 50vw;
  }
}
@media only screen and (max-width: 530px) {
  .terax-directory-view table {
    width: max-content;
  }
  .terax-header h1 {
    font-weight: 400;
    font-size: 3rem;
    overflow-wrap: break-word;
  }
  .terax-card-header h1,
  .terax-card-header h4 {
    overflow-wrap: break-word;
  }
  .terax-form input {
    max-width: 60vw;
  }
}
a.terax-external-link::after {
  display: inline-block;
  font-family: ForkAwesome;
  content: "\f08e";
  color: var(--terax-colour-contrast-secondary, 179, 179, 179);
  vertical-align: super;
  font-size: 60%;
  margin: 0 .2em;
}
.terax-directory-view tr a {
  color: var(--terax-colour-foreground, 255, 255, 255);
  pointer-events: all;
  display: block;
  padding: 12px;
}
footer a:hover {
  color: rgb(var(--terax-colour-contrast-link-hover, 255, 255, 255));
}
.terax-form input::selection {
  background-color: rgb(var(--terax-colour-primary-var-control-dark, 13, 163, 81));
  color: rgb(var(--terax-colour-background, 255, 255, 255));
}
.terax-card:hover {
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, var(--terax-alpha-primary, .4));
}
.terax-card .terax-paragraph {
  text-align: justify;
}
.terax-button.disabled {
  background: rgb(var(--terax-colour-button-disabled, 128, 128, 128));
}
@media only screen and (max-width: 530px) {
  .terax-header.terax-card {
    margin-left: 5vw;
    margin-right: 5vw;
  }
}
.terax-directory-view a:has(> img) {
  text-align: center;
}
.terax-form input[type="submit"] {
  display: inherit;
  min-width: initial;
  max-width: initial;
  width: initial;
  margin-top: 2rem;
}
.terax-paragraph a:hover {
  color: rgb(var(--terax-colour-link-hover, 24, 90, 60));
}
a.terax-button:hover {
  background-color: rgb(var(--terax-colour-button-hover, 137, 236, 191));
  color: rgb(var(--terax-colour-foreground, 0, 0, 0));
}
.terax-menubar a.terax-active, .terax-menubar button.terax-active {
  background-color: rgb(var(--terax-colour-background, 255, 255, 255));
  color: rgb(var(--terax-colour-foreground, 0, 0, 0));
}
@media only screen and (max-width: 530px) {
  .terax-menubar-full a.terax-active {
    display: none;
  }
}
.terax-menubar-full a:hover {
  background-color: rgb(var(--terax-colour-menu-hover, 205, 232, 220));
  color: rgb(var(--terax-colour-foreground, 0, 0, 0));
}
@media (hover: hover) {
  .terax-menubar a:hover,
  .terax-menubar button:hover {
    background-color: rgb(var(--terax-colour-menu-hover, 205, 232, 220));
    color: rgb(var(--terax-colour-foreground, 0, 0, 0));
  }
}
.terax-directory-view tr:hover {
  background-color: rgba(var(--terax-colour-primary, 42, 156, 105), var(--terax-alpha-primary-hover, .36));
}
.terax-directory-view tr:active {
  background-color: rgb(var(--terax-colour-primary-dark, 19, 78, 51));
  color: rgb(var(--terax-colour-background, 255, 255, 255));
}
.terax-table th:first-child, .terax-table td:first-child {
  border-left-width: 0px;
}
.terax-table tbody tr:nth-child(odd) {
  background-color: rgba(var(--terax-colour-menu-hover, 205, 232, 220), var(--terax-alpha-primary-contrast, .4));
  color: rgb(var(--terax-colour-foreground, 0, 0, 0));
}
.terax-directory-view tr:active a {
  color: rgb(var(--terax-colour-background, 255, 255, 255));
}
.terax-table tr:last-child td {
  border-bottom-width: 0px;
}
.terax-button.disabled:hover {
  cursor: default;
}
.terax-menubar a.terax-active:hover {
  background-color: rgb(var(--terax-colour-background, 255, 255, 255));
  color: rgb(var(--terax-colour-foreground, 0, 0, 0));
}
.terax-directory-view tr:first-child:hover {
  background-color: unset;
  color: unset;
}
.terax-directory-view tr:first-child:active a {
  color: unset;
}
/*input:not([type="button"]):not([type="reset"]):not([type="submit"]):not(
    [type="image"]
  ) {
  padding: 4px;
  /padding-left: 10px;
  padding-right: 10px;/
  border-radius: var(--terax-border-radius, 10px);
  border: none;
  min-height: 2rem;
  font-size: 2em;
}
input.terax-input-error:not([type="button"]):not([type="reset"]):not(
    [type="submit"]
  ):not([type="image"]) {
  padding: 0px;
  border-style: solid;
  border-width: 4px;
  border-color: rgb(var(--terax-colour-error, 236, 19, 19));
}
input:not([type="button"]):not([type="reset"]):not([type="submit"]):not(
    [type="image"]
  ):focus {
  outline-style: dashed;
  outline-width: 4px;
  outline-color: rgb(var(--terax-colour-primary-var-control, 19, 236, 117));
  box-shadow: 0px 0px 15px 1px
    rgba(var(--terax-colour-foreground, 0, 0, 0), 0.494);
}*/
@media only screen and (max-width: 340px) {
  #terax_cookie_consent_popup h1 {
    font-size: 1rem;
  }
}
#terax_cookie_consent_popup .terax-popup {
  display: flex;
  flex-flow: column;
  align-items: center;
  padding: 10vw;
  border-radius: 10px;
  position: fixed;
  z-index: 10;
  background: rgb(var(--terax-colour-background, 255, 255, 255));
  top: 50%;
  left: 50%;
  width: 100%;
  max-width: 70vw;
  transform: translate(-50%, -50%);
  text-align: justify;
}
#terax_cookie_consent_popup .terax-button {
  flex-grow: 1;
  text-align: center;
  justify-content: center;
  min-height: 2rem;
}
#terax_cookie_consent_popup div.terax-button-box {
  padding-top: 1rem;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  width: inherit;
  gap: 1rem;
}
#terax_cookie_popup_close:checked + #terax_cookie_consent_popup {
  display: none;
}
