body {
  font-family: 'Lato', sans-serif;
  font-size: 17.6px;
}

.page h1 {
  color: var(--h1-color);
}
.page h2 {
  color: var(--h2-color);
  font-size: 140%;
}
.page h3 {
  color: #2E2EFE;
  font-size: 140%;
}
.page h4 {
  color: #2E9AFE;
  font-size: 120%;
  font-weight: bold;
}
.page h4 img {
  margin-right: 1ch;
}
.page h5 {
  color: #000099;
  font-size: 140%;
}

a {
  color: var(--link-text-color);
}

.note {
  border-left: 4px solid var(--note-color);
  color: var(--note-text-color);
}

.image_expand {
  -webkit-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.5);
  -moz-box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.5);
  box-shadow: 5px 5px 10px 0px rgba(0,0,0,0.5);
}

.interactive {
  text-align: center;
  border: 1px solid var(--interactive-border-color);
  border-radius: 2px;
  background-color: var(--interactive-color);;
}
.image_link {
  border: 2px solid var(--image-border-color);
}

li {
  padding: 0 0 0.4em 0;
}

code, code_math {
  display: inline;
}
code, pre, code_math {
  font-family: 'UbuntuMono', monospace;
  font-size: 107%;
  color: #778890;
}
xmp {
  font-family: 'UbuntuMono', monospace;
  font-size: 107%;
  color: #e67e22;
  border: 1px solid #e67e22;
}

.katex {
  font-size: 110% !important;
}

.cover_title {
  position: absolute;
  top: 595px;
  left: 57px;
  right: 0px;
  color: #0089cd;
  font-size: 350%;
  text-align: center;
  text-shadow: 1px 2px rgba(0,0,0,0.15);
}
.cover_subtitle {
  position: absolute;
  left: 57px;
  right: 0px;
  bottom: 45px;
  text-align: center;
  color: #0089cd;
  font-size: 220%;
  text-shadow: 1px 2px rgba(0,0,0,0.15);
}

.chap_text {
  position: absolute;
  right: var(--page-right-margin);
  top: 200px;
  color: #0089cd;
  font-size: 500%;
  text-shadow: 1px 2px rgba(0,0,0,0.15);
}
.chap_name {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  left: 58px;
  width: 582px;
  top: 395px;
  height: 170px;
  color: #0089cd;
  font-size: 250%;
  text-shadow: 1px 2px rgba(0,0,0,0.15);
}

body.dark .invertcolor {
  filter: invert(1) hue-rotate(180deg);
}
/*  */

.fondo_div {
  color:#000;
  font-size: 20px;
  font-family: 'Lato', sans-serif;
  margin: 25px 55px 1em 55px;
  font-weight: 580;
  background-color: lightblue;
  border-radius: 20px 20px 20px 20px; 
}
 
.fondo_div2 {
  color:#000;
  font-size: 20px;
  font-family: 'Lato', sans-serif;
  margin: 25px 55px 1em 55px;
  font-weight: 580;
  background-color: #F1C40F;
  border-radius: 15px 15px 15px 15px; 
 }
 
.fondo_div3 {
  color:#000;
  font-size: 20px;
  font-family: 'Lato', sans-serif;
  margin: 25px 55px 1em 55px;
  background-color: #CCF0F4;
  padding: 10px 25px 10px 25px;
  border: 2px solid #CCF0F4;
}

.fondo_check {
  color:#000;
  margin: 15px 5px 1em 25px;
  background-color: #4dd2ff;
  background-image: linear-gradient(white, cyan);
  padding: 10px 15px 10px 15px;
  border: 2px solid #4dd2ff;
  box-shadow: 10px 5px 15px #1c1a19;
  border-radius: 10px;
}
 
.fondo_check2 {
  color:#000;
  font-size: 20px;
  font-family: 'Lato', sans-serif;
  margin: 5px 55px 1em 55px;
  background-color: #FAFADE;
  padding: 5px 25px 5px 25px;
  border: 2px solid #FAFADE;
}

.fig {
  color: var(--text-color);
  font-size: 16px;
  font-family: 'Lato', sans-serif;
  font-weight: normal;
  margin: 8px 90px 1em 90px;
  text-align: justify; 
}
 
.caja0 {
  margin: 25px 25px 1em 15px;
  background-color: rgba(222, 184, 135,0.55);
  background-image: linear-gradient(white, lightblue);
  box-shadow: 10px 7px 20px #1c1a19;
  border-radius: 10px;
  padding: 15px 25px 15px 15px;
  font-size: 1.1em;
  color:black;
  text-align: center;
}

aside {
  position: relative;
  width: 210px;
  display: inline-block;
  background-color: rgba(180, 200, 255, 0.3);
  margin-top: 10px;
  margin-bottom: 1em;
  padding: 0px 25px 10px 25px;
  font-size: 0.9em;
  text-align: right;
}

aside p {
  padding: 0px 0px 0px 0px;
  font-size: 1.2em;
  text-align: right;
  color:Maroon;
  margin: 10px;
}

article, aside {
  display: inline-block;
  vertical-align: top;
}

.caja1 {
  color: #000;
  margin: 25px 5px 1em 25px;
  position: relative;
  width: 92%;
  background-color: #fff;
  box-shadow: 10px 7px 20px #1c1a19;
  border-radius: 30px;
  padding: 15px;
  background-image: linear-gradient(white, palegreen);
  text-align:justify;
}

.caja1 h1 {
  color: #f22;
  font-size: 1.8em;
  text-align: center;
  margin-bottom: 1em;
  text-shadow: 1px 2px rgba(0,0,0,0.85);
}

.caja2 {
  margin: 25px 25px 1em 25px;
  background-color: rgba(255, 102, 255, 0.55);
  box-shadow: 0px 2px 5px #1c1a19;
  border-radius: 10px;
  padding: 15px 25px 5px 15px;
  font-size: 1em;
  color:black;
}

.caja2 h1 {
  color:#4169E1;
  font-size: 1.4em;
  text-align: center;
  text-shadow: 1px 2px rgba(0,0,0,0.75);
}

.caja2 p {
  color:#4169E1;
  font-size: 0.7em;
  color:white;
  text-align: center;
  text-shadow: 1px 2px rgba(0,0,0,0.75);
  margin-top: 5px;
  margin-bottom: 5px;
}

.caja2b {
  margin: 25px 25px 1em 15px;
  background-color: rgba(222, 184, 135,0.55);
  background-image: linear-gradient(white, silver);
  box-shadow: 10px 7px 20px #1c1a19;
  border-radius: 10px;
  padding: 15px 25px 15px 15px;
  font-size: 1em;
  color:brown;
  text-align: center;
}

.caja2b h1 {
  color:rgba(255, 69, 0);
  font-size: 1.4em;
  text-align: center;
  text-shadow: 1px 2px rgba(0,0,0,0.85);
}

.caja3 {
  position: relative;
  margin-left: 15px;
  display: inline-block;
  width: 315px;
}

.caja3b {
  position: absolute;
  margin-left: 0px;
  width: 290px;
  font-size: 1.2em;
}

.caja4 {
  position: relative;
  display: inline-block;
  width: 280px;
}

.caja4 h1 {
  color: DarkSeaGreen;
  font-size: 3em;
  text-align: center;
  margin-bottom: 1em;
  text-shadow: 2px 3px rgba(0,0,0,0.95);
}

.caja5 {
  position: relative;
  width: 190px;
  display: inline-block;
  margin-left: 20px;
  text-align: left;
}

.caja6 {
  position: relative;
  width: 510px;
  font-size: 29px;
  text-align: center;
  border: 2px solid white;
  border-radius: 10px;
  padding: 5px;
}

.caja7 {
  position: relative;
  width: 510px;
  font-size: 29px;
  text-align: center;
  padding: 5px;
}

.caja8 {
  position: relative;
  width: 270px;
  height: 220px;
  margin-left: 5px;
  margin-right: 10px;
  margin-top: 20px;
  padding: 0px;
  float: left;
  border: 2px solid aliceblue;
  border-radius: 10px;
  overflow: hidden;
}

.caja9 {
  width: 560px;
  margin:0;
  padding:0;
  transform: scale(1.2);
}

.tg {
  border-collapse: collapse;
  border-spacing: 0;
}
.tg td {
  font-family: arial, sans-serif;
  font-size: 14px;
  padding: 10px 5px;
  border-style: solid;
  border-width: 0px;
  overflow: hidden;
  word-break: normal;
  border-top-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 0px;
  border-right-width: 2px;
  border-color: black;
}
.tg th {
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: normal;
  padding: 10px 5px;
  border-style: solid;
  border-width: 0px;
  overflow: hidden;
  word-break: normal;
  border-top-width: 0px;
  border-bottom-width: 0px;
  border-left-width: 2px;
  border-right-width: 0px;
  border-color: black;
}
.tg .tg-0pky {
  border-color: inherit;
  text-align: left;
  vertical-align: top
}
.tg .tg-0lax {
  text-align: left;
  vertical-align: top
}

.toc_link_2 {
  display: block;
  --dotted-color: var(--text-color);
  --tmp-over-color: var(--toc-over-color);
  position: relative;
  font-size: 95%;
  margin: 0;
  padding: 0.25em 0;
  cursor: pointer;
}
.toc_link_2::before {
  content: "";
  position: absolute;
  left: 2em;
  right: 0;
  top: 18px;
  height: 3px;
  z-index: 0;
  border-bottom: 2px dotted var(--dotted-color);
}
.toc_link_2:hover,
.toc_link_2:hover a,
.toc_link_2:hover .toc_number,
.toc_link_2:hover a > span:first-child {
  background-color: var(--tmp-over-color);
}

.toc_link_2 a > span:first-child {
  position: relative;
  color: var(--toc-text-color);
  background-color: var(--page_color);
  display: inline-block;
  max-width: 90%;
  padding-right: 0.2em;
  z-index: 1;
}


/** */
body.dark .invertcolor {
  filter: invert(1) hue-rotate(180deg);
}

body.dark {
  --book-background-color: #ecf0f1;
  --page_color: #ffffff;
  --text-color: #000000;
  --toc-text-color: #273c75;
  --toc-over-color: #cfe9fc;
  --toc-number-color: #192a56;
  --h1-color: #0089cd;
  --h2-color: #000099;
  --h3-color: #000099;
  --h4-color: #000099;
  --link-text-color: #3867d6;
  --note-color: #3867d6;
  --note-text-color: #1e272e;
  --interactive-color: #ffffff;
  --interactive-border-color: #2ecc71;
  --image-border-color: #2ecc71;
  --page-separation-color: #e5e5e5;
  --bibliography-color: #0089cd;
  --figcaption-text: #34495e;
  --popup-bib-info-background: #c7ecee;
  --toc-button-border: #8e9091;
  --switch-background-color: #ffffff;

  filter: invert(1) hue-rotate(180deg);
}
body.dark img,
body.dark .interactive,
body.dark video {
  filter: invert(1) hue-rotate(180deg) !important;
}
body.dark #btn_config {
  background-image: url("../book/css/img/config.svg");
}
body.dark #go_to_table_of_content {
  background-image: url("../book/css/img/table_of_content.svg");
}
body.dark #close_to_table_of_content {
  background-image: url("../book/css/img/cerrar.svg");
}
body.dark .btn_expand {
  background-image: url("../book/css/img/ampliar.svg");
}
body.dark .btn_link {
  background-image: url("../book/css/img/link.svg");
}
body.dark #btn_dark {
  background-image: url("../book/css/img/moon.svg");
}
body.dark #btn_light {
  background-image: url("../book/css/img/sun.svg");
}