/*!
 * gsc2020
 * V: 1.0.1
 * Build on: 2026-05-29 01:35:13
 */

 
* {
  box-sizing: border-box;
}
html,
body {
  padding: 0;
  margin: 0;
}
main {
  padding-top: 4rem;
}
.dedans,
.ict {
  padding: 0.5em 1.25em;
}
header h1 {
  display: none;
}
header h1 .label {
  display: none;
}
section {
  position: relative;
  padding-top: 5rem;
  padding-bottom: 5rem;
}
section:nth-of-type(1) {
  padding-top: 20vw;
  margin-top: 4rem;
}
ul.inside-nav {
  list-style-type: none;
  padding: 0;
}
.inside-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.inside-nav li {
  list-style: none;
  text-align: center;
  width: 100%;
  margin-top: 0.6em;
}
.inside-nav li:nth-of-type(3) {
  margin-top: 1.2em;
}
.inside-nav .contacto {
  padding: 0.3em 0.5em;
  border: none;
  border-radius: 0.4em;
}
@media only screen and (min-width: 600px) {
  .inside-nav li:nth-of-type(1) {
    text-align: right;
    padding-right: 2em;
  }
  .inside-nav li:nth-of-type(2) {
    text-align: left;
    padding-left: 2em;
  }
  .inside-nav li:nth-of-type(1),
  .inside-nav li:nth-of-type(2) {
    width: 50%;
  }
  .inside-nav li:nth-of-type(3) {
    width: 100%;
    margin-top: 1.4em;
  }
}
figure {
  padding: 2em 3%;
}
figure img {
  width: 100%;
}
@media only screen and (min-width: 450px) {
  figure {
    padding: 3em 15%;
  }
}
@media only screen and (min-width: 600px) {
  figure {
    padding: 3em 15%;
  }
}
section ul {
  list-style-type: none;
  padding: 0;
}
section ul li {
  list-style: none;
}
section ul p {
  margin-top: 0.3em;
}
p.boldy {
  margin-bottom: 3rem;
  padding-left: 0.8em;
  padding-right: 0.8em;
}
footer {
  padding-bottom: 5em;
}
footer h2 span {
  display: none;
}
footer h2 {
  width: 20vw;
  height: 20vw;
  margin: auto;
  margin-bottom: 3rem;
  margin-top: 5rem;
}
footer p {
  text-align: center;
  opacity: 0.5;
  font-weight: 700;
  line-height: 1.8;
  font-size: 0.9em;
}

html,
body {
  font-family: 'Source Sans Pro', sans-serif;
  font-size: 16px;
}
main a {
  text-decoration: none;
  border-bottom-style: solid;
  border-bottom-width: 1.5px;
}
p {
  font-weight: 600;
  line-height: 1.35;
}
p.boldy {
  line-height: 1.45;
  text-align: center;
}
p .gsc,
p strong {
  font-weight: 700;
}
header,
h1,
h2,
h3,
h4 {
  font-family: 'IBM Plex Sans', sans-serif;
  text-transform: uppercase;
}
header {
  font-weight: 700;
  font-size: 0.9em;
}
header nav a {
  text-decoration: none;
}
.inside-nav .contacto {
  font-size: 0.95em;
}
section h2 {
  font-size: 3rem;
  font-size: 2.25rem;
  text-align: right;
  word-break: break-all;
  word-break: break-word;
  hyphens: auto;
}
section h3 {
  font-size: 1.4em;
  margin-top: 1.2em;
  margin-bottom: 0;
}
@media only screen and (min-width: 450px) {
  section h2 {
    font-size: 3rem;
    word-break: initial;
    hyphens: initial;
  }
}
footer {
  font-family: 'IBM Plex Sans', sans-serif;
  text-transform: uppercase;
}

body.open {
  overflow: hidden;
}
#sdw {
  position: fixed;
  height: 4rem;
  width: 4rem;
  top: 0px;
  right: 0px;
  z-index: 260;
}
#sdw .label {
  display: none;
}
#sdw:hover {
  cursor: pointer;
}
header {
  position: fixed;
  width: 100%;
  height: 4rem;
  display: block;
  z-index: 45;
}
header nav {
  position: fixed;
  top: 0;
  width: 100vw;
  height: 100vh;
  padding-top: 6rem;
  padding-right: 3rem;
  padding-left: 2rem;
  text-align: right;
  display: block;
  left: -200vh;
}
header h1 {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 50;
  margin: 0;
  width: 4rem;
  height: 4rem;
}
.js li.logo {
  visibility: hidden;
}
body.open nav {
  left: 0;
  z-index: 40;
}
header nav ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
  display: block;
}
header nav > ul {
  padding-top: 2em;
}
header nav li {
  display: block;
  padding-bottom: 0.4em;
  padding-top: 0.4em;
  width: 100%;
  list-style: none;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  cursor: pointer;
}
header nav ul.first > li:last-of-type {
  border: none;
}
header nav a {
  display: block;
  padding-top: 0.4em;
  padding-bottom: 0.4em;
}
header nav li.upper {
  padding: 0;
  margin: 0;
  border: none;
}
header nav li.upper > a {
  display: none;
}
@media only screen and (min-width: 600px) {
  #sdw {
    display: none;
  }
  header nav a.upper {
    display: block;
  }
  body.open {
    overflow: auto;
  }
  header nav {
    padding-top: 0;
    left: 0px;
    height: 4rem;
    line-height: normal;
    text-align: left;
  }
  header nav .logo {
    width: 4rem;
    height: 4rem;
    display: inline-block;
  }
  header nav .logo .label {
    display: none;
  }
  header nav ul {
    display: grid;
    grid-template-columns: 1fr auto auto auto auto auto;
    line-height: 4rem;
    padding-top: 0;
  }
  header {
    position: fixed;
    width: 100%;
  }
  header nav li {
    margin-right: 1.5px;
    padding: 0;
    position: relative;
    border: none;
  }
  header nav li > ul {
    position: absolute;
    width: max-content;
    height: auto;
    left: 0;
    top: 4rem;
    grid-template-columns: 1fr;
    display: grid;
    justify-content: stretch;
    padding: 0;
    display: none;
  }
  header nav li:hover > ul {
    display: block;
  }
  header nav li > ul > li:last-of-type {
    margin-right: 0;
  }
  header {
    display: inline-block;
    line-height: 4rem;
    width: 100%;
  }
  header nav a {
    padding: 0 1em;
  }
  header nav li.upper > a {
    display: block;
  }
}
.upper > a:after {
  content: ">";
  display: inline-block;
  width: 1em;
  color: transparent;
  background: url(down-stroke.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 60%;
  opacity: 0.3;
  margin-left: 0.15em;
}
.upper:hover a:after {
  opacity: 1;
}
nav .lang-item {
  border-bottom: none;
}
nav .lang-item a {
  font-weight: 200;
  padding-left: 0;
  padding-right: 0;
  font-size: 0.95em;
}
nav li.lang-item:hover {
  background-color: transparent;
}
nav .lang-item a:hover {
  font-weight: 800;
  color: #E21135;
  background-color: transparent;
}

@media only screen and (max-width: 599px) {
  body.open footer .email {
    position: fixed;
    top: 80vh;
    z-index: 50;
    font-family: 'IBM Plex Sans', sans-serif;
    padding-right: 3rem;
    left: 0;
    display: block;
    text-align: right;
    width: 100%;
    color: rgba(242, 242, 242, 0.6);
    font-weight: 300;
  }
}

header h1 a {
  background: url('gsc.svg');
  display: block;
  margin-left: 0.5rem;
  margin-top: 0.5rem;
  width: 3rem;
  height: 3rem;
}
@media only screen and (max-width: 599px) {
  body.open header h1 a {
    background: url('gsc-white.svg');
    margin-left: 1rem;
    margin-top: 1rem;
    width: 4rem;
    height: 4rem;
  }
}
#sdw {
  background: url('sdw-open.svg');
  background-size: 30% 30%;
  background-position: center;
  background-repeat: no-repeat;
}
body.open #sdw {
  background: url('sdw-close.svg');
  background-size: 30% 30%;
  background-position: center;
  background-repeat: no-repeat;
}
section.zone:before,
footer.zone:before {
  display: block;
  position: absolute;
  top: -8vw;
  left: 0;
  width: 100%;
  height: 8vw;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-image: url('inter-1.svg');
  margin-top: 0.5px;
  content: "";
}
section:nth-of-type(1):before,
section.inter1.white:before {
  background-image: url('inter-1-white.svg');
}
section.inter1.soft-blue:before {
  background-image: url('inter-1-soft-blue.svg');
}
section.inter1.light-blue:before {
  background-image: url('inter-1-light-blue.svg');
}
section.inter1.soft-red:before {
  background-image: url('inter-1-soft-red.svg');
}
section.inter1.grey:before {
  background-image: url('inter-1-grey.svg');
}
section.inter1.deep-red:before {
  background-image: url('inter-1-deep-red.svg');
}
section.inter2:before,
footer.inter2:before {
  background-image: url('inter-2.svg');
}
section.inter2.faux-blanc:before,
footer.inter2.faux-blanc:before {
  background-image: url('inter-2-faux-blanc.svg');
}
section.inter2.clear-blue:before {
  background-image: url('inter-2-clear-blue.svg');
}
section.inter2.soft-red:before {
  background-image: url('inter-2-soft-red.svg');
}
section.inter2.soft-blue:before {
  background-image: url('inter-2-soft-blue.svg');
}
section.inter2.grey:before {
  background-image: url('inter-2-grey.svg');
}
section.inter2.blanc:before {
  background-image: url('inter-2-blanc.svg');
}
section.inter2.white:before {
  background-image: url('inter-2-white.svg');
}

body {
  color: #1F0701;
  background-color: #EEEDED;
}
main a {
  color: #E21135;
  border-bottom-color: rgba(153, 30, 54, 0.1);
}
main a:hover {
  color: rgba(226, 17, 53, 0.6);
  border-bottom-color: #E21135;
}
p {
  color: #333333;
}
p .gsc,
p strong {
  color: #E21135;
  background-color: rgba(255, 255, 255, 0.6);
}
section {
  background-color: #FBBE00;
}
section.soft-red {
  background-color: #A13146;
}
section.soft-blue {
  background-color: #16345E;
}
section.light-blue {
  background-color: #3C4E76;
}
section.red,
section.soft-red,
section.blue,
section.soft-blue,
section.soft-blue p,
section.light-blue,
section.light-blue p,
section.deep-red {
  color: #EEEDED;
}
section h3 {
  color: #E21135;
}
section.red h3,
section.soft-red h3,
section.blue h3,
section.soft-blue h3,
section.light-blue h3 {
  color: #EEEDED;
}
section.white {
  background-color: white;
}
section.deepred,
section#contacto {
  background-color: #930F29;
}
section:nth-of-type(1) {
  background-color: #EEEDED;
}
#sdw:hover {
  background-color: rgba(141, 2, 29, 0.1);
}
body.open #sdw:hover {
  background-color: rgba(0, 0, 0, 0.08);
}
header {
  background-color: rgba(255, 255, 255, 0.9);
}
header,
nav a {
  color: white;
}
header nav {
  background-color: #991E36;
  color: white;
}
header nav a:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
header nav li {
  border-bottom-color: rgba(242, 242, 242, 0.8);
}
@media only screen and (min-width: 600px) {
  header nav {
    background-color: transparent;
  }
  header,
  nav a {
    color: #8D021D;
  }
  header nav li > ul {
    background-color: #8D021D;
    color: #F2F2F2;
  }
  header nav li > ul a {
    color: #F2F2F2;
  }
  header nav li > ul li:hover a {
    color: #8D021D;
  }
  header nav li:hover {
    background-color: #fef0f3;
  }
  header nav li.upper:hover {
    background-color: #ffffff;
  }
}
.inside-nav .contacto {
  background-color: #E21135;
  color: rgba(238, 237, 237, 0.95);
}
.inside-nav .contacto:hover {
  background-color: rgba(226, 17, 53, 0.9);
  color: white;
  box-shadow: 0.1em 0.1em 0 0 rgba(226, 17, 53, 0.2);
}
section#metodo {
  background-color: #16345E;
  color: white;
}
section#metodo p {
  color: white;
}
.boxy ul > li {
  background-color: white;
}
.boxy ul > li {
  -webkit-box-shadow: 4px 5px 12px -4px rgba(0, 0, 0, 0.68);
  -moz-box-shadow: 4px 5px 12px -4px rgba(0, 0, 0, 0.68);
  box-shadow: 4px 5px 12px -4px rgba(0, 0, 0, 0.68);
}
.boxy ul li li {
  box-shadow: none;
}
.boxy ul {
  color: #8D021D;
}
.boxy ul h3 {
  background-color: #991E36;
}
section.boxy.soft-blue h3,
section.boxy.light-blue h3 {
  background-color: #003074;
  color: white;
}
.soft-blue .boxy-content,
.soft-blue .boxy-content p {
  color: #1F0701;
}
.boxy ul ul {
  background-color: white;
}
@media only screen and (max-width: 1399px) {
  .boxy .box-button {
    background-image: url(graf/open.svg);
  }
  .light-blue.boxy .box-button,
  .soft-blue.boxy .box-button {
    background-image: url(graf/open-blue.svg);
  }
}
footer h2 {
  background: url(gsc-light.svg) no-repeat;
  opacity: 0.1;
}

@media only screen and (min-width: 450px) {
}
@media only screen and (min-width: 600px) {
}
@media only screen and (min-width: 900px) {
  body {
    font-size: 17px;
  }
}
@media only screen and (min-width: 1200px) {
}
@media only screen and (min-width: 1400px) {
  body {
    font-size: 18px;
  }
}
@media only screen and (min-width: 600px) {
  section {
    padding: 6rem  5%;
  }
  header {
    font-size: 0.8em;
  }
  header nav {
    padding-right: 2em;
  }
}
@media only screen and (min-width: 700px) {
  header {
    font-size: 0.9em;
  }
  footer h2 {
    width: 10vw;
    height: 10vw;
  }
}
@media only screen and (min-width: 900px) {
  section {
    padding: 10rem  15%;
  }
  body:not(.start) header h1 {
    left: 2vw;
  }
  body:not(.start) header nav {
    width: 98vw;
  }
}
@media only screen and (min-width: 1200px) {
  #metodo {
    padding-left: 0;
    padding-right: 0;
  }
  #compromiso {
    padding-bottom: 16rem;
  }
  body:not(.start) header h1 {
    left: 5vw;
  }
  body:not(.start) header nav {
    width: 95vw;
  }
}
@media only screen and (min-width: 1400px) {
  section {
    padding: 9rem 5%;
  }
  #equipo {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}

@media only screen and (min-width: 1400px) {
  .boxy > .ict > ul {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
  .boxy ul > li {
    display: block;
    min-width: 30%;
    background-color: white;
  }
  .programas .boxy ul > li,
  .programs .boxy ul > li {
    min-width: 25%;
    max-width: 31%;
  }
  .boxy ul li li {
    width: 100%;
  }
  .boxy ul .boxy-content {
    margin-bottom: 0em;
  }
  .boxy .ict > p {
    margin-top: 3em;
  }
}
.boxy .boxy-content {
  padding: 1em;
}
.boxy ul {
  font-family: 'Source Sans Pro', sans-serif;
  font-weight: 600;
  font-size: 0.95rem;
}
.boxy ul ul li {
  padding-top: 0.6em;
  padding-bottom: 0.6em;
  border-bottom: #F2F2F2 2px solid;
}
.boxy ul ul li:last-of-type {
  padding-bottom: 0;
  border-bottom: none;
}
.boxy ul ul li:first-of-type {
  padding-top: 0;
}
.boxy ul h3 {
  margin-top: 0;
  padding: 1.1rem;
  text-transform: uppercase;
  font-size: 1.1rem;
  max-width: none;
}
.boxy ul ul {
  padding: 0;
  margin-bottom: 3em;
  padding: 1.1rem;
}
.boxy li:last-of-type ul {
  margin-bottom: 0;
}
.boxy .prog-areas p:last-of-type {
  margin-bottom: 0;
}
.boxy .prog-areas {
  border-top: solid #EEEDED 1px;
  padding-top: 1.2em;
  margin-top: 1.2em;
  opacity: 0.7;
  font-size: 95%;
  font-style: italic;
}
.boxy .prog-areas .pre {
  color: #000;
  font-weight: 700;
}
.boxy .box-button {
  display: none;
}
@media only screen and (min-width: 1100px) and (max-width: 1399px) {
  .boxy {
    padding-left: 5em;
    padding-right: 5em;
    position: relative;
  }
  .boxy .ict {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .boxy .ict > p {
    text-align: left;
    margin-top: 2em;
    width: 100%;
    max-width: none;
  }
  .boxy .ict > p,
  .boxy h2 {
    grid-column-end: span 2;
  }
  .boxy ul {
    margin: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 1399px) {
  body .boxy .box-close ul,
  body .boxy .box-close .boxy-content {
    opacity: 0;
    margin-bottom: 2em;
    visibility: collapse;
    height: 0;
    padding: 0;
  }
  .boxy ul,
  .boxy .boxy-content {
    transition: opacity 2s ease-out;
  }
  .boxy .boxed h3 {
    position: relative;
    padding-right: 3em;
    font-size: 0.95rem;
  }
  .boxy .box-button {
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    height: 100%;
    width: 2.2em;
    margin-right: 0.5em;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.3s ease-out;
    transform: rotate(179deg);
    cursor: pointer;
  }
  .boxy .box-close .box-button {
    transform: rotate(0deg);
  }
  .boxy .box-button:hover {
    filter: saturate(120%);
  }
  .boxy .boxed h3:hover {
    filter: saturate(120%);
  }
  .boxy .boxed h3 .box-button:active {
    transform: scale(1.5);
    transition: transform 0.2s ease-out;
  }
  .boxy .box-close h3:hover .box-button:active {
    transform: scale(1.5) rotate(0deg);
    transition: transform 0.2s linear;
  }
  .boxy h3:hover .box-button {
    transform: scale(110%) rotate(179deg);
  }
  .boxy .box-close h3:hover .box-button {
    transform: scale(1.1) rotate(0deg);
  }
  .box-close .boxy-content p {
    margin: 0;
    background-color: green;
  }
  .boxy ul .boxy-content {
    margin-bottom: 3em;
  }
}
.boxy nav li {
  transition: background-color 0.4s ease-out;
}
footer {
  position: relative;
}

:root {
  --box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.12), 0px 2px 6px 0px rgba(0, 0, 0, 0.08);
}
body .act-button {
  display: none;
}
@media only screen and (max-width: 1399px) {
  .boxy .box-button {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100'%3E%3Ccircle cx='50' cy='50' r='47.5' fill='%23d41435'/%3E%3Cpath d='M50 71.5L23.3 44.8l6.3-6.3L50 59l20.5-20.5 6.3 6.3L50 71.5z' fill='%23fff'/%3E%3C/svg%3E");
  }
}
body .boxy .boxy-content.description {
  margin: 0;
}
body .box-close .box-list h4 {
  display: none;
}
body .boxy .box-list h4 {
  margin: 1rem 0 0;
  padding: 0 1rem;
}
@media only screen and (max-width: 1399px) {
  body .boxy .box-close .description.boxy-content {
    margin: 0;
  }
}
@media only screen and (min-width: 1400px) {
  .boxy > .ict > ul {
    gap: 1.5rem;
  }
  body .boxy ul > li {
    gap: 1.5rem;
  }
  .boxed .description {
    border-radius: 0.3rem;
    box-shadow: var(--box-shadow);
    box-shadow: none;
    background-color: transparent;
    flex-grow: 3;
    flex-basis: 40%;
    max-width: 40%;
    padding: 2rem 2rem 0 0;
    margin: 0;
  }
  .boxed .description p:before {
    content: "─── ";
    content: "";
    font-weight: bold;
    color: #8D021D;
    opacity: 0.3;
    margin-right: 0.5em;
    margin-right: 0;
  }
  .boxy ul li {
    line-height: 1.45;
  }
  body .boxy ul .description.boxy-content {
    margin: 0;
  }
  .boxed {
    box-shadow: none;
  }
  body .boxy ul > li {
    background-color: transparent;
  }
  body .boxy ul > li {
    background-color: transparent;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    display: flex;
    flex-wrap: wrap;
  }
  body .boxy ul > li h3 {
    font-family: "IBM Plex Serif", serif;
    text-transform: none;
    font-size: 2rem;
    background-color: transparent;
    width: 100%;
    flex-grow: 3;
    flex-shrink: 0;
    padding: 0;
  }
  .boxy ul ul li {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
    border-bottom: #f2f2f233 1px solid;
    font-family: "IBM Plex Serif", serif;
    font-weight: 400;
    font-size: 0.95rem;
  }
  body .boxy ul > li ul {
    line-height: 1.65;
    background-color: white;
    color: rgba(0, 0, 0, 0.8);
    border-radius: 1rem;
    padding: 2rem;
  }
  body .box-close .box-list h4 {
    display: block;
  }
  body .boxy .box-list {
    flex-basis: 50%;
    width: 50%;
    flex-grow: 2;
  }
  body .boxy .box-list h4 {
    margin: 0;
    padding: 0 2rem 1rem;
    height: 2rem;
  }
  .boxy ul ul > li {
    padding-top: 0.6em;
    padding-bottom: 0.6em;
    border-bottom: rgba(0, 0, 0, 0.1) 1px solid;
    display: block;
  }
  .boxy ul ul li:before {
    content: "→";
    font-weight: 900;
    margin-right: 0.5em;
    opacity: 0.4;
    font-family: Consolas;
    font-size: 1.1rem;
  }
  .boxy > .ict > ul {
    display: block;
  }
  #areas {
    /*! background-image: linear-gradient(
        125deg,
        hsl(349deg 53% 41%) 0%,
        hsl(349deg 55% 39%) 8%, 
        hsl(349deg 56% 36%) 17%,
        hsl(349deg 58% 34%) 25%,
        hsl(349deg 59% 32%) 33%,
        hsl(349deg 61% 29%) 42%,
        hsl(349deg 63% 27%) 50%,
        hsl(349deg 64% 25%) 58%,
        hsl(349deg 66% 23%) 67%,
        hsl(349deg 68% 21%) 75%,
        hsl(349deg 70% 19%) 83%,
        hsl(349deg 71% 17%) 92%,
        hsl(349deg 73% 15%) 100%
    ); */
  }
  /* https://grabient.com/HQFgrA7ANKBsCcMBMBGWMTyRsJlL2AA5YwYJ4BmGI3GWEQsJaS0ABnZhTGpThQxmg9kA */
}
@media only screen and (min-width: 1400px) and only screen and (max-width: 1399px) {
  body .boxy .box-close .boxy-content,
  body .boxy .box-close ul {
    opacity: 0;
    margin-bottom: 2em;
    visibility: collapse;
    height: 0;
    padding: 0;
  }
}
p.boldy {
  font-size: 1.3rem;
  text-align: left;
  font-weight: 300;
  font-family: "IBM Plex Sans", sans-serif;
  border-left: 30px solid rgba(0, 0, 0, 0.08);
}
body .boxy .box-list h4 {
  color: #000000;
  opacity: 0.7;
  font-weight: 400;
}
.boxed .description {
  font-size: 0.9rem;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1.44;
  font-family: "IBM Plex Serif", serif;
  font-weight: 400;
}
.boxed .description p {
  color: rgba(0, 0, 0, 0.8);
  line-height: 1.44;
  font-family: "IBM Plex Serif", serif;
  font-weight: 400;
  margin: 0 0 0.6rem 0;
}
p.boldy {
  text-align: left;
  font-weight: 300;
  font-family: "IBM Plex Sans", sans-serif;
  border-left: 5px solid rgba(0, 0, 0, 0.08);
  font-size: 1.1rem;
}
@media only screen and (min-width: 1400px) {
  p.boldy {
    font-size: 1.3rem;
    border-left: 30px solid rgba(0, 0, 0, 0.08);
  }
  body {
    font-size: 18px;
  }
  li.boxed {
    margin-bottom: 3rem;
  }
  .boxed .description {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
  }
  .boxed .description p {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.44;
    font-weight: 400;
  }
  body .boxy .box-list h4 {
    color: white;
  }
}
#metodo p {
  margin-bottom: 0.9rem;
}

header nav {
  visibility: visible;
}
header h1,
#sdw {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.4s ease-in;
}
body.start header {
  background-color: transparent;
  position: absolute;
}
body.start nav,
body.start #sdw {
  visibility: hidden;
  opacity: 0;
}
body.start header h1 {
  position: absolute;
  top: 6rem;
  width: 100%;
  margin: auto;
  height: 25vw;
}
body.start header h1 a {
  background-position: center;
  background-repeat: no-repeat;
  margin: auto;
  width: 20vw;
  height: 20vw;
  max-width: 20vh;
}
p {
  max-width: 40rem;
  margin: auto;
  margin-bottom: 2em;
}
figure {
  max-width: 30em;
  margin: auto;
}
h3 {
  max-width: 40rem;
  margin: auto;
}
@media only screen and (min-width: 900px) {
  section.two {
    padding-left: 0rem;
    padding-right: 0rem;
  }
  .two .flex-break {
    width: 100%;
  }
  .two .ict {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
  }
  .two .ict > p {
    width: 100%;
  }
  .two figure {
    padding: 3em;
    width: 50%;
  }
  .two ul {
    padding: 0 3em 0 0;
    width: 50%;
  }
}
#metodo strong {
  background-color: rgba(0, 0, 0, 0.35);
  background-color: rgba(226, 17, 53, 0.5);
  color: white;
  padding: 0.1em;
}
#metodo .box-image {
  display: flex;
  flex-direction: column;
}
#metodo figure {
  width: 100%;
}
#metodo figure:hover {
  background-color: rgba(255, 0, 0, 0.1);
}
#metodo figure {
  order: 1;
}
#metodo .box-1 {
  order: 2;
}
@media only screen and (min-width: 1200px) {
  #metodo figure {
    padding: 2em;
    width: 45%;
    margin: 0;
    max-width: none;
    order: 1;
  }
  #metodo .box-image {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  #metodo .ict {
    width: 80%;
    margin: auto;
  }
  #metodo .box-1 {
    order: 2;
    width: 45%;
  }
  #metodo .box-1 p {
    max-width: none;
  }
  #metodo p:nth-of-type(2) {
    background-color: rgba(0, 0, 0, 0.2);
    padding: 0.7em 1em;
    margin-left: -1em;
  }
  #metodo p:nth-of-type(1) {
    font-size: 1.08em;
    padding-right: 2em;
  }
  #metodo {
    padding-top: 8em;
  }
}
#compromiso {
  padding-bottom: 12rem;
  background-color: #253D5E;
  color: white;
}
#compromiso h2 {
  text-align: left;
}
#compromiso p {
  color: white;
  margin: 0;
  margin-right: auto;
}
#compromiso ol {
  margin-top: 3em;
  list-style-type: none;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  grid-column-gap: 0.5em;
  grid-row-gap: 0.5em;
}
#compromiso ol li {
  background-color: #002049;
  display: block;
  width: auto;
  padding: 1em;
  font-size: 1.2em;
  font-weight: bold;
  text-transform: uppercase;
  font-family: "IBM Plex Sans";
  min-height: 30vh;
}
#compromiso ol strong {
  background-color: rgba(226, 17, 53, 0.5);
}
#compromiso ol li {
  background-image: url(graf/gsc-compromiso-1.svg);
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: cover;
}
#compromiso ol li:nth-of-type(2) {
  background-image: url(graf/gsc-compromiso-2.svg);
}
#compromiso ol li:nth-of-type(3) {
  background-image: url(graf/gsc-compromiso-4.svg);
}
#compromiso ol li:nth-child(4) {
  background-image: url(graf/gsc-compromiso-3.svg);
}
@media only screen and (min-width: 1100px) and (max-width: 1399px) {
  #areas,
  #programas {
    background-image: url(graf/gsc-areas.svg);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 100%;
  }
  #programas {
    background-image: url(graf/gsc-covid-programs.svg);
  }
}
@media only screen and (min-width: 700px) {
  #compromiso ol li {
    font-size: 1.4em;
    padding-right: 35%;
  }
}
@media only screen and (min-width: 1200px) {
  #compromiso ol li {
    min-height: 20vw;
  }
  #compromiso ol {
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 0.3em;
    grid-row-gap: 0.3em;
  }
}
@media only screen and (min-width: 1400px) {
  #compromiso ol li {
    font-size: 1.55em;
    padding-right: 35%;
  }
}
section#equipo {
  background-color: #F2F2F2;
}
section#equipo h2 {
  color: #8D021D;
  margin-bottom: 6rem;
}
section#equipo ul.equipo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  flex-shrink: 0;
}
section#equipo h2 {
  text-align: center;
}
section#equipo h3 {
  font-size: 1.1em;
  color: #333333;
  font-family: 'IBM Plex Sans', sans-serif;
  text-transform: uppercase;
  margin-bottom: 0.8em;
  text-align: center;
}
section#equipo ul.equipo p {
  font-size: 0.9em;
  font-weight: normal;
  line-height: 1.5;
  opacity: 0.9;
  hyphens: auto;
}
ul.equipo > li {
  margin-bottom: 2em;
  width: 100%;
}
ul.equipo figure {
  width: 35%;
  margin: auto;
  padding: 0;
  background-color: #FBBE00;
  border-radius: 50%;
  overflow: hidden;
  border: 0.5em solid white;
}
ul.equipo img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (min-width: 1200px) {
  section#equipo {
    padding-left: 3%;
    padding-right: 3%;
  }
  section#equipo ul.equipo > li {
    width: 40%;
  }
  ul.equipo figure {
    width: 35%;
  }
}
@media only screen and (min-width: 1400px) {
  section#equipo ul.equipo > li {
    width: 30%;
  }
}
#clientes h2 {
  text-align: center;
}
#clientes ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
#clientes ul li {
  flex-shrink: 0;
  width: 30vw;
  min-height: 20vh;
  margin: 0.5em;
  text-align: center;
  font-size: 0.8em;
  font-weight: 600;
  padding: 0.5em;
}
#clientes ul li img {
  display: block;
  width: 80%;
  object-fit: contain;
  height: 10vw;
  margin: auto;
  margin-top: auto;
  margin-top: 1em;
}
#clientes ul li span {
  display: inline-block;
  opacity: 0.3;
  padding: 0.6em 3em 0;
  font-size: 0.85em;
}
#clientes ul li:hover span {
  opacity: 0.7;
}
@media (hover: none) and (pointer: coarse) {
  #clentes {
    background-color: springgreen;
  }
  #clientes ul {
    overflow: auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  #clientes ul li {
    width: 32vw;
    margin: 0.5em;
    padding-left: 0px;
  }
  #clientes ul li img {
    height: 20vw;
  }
  #clientes ul li span {
    padding: 0;
  }
}
@media (hover: none) and (pointer: coarse) and (min-width: 900px) {
  #clientes ul li {
    width: 18vw;
  }
}
@media only screen and (min-width: 1200px) {
  #clientes ul {
    flex-wrap: wrap;
    justify-content: center;
  }
  #clientes ul li img {
    height: 12vw;
  }
}
@media only screen and (min-width: 1400px) {
  #clientes ul li {
    width: 18%;
    margin-right: 0.5em;
    margin-left: 0.5em;
    margin-bottom: 1em;
  }
  #areas,
  #programas {
    background-image: url(graf/gsc-areas-horizontal.svg);
    padding-bottom: 30rem;
    background-position: bottom right;
    background-repeat: no-repeat;
  }
  #programas {
    background-image: url(graf/gsc-covid-programs-horizontal.svg);
  }
}
#clientes {
  background-color: #FAFAFA;
}
.boldy.front-info {
  padding: 1.15em;
  margin-top: 3em;
  font-size: 90%;
  text-align: left;
  border-left: solid 0.6em rgba(0, 0, 0, 0.8);
  border-radius: 0.3em 0.6em 0.6em 0.3em;
  background-color: rgba(255, 255, 255, 0.8);
}
@media only screen and (min-width: 450px) {
  .boldy.front-info {
    padding: 1.6em;
  }
}
@media only screen and (min-width: 600px) {
  .boldy.front-info {
    padding: 2em;
  }
}
.front-info.red {
  border-left-color: #E21135;
}
.front-info.yellow {
  border-left-color: #FBBE00;
}
.front-info.blue {
  border-left-color: #2C4697;
}
#gsc-covid::before {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  display: block;
  content: "";
  background-image: url('graf/gsc-covid-header-3.svg');
  background-repeat: no-repeat;
  background-position: top center;
  background-size: contain;
  margin-top: -4rem;
  max-height: 800px;
}
body.programas #gsc-covid,
body.programs #gsc-covid {
  margin-top: 0px;
  padding-top: 25vw;
}
body.programas.start h1 a,
body.programs.start h1 a {
  position: absolute;
  top: -9000px;
}
body.programas h2,
body.programs h2 {
  text-align: center;
}
body.programas nav ul li.programas-link,
body.programs nav ul li.programas-link,
nav ul li.active,
nav ul li.active-parent {
  background-color: rgba(141, 2, 29, 0.1);
}
.open nav ul li.active,
nav ul li.active-parent li.active {
  background-color: rgba(0, 0, 0, 0.3);
}
@media only screen and (min-width: 600px) {
  .open nav ul li.active {
    background-color: rgba(141, 2, 29, 0.1);
  }
}
#equipo .hd {
  display: none;
}
footer .mp {
  font-family: 'Source Sans Pro', sans-serif;
  text-transform: none;
  font-weight: normal;
  opacity: 0.4;
  max-width: 28em;
  line-height: 1.2;
  font-size: 0.85em;
}
footer .mp a {
  color: black;
  text-decoration: none;
  border-bottom: 1px solid gray;
}
footer .mp strong {
  color: inherit;
  background-color: transparent;
}
#contacto {
  margin-top: -2vh;
  padding-top: 9rem;
  padding-bottom: 20rem;
}
#contacto form,
#contacto h2 {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}
#contacto form {
  margin: auto;
  background-color: #930F29;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#contacto form label {
  display: none;
}
#contacto .form-box {
  width: 49%;
}
#contacto .form-box.message {
  width: 100%;
}
#contacto textarea {
  display: block;
  height: 10rem;
  margin-top: 2%;
}
#contacto .form-box.enviar {
  margin-top: 2%;
  width: 100%;
  text-align: right;
}
#contacto textarea,
#contacto .form-box input {
  color: white;
  padding: 0.6em 0.6em;
  width: 100%;
  box-sizing: border-box;
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 800;
  font-size: 1em;
  border: none;
  background-color: rgba(0, 0, 0, 0.2);
}
#contacto .enviar input:hover {
  background-color: #E21135;
}
#contacto .enviar input {
  background-color: #b30d2a;
  width: auto;
  padding-right: 3em;
  padding-left: 3em;
}
input::placeholder,
textarea::placeholder,
#contacto .enviar input {
  opacity: 1;
  text-transform: uppercase;
}
#contacto .boldy.front-info {
  max-width: 40rem;
  margin-right: auto;
  margin-left: auto;
  margin-top: 2em;
  margin-bottom: 3em;
  background-color: white;
  color: #8D021D;
  font-weight: bold;
  border-left-color: #E21135;
}
#contacto .boldy.front-info p {
  margin-top: 0.5em;
  margin-bottom: 0;
  font-weight: normal;
  font-size: 0.9em;
}
.center {
  text-align: center;
}
.main-small-title {
  font-size: 1.5rem;
  line-height: 1.3;
  letter-spacing: 0.031em;
  color: #930F29;
  text-align: left;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.6em;
  text-transform: none;
}
.comensalidad .hat strong {
  color: black;
  padding-left: 0.15em;
  padding-right: 0.25em;
}
.comensalidad h2 {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
.footnote {
  font-size: 70%;
  opacity: 0.5;
}
.footnote a {
  color: black;
  font-weight: bolder;
  text-decoration: none;
  border-bottom: none;
  opacity: 0.9;
}
hr.footnote {
  max-width: 20rem;
  border: 1px solid rgba(0, 0, 0, 0.05);
  margin-bottom: 1em;
}
p:not(.footnote) a[href^="#_ftn"] {
  font-weight: bolder;
  vertical-align: top;
  font-size: 75%;
  border: none;
}
p:not(.footnote) a[href^="#_ftn"]:before {
  content: "[ ";
  opacity: 0.6;
}
p:not(.footnote) a[href^="#_ftn"]:after {
  content: " ]";
  opacity: 0.6;
}
.comensalidad section {
  padding-top: 0;
  padding-bottom: 4rem;
}
section.grey {
  background-color: #F2F2F2;
}
.comensalidad p strong {
  padding-left: 0.3em;
  padding-right: 0.35em;
  color: #930F29;
}
@media only screen and (min-width: 700px) {
  .comensalidad section {
    padding-top: 0;
    padding-bottom: 8rem;
  }
}
.comensalidad section:nth-of-type(1) {
  padding-top: 20vw;
}
body.start header h1 a {
  min-width: 90px;
}
.comensalidad section ul {
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
}
.comensalidad section ul li {
  list-style: disc;
  margin: 0.4em auto;
  font-size: 90%;
}
.comensalidad section.white h3 {
  color: rgba(0, 0, 0, 0.5);
  margin-bottom: 0.4em;
}
.comensalidad h2 {
  counter-reset: h3counter;
}
.comensalidad h3:before {
  content: counter(h3counter) ".\0000a0";
  counter-increment: h3counter;
  opacity: 0.5;
}
.comensalidad p {
  margin-bottom: 1.3em;
}
figure.wp-block-image {
  padding: 0px;
  max-width: 95%;
}
@media only screen and (min-width: 900px) {
  figure.wp-block-image {
    max-width: 40rem;
  }
}
main section.deepred,
main section.deepred p {
  color: white;
}
main section.deepred a {
  color: white;
  border-bottom-color: #FFFFFF40;
  border-bottom-width: 2px;
}
main section.light-blue a {
  color: white;
  border-bottom-color: #FFFFFF50;
  border-bottom-width: 2px;
}
main section.light-blue a:hover {
  color: white;
  border-bottom-color: #FFF;
  border-bottom-width: 2px;
}
main section.light-blue a.btt {
  background-color: #FFFFFF50;
  border-radius: 5px;
  color: #16345E;
  padding-left: 0.3em;
  padding-right: 0.3em;
  padding-bottom: 02em;
}
.comensalidad h2 strong {
  color: #E21135;
}
.comensalidad section:first-of-type h2 {
  color: #8D021D;
  font-size: 2.5rem;
}
H2.center {
  text-align: center;
}
.comensalidad section#contacto {
  height: 0px;
  padding-bottom: 0px;
}
html {
  scroll-behavior: smooth;
}
a[href^="#_ftn"]:target {
  outline: 2px solid #E2113580;
}
a[href^="#_ftn"] {
  scroll-margin-top: 10rem;
}
h2 .ftnref {
  font-size: 40%;
  color: #00000020;
  vertical-align: top;
  border: none;
}
h2 .ftnref:hover {
  color: #E21135;
  border: none;
}
p.button {
  text-align: right;
}
p.button a {
  display: inline-block;
  width: 60%;
  background-color: #930f29;
  padding: 0.6em 0.8em 0.7em;
  border-radius: 0.7em;
  color: white;
  font-weight: 900;
  opacity: 0.9;
  text-align: center;
  border-bottom: rgba(0, 0, 0, 0) solid 4px;
}
p.button a:hover {
  text-decoration: underline;
  border-bottom-color: black;
  border-bottom: rgba(0, 0, 0, 0.3) solid 4px;
}
