@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700&family=Open+Sans&display=swap');

*,
*:before,
*:after {
  box-sizing: border-box;
}

body {
  font-family: 'Open Sans', sans-serif;
  background-color: white;
  overflow-y: scroll;
  margin: 0;
}

main {
  padding: 1rem;
  max-width: 60rem;
  margin: auto;
}

h1 {
  margin: 0.5rem 0;
}

h1,
h2 {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 3rem;
  word-break: break-word;
}

h2 {
  font-size: 2rem;
}

h3 {
  font-size: 1.3rem;
  margin: 0 0 1rem;
}

dt {
  font-weight: 700;
}

pre {
  background-color: ghostwhite;
  border-radius: 0.5rem;
  padding: 1rem 1rem 0 0;
  font-size: 0.875rem;
  font-family: monospace, monospace;
  overflow-x: auto;
  white-space: pre-wrap;
  tab-size: 2;
  box-shadow: 0 0 0.5rem inset rgba(0, 0, 0, 0.1);
}

.header {
  background-color: white;
  padding: 0,2rem;
  text-align: center;
  /* border-bottom: 2px dotted #CCCCCC; */
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
}

button {
  background-color: crimson;
  border: 2px solid black;
  padding: 0.5rem 2rem;
  color: white;
  font-size: 1.5rem;
  cursor: pointer;
}

.boton {
  background-color: white;
  border: 2px solid black;
  padding: 0.5rem 2rem;
  color: black;
  font-size: 1.5rem;
  cursor: pointer;
  margin-top: 1.5rem;
}

button:focus,
input:focus,
textarea:focus,
a:focus {
  outline: .125rem solid darkcyan;
  outline-offset: .125rem;
}

::-moz-focus-inner {
  border: 0;
}

label,
.label {
  font-size: 1.25rem;
  margin-bottom: 0.25rem;
  display: block;
}

.inline {
  display: inline-block;
}

[aria-invalid=true] {
  outline-offset: .125rem;
  outline: .125rem solid tomato;
}

[aria-pressed=false] {
  background: -webkit-linear-gradient(left, #00bf7c 0%,#dc143c 100%);
  background: linear-gradient(to right, #00bf7c 0%,#dc143c 100%);
}

[aria-pressed=true] {
  background: -webkit-linear-gradient(left, #dc143c 0%,#00bf7c 100%);
  background: linear-gradient(to right, #dc143c 0%,#00bf7c 100%);
}

input,
textarea,
[role='textbox'] {
  border: 2px solid black;
  padding: 0.5rem;
  font-size: 1.5rem;
  background-color: white;
}

textarea,
[role='textbox'][aria-multiline='true'] {
  height: 5rem;
  width: 100%;
  overflow: auto;
}

input + label,
textarea + label,
[role='textbox'] + .label {
  margin-top: 1rem;
}

.section {
  padding: 1rem;
  margin: 0 0 2rem;
  border-radius: .5rem;
  box-shadow: 0 0 0.25rem inset rgba(0, 0, 0, 0.1);
  background-color: azure;
}

span[role='checkbox'] {
  border: 2px solid black;
  width: 1rem;
  height: 1rem;
  display: inline-block;
}

span[role='checkbox'][aria-checked='true'] {
  border-color: tomato;
}

.mainmenu {
  margin: 0;
  padding: 0.5rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 1.3rem;
  background-color: white;
  border-bottom: 2px dotted #CCCCCC;
}

.mainmenu li {
  padding: 0;
  margin: 1rem 1rem;
  list-style: none;
}

a {
  color: #034575;
  transition: 0.3s color ease;
  text-decoration: none;
}

a:hover {
  /*background-color: #F5F5F5;*/
  text-decoration-line: underline;
}

a:active,
a:focus {
  color: red;
  text-decoration: none;
  text-decoration: underline;
}

a.active {
  color: purple;
  font-weight: 600;
} 


.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only--focusable:focus {
  clip: auto;
  height: auto;
  overflow: visible;
  width: auto;
}

.skip-to {
  position: absolute;
  left: 0;
  top: 0;
}

[role='dialog'] {
  border: 2px solid black;
  padding: 1rem;
}

.alert {
  font-size: 1.5rem;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}

.transition {
  transition: all 0.3s ease;
}

.collapsed {
  visibility: hidden;
  opacity: 0;
  height: 0;
  overflow: hidden;
}

.custom-slider {
  border: 1px solid black;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
}

table,
td {
  border: 1px solid black;
}

.pie {
  color: white;
  background-color: black;
  padding: 1rem 10rem;
}

.portada {
  height: 550px;
  background-image: url(../imgs/fdo.png);
  background-repeat: no-repeat;
  text-align: right;
  padding: 20px 0 0 450px;
  max-width: 60rem;
  margin: auto;
}

.banda {
  margin: 0;
  padding: 0;
  border-bottom: 2px dotted #CCCCCC;
}

.cuerpo {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}

.cuerpo-hijo {
  width: 23%;
  padding: 5px;
  margin: 5px;
  border-right: 2px dotted #CCCCCC;
  text-align: center;
}

.cuerpo-hijo-1 {
  width: 20%;
  text-align: center;
}

.cuerpo-hijo-2 {
  width: 80%;
  border-left: 2px dotted #CCCCCC;
  padding-left: 2rem;
}

.cuerpo-hijo-3 {
  width: 18%;
  padding: 10px 5px;
  margin: 5px;
  text-align: center;
  border: 1px solid black;
  border-radius: 0.5rem;
}

.cuerpo-hijo-3:hover {
  background-color: #F5F5F5;
}

.cuerpo-hijo-4 {
  width: 50%;
  text-align: center;
  padding:20px 0;
  border-top: 1px solid #CCCCCC;
}

.cuerpo-hijo-5 {
  width: 48%;
  margin: 0.5rem;
  text-align: center;
  padding:1rem;
  border: 1px solid #CCCCCC;
  border-radius: 1rem;
}

.cuerpo-hijo-pie {
  width: 33%;
  padding: 10px;
}

.cuerpo-com {
  width: 33%;
  padding: 10px;
  border-top: 2px dotted #CCCCCC;
  text-align: center;
}

.adaptable {
  display: block;
  margin: auto;
  width: 50%;
  height: auto;
}
.adaptable3 {
  display: block;
  margin: auto;
  width: 100%;
  height: auto;
}

.adaptable2 {
  width: 40%;
}

.logo {
  float: left;
  width: 60%;
}

.marco {
  padding: 1rem;
}

.lista-footer {
  list-style: none;
  padding: 1.2rem;
}

.lista-footer a{
  color: white;
  text-decoration: underline;
}

.lista-footer a:hover{
  color: white;
  text-decoration: none;
}

.destacado {
  color: white;
  background-color: black;
  padding: 0.5rem;
}

.objetivo {
  padding: 0.8rem;
  border-bottom: 1px solid #CCCCCC;
}

.formulario {
  padding-left: 10rem;
}

@media (max-width: 850px) {
  .mainmenu {
    margin: 0;
    padding: 0.2rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    font-size: 1rem;
    background-color: white;
  }
  .portada {
    background-image: url(../imgs/fdot.png);
    height: auto;
    text-align: center;
    padding: 0;
    overflow: hidden;
  }
  .pie {
    padding: 1rem;
  }
  .cuerpo-hijo-pie {
    width: 100%;
    text-align: center;
  }
  .formulario {
    padding-left: 0;
  }
  .cuerpo-hijo-5 {
    width: 100%;
  }
  .cuerpo-hijo-3 {
    width: 30%;
  }
  }

  @media (max-width: 1000px) {
    .mainmenu {
      margin: 0;
      padding: 0.2rem;
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      font-size: 1rem;
      background-color: white;
    }
    .portada {
      background-image: url(../imgs/fdot.png);
      height: 550px;
      padding: 2rem 5rem;
    }
    }

    @media (max-width: 600px) {
      .cuerpo-hijo-pie, .cuerpo-hijo, .cuerpo-hijo-3 {
        width: 100%;
        text-align: center;
      }
      .cuerpo-hijo-4 {
        width: 100%;
      }
      .portada {
        background-image: url(../imgs/fdot.png);
        height: auto;
        text-align: center;
        padding: 0;
        overflow: hidden;
      }
    }

    @media (max-width: 360px) {
      .portada {
        height: auto;
        text-align: center;
        padding: 0;
        overflow: hidden;
      }
    }