/* UNIVERSITARIA */

body > section, body > nav#toc {
    border-left: none!important;
    font-size: 1.6em;
    line-height: 1.5;
}

nav#toc li {list-style-type: none;}

nav#toc ul > li.part {margin-top: 1em;}
nav#toc ul > li.toc {margin-bottom: 1em;}
nav#toc ul > li.cover {height: auto!important; padding:0; background-color:inherit;}

.cover {
    height: 75vh!important;
    padding: 25% 3em 3em 3em;
    background-color: #00406a;
}
.cover.no_image {border-bottom: 1px solid #fff;}
.cover.no_image .gradient {display: none;}

div.content {
    padding: 0 4em;
    border-left: 8px solid #00406a!important;
}

section.part header,
section.chapter header,
section.appendix header,
section.colophon header, 
section.preface header,
section.introduction header,
section.bibliography header,
section.appendix header,
section.glossary header,
section.toc header,
nav#toc header{
    position: relative;
    margin-bottom: 4em;    
}

section.colophon {padding: 2em;}
section.colophon div {margin-top: 1em;}
section.colophon div.content {padding: 4em;}

section.sp-glossary p, section.sp-bibliography p,
section.glossary p, section.bibliography p{
    margin-bottom:1em;
}

section.glossary dt, section.sp-glossary dt{
    margin-top: 1em;
    font-weight: bold;
}


section.section div.content {
    border-left: none!important;
}




/* base typography */
h1, h2, h3, h4, h5, h6 {
  margin: 1.414em 0 0.5em;
  font-weight: 500;
  font-family: 'Fira Sans', sans-serif;
  line-height: 1.2;
}

h1 {font-size: 2.441em;}
h2 {font-size: 1.953em;}
h3 {font-size: 1.563em;}
h4 {font-size: 1.25em;}
h5 {font-size: 1em;}
h6 {
    margin: 0;
    font-weight: 400;
    font-style: italic;
}

h4, h5 {
    font-style: italic;
}

span.sp-head-runin {
    display:inline-block;
    margin-top: 1em;
    margin-right: 0.5em;
    font-weight: bold;
}

p {margin: 0;}
p + p {margin-top: 1em;}

small {font-size: 0.8em;}



pre {
    font-family:courier, fixed, monospace;
    font-size: 0.7em;
}

span.tab {padding-left: 2em;}

span.sp-bolditalic {
    font-weight: bold;
    font-style: italic;
}

span.sp-label, span.sp-number {
    padding-right: 1em;
    color: #00406a;
}

span.sp-rule {
    display: block;
    width: 25%;
    min-width: 200px;
    border-top: 6px solid #00406a;
    margin-top: 5px;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
}

a{
    color: #000;
    text-decoration: none;
}
a:hover,
a:visited,
a:active,
a:focus{
    color: #000;
    text-decoration: none;
}

/* headings */
h1 {
    position: absolute;
    bottom: 68px;
    color: #ffffff;
}


h1 .sp-label, h1 .sp-number {
    padding: 5px;
    padding-left: 1em;
    padding-right: 1em;
    background-color: #ffffff;
    color: #00406a;
}

h1 span.sp-title {
    display: block;
    margin-top: 0.5em;
    color: #ffffff;
}

h1 span.sp-subtitle {
    display: block;
    font-size: 0.6em;
}

h1 span.sp-rule, h3 span.sp-rule, h4 span.sp-rule {
    display: none;
}

h1 span.sp-chapter-author {
    font-size: 0.6em;
    font-style: italic;
}

/* asides */
aside.undercover {
    line-height: 1.3;
    color: #000000;
}
aside.smallbox .sp-label, aside.bigbox .sp-label {
    position: absolute;
    top: -17px;
    left: 40px;
    display: inline-block;
    font-family: 'Fira Sans', sans-serif;
    font-weight: bold;
    font-size: 0.8em;
    line-height: 1.8;
    background-color: #00406a;
    color: #fff;
    padding: 5px 10px;
    margin: 0 0 15px 0;
}

aside h5 {
    margin: 1em 0;
    font-weight: bold;
    font-size: 1.333em;
    font-style: normal;
}

aside h5 span.sp-subtitle {
    display: block;
    margin: 1em 0;
    font-style: italic;
    font-size: 0.7em;
}

aside h5 span.sp-author {
    display: block;
    font-style: italic;
    font-size: 0.7em;
}

aside h6 {
    margin-top: 1em;
    font-size: 1.0em;
    font-style: normal;
    font-weight: bold;
}


/* mylab */
aside.sp-mylab, aside.mylab,
div.sp-mylab, div.mylab{
    border: 2px solid #00406a;
    padding: 0.5em;
    margin: 4em auto;
    width: 50%;
}

aside.sp-mylab span.sp-label, aside.mylab span.sp-label,
div.sp-mylab span.sp-label, div.mylab span.sp-label {
    margin: 0!important;
    padding-right: 1em!important;
    padding-left: 0!important;
    position: static!important;
    background-color: inherit!important;
    color: #61a73b!important;
    font-weight:bold!important;
    font-size: inherit!important;
}

aside.sp-mylab img.icon-mylab, aside.mylab img.icon-mylab
div.sp-mylab img.icon-mylab, div.mylab img.icon-mylab {
    width: auto;
    height: auto;
}

span.mylab-icon {
    margin-right: 2em;
    content:url('img/mylab-icon.png');
}


/* figures */
figure, div.figure{
    margin: 4em 0;
    padding: 1em;
    text-align: center;
}

figure div.textobject {
    text-align: left;
}

figcaption {
    margin-top: 2em;
    font-family: 'Fira Sans', sans-serif;
    font-size: 0.9em;
    line-height: 1.4;
    text-align: left;
}

figcaption p {
    margin: 0;
}

figcaption .sp-label, figcaption .sp-number,
aside figure sp-label, aside figure sp-number{
    margin: 0!important;
    padding-right: 1em!important;
    padding-left: 0!important;
    position: static!important;
    background-color: inherit!important;
    color: #61a73b!important;
    font-weight:bold!important;
    font-size: inherit!important;
}



figcaption .sp-source {
    margin-top: 0.5em;
}

figure > img {
    width: 100%;
    height: auto;
    display: block;
    margin: 2em auto;
    max-width: 1200px;
}

figure > img.sp-portrait {
    max-height: 1200px;
    width: auto;
}

img.sp-medium {
    max-width: 600px!important;
}

img.sp-small {
    width: auto!important;
    height: auto!important;
    max-width: 300px;
    max-height: 300px;
}

img.sp-width-auto {
    width: auto!important;
}

img.sp-auto-size {
    width: auto!important;
    height: auto!important;
}

.float-r {float: right; padding: 1em;}
.float-l {float: left; padding: 1em;}

/* tables */

div.sp-table-container {
    margin: 2em 0;    
}

table{
    font-family: 'Fira Sans', sans-serif;
    font-size: 0.9em;
    line-height: 1.25;
    margin: 2em 0;
    width: 100%;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
}

table.sp-small {
    width: auto;
    margin-left:auto; 
    margin-right:auto;
    
}

table.sp-no-rules,
table.sp-no-rules tr,
table.sp-no-rules td,
table.sp-no-rules th,
table.sp-norules,
table.sp-norules tr,
table.sp-norules td,
table.sp-norules th{
    margin: 1em 0;
    border: none;
    width: auto;
    font-family: inherit;
    font-size: inherit;
}

table.sp-allrules td,
table.sp-allrules th {
    border: 1px solid black;
}

caption {
    padding: 10px; 
    text-align: left;
    background-color: #00406a;
    color: #ffffff;
    font-weight: 500;
    line-height: 1.4;
}
caption .sp-label {
    position: static!important;
    background-color: inherit!important;
    color: #61a73b!important;
    font-weight:bold!important;
    font-size: inherit!important;
}

caption .sp-title {
    color: #ffffff!important;
}

tfoot, tfoot p {
    margin: 0;
    font-size: 0.85em;
    line-height: 1.1;
}

thead, th {
    background-color: #eee;
}

td, th {
    padding: 0.5em;
    vertical-align:top;
}

tr {
    border-bottom: 1px solid black; 
}

p.sp-table-footnote {
    font-size: 0.85em;
}

/***
    formule
**/

p.sp-formula,
div.equation {
    margin: 1em auto;
    font-size: 1.0em;
    text-align:center;
}


img.sp-formula-inline, 
img.sp-formula, 
img.sp-inline {
    height: auto;
    display: inline;
    margin: 0;
    padding: 0 0.3em;
    vertical-align: middle;
}

table.sp-formula, table.sp-formula-numbered, table.sp-formulagroup {
    border: none;
}

table.sp-formula td, table.sp-formula-numbered td, table.sp-formulagroup td {
    vertical-align: middle;
    text-align: center;
}

table.sp-formula tr, table.sp-formula-numbered tr, table.sp-formulagroup tr {
    border: none;
}

td.sp-number {color: #61a73b;}

table.sp-formula-numbered td {
    text-align: center;
    vertical-align: middle;
}

/* lists */

nav#toc ol{
    list-style-type: none;
}

ol.upperalpha {
    list-style-type: upper-alpha;
}
ol.loweralpha, ol.a, ol.lower-alpha {
    list-style-type: lower-alpha;
}

ol.loweralpha, ol.lower-alpha {
    list-style-type: lower-alpha;
}

ol.lower-roman, ol.lowerroman {
    list-style-type: lower-roman;
}

ol.upper-roman, ol.upperroman {
    list-style-type: lower-roman;
}

ul.sp-simplelist {
    list-style-type: none;
}

ul.dash {
    list-style: none;
    padding-left: 0;
    margin-left: 0.5em;
}
ul.dash > li {
    margin-left: 1em;;  
}
ul.dash > li > p {
    display:inline;
}
ul.dash > li::before {
    content: "- ";
    margin-left: -1em;
}


li p {margin:0;}

ol ol {list-style-type: lower-roman;}

/* Smartpub */

/* table borders */
table {border-collapse: collapse;}

.sp-border-top, .sp-border_t {
    border-top: 1px solid black;
}
.sp-border-bottom, .sp-border_b {
    border-bottom: 1px solid black;
}
.sp-border-left, .sp-border_l {
    border-left: 1px solid black;
}
.sp-border-right, .sp-border_r {
    border-top: 1px solid black;
}



p.sp-bridgehead {
    margin-top: 1em!important;
    font-weight: bold;
    text-indent: 0;
}

p.sp-bridgehead + p {
    text-indent: 0;
}

.sp-right {
    text-align: right;
}
p.sp-title {
    font-weight: bold;
}

span.sp-title {
    color: #00406a;
    font-weight: bold;
}

p.sp-source {
    font-size: 0.8em;
    font-style: italic;
    text-align: right;
}

.sp-indent {
    margin-top: 0;
    margin-left: 2em;
}

.sp-indent_2x {
    margin-top: 0;
    margin-left: 4em!important;
}

.sp-indent_3x {
    margin-top: 0;
    margin-left: 6em!important;
}

.sp-indent_4x {
    margin-top: 0;
    margin-left: 9em!important;
}

.sp-space-above {
    margin-top:1em!important;
    text-indent: 0;
}

.uppercase {
    text-transform: uppercase;
}

.sp-center {
    text-align: center;
}

span.sp-keyword {
    font-weight: bold;
}

div.sp-epigraph {
    margin-top: 2em;
    margin-bottom: 2em;
    text-align: right;
    font-style: italic;
}
div.sp-epigraph p {
    margin: 0;
    text-indent: 0;
}

div.sp-epigraph p.sp-source{font-style: normal;}

div.sp-exercise, p.sp-exercise-start {
    margin-top: 2em;
}

p.sp-exercise-start {
    margin-left: 2em;
}

p.sp-exercise-start span.sp-label {
    margin-left: -2em;
}

div.sp-chapter-end-questions {
    margin: 2em 0;
    border-top: 5px solid rgb(0, 100, 170);
}

p.sp-author{
    margin: 0 2em;
    text-align: right;
}

p.sp-glossterm{
    margin-bottom: 1em;
}

p.sp-glossterm .sp-title {
    font-weight: bold;
    color: rgb(0, 100, 170);
}

p.sp-glossa, div.sp-glossa {
    margin-top: 1em;
    font-size: 0.8em;
    color: #666;
}

p.sp-glossa + p {
    margin-top: 0;
}

span.sp-glossterm {
    color: #00406a;
    font-weight: bold;
}

a.sp-xref-glossterm::after {
    content: ' ➽ ';
    color: #00406a;
}

span.sp-xref-glossterm,
dl.sp-glossterm dt {font-weight: 600; color: #00406a;}

.sp-abstract {
    padding: 2em;
    font-style: italic;
}

div.sp-ordered-list {margin: 1em 0;}
div.sp-ordered-list span.sp-label,
dt span.sp-label,
p.sp-indent span.sp-label,
p.sp-hangindent span.sp-label,
p.sp-hang-indent span.sp-label,
p.sp-hangindent_2x span.sp-label,
p.sp-hang-indent_2x span.sp-label,
p.sp-hangindent_3x span.sp-label,
p.sp-hang-indent_3x span.sp-label,
p.sp-hangindent_4x span.sp-label,
p.sp-hang-indent_4x span.sp-label{
    display: inline;
    position: static!important;
    margin-left: -2em!important;
    background-color: inherit!important;
    color: inherit!important;
    
}

aside {
    font-size: 0.8em!important;
    line-height: 1.2!important;
}

aside p .sp-label,
aside table .sp-label {
    display: inline!important;
    position: static!important;
    padding-left: 0!important;
    padding-right: 1em!important;
    background-color: inherit!important;
    color: inherit!important;
    font-weight: bold;
}

p.sp-hang-indent, p.sp-hangindent {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 2em;
    text-indent: 0;
}

p.sp-hang-indent_2x, p.sp-hangindent_2x {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 4em;
    text-indent: 0;
}


p.sp-hang-indent_3x, p.sp-hangindent_3x {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 6em;
    text-indent: 0;
}

p.sp-hang-indent_4x, p.sp-hangindent_4x {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 8em;
    text-indent: 0;
}



div.sp-listato, div.sp-code {
    margin: 2em 0;
    padding: 1em;
    background-color: #efefef;
    font-family: monospace;
    font-size: 0.9em;
    line-height: 1.3;
}

div.sp-listato p, div.sp-code p {white-space: pre;}
div.sp-code p + p{
    margin: 0;
}

div.sp-code_output {
    padding: 1em;
    background-color: #dddddd;
}

div.sp-code p + p{
    margin: 0;
}

p.sp-code {
    text-indent: 0; 
    font-family: monospace;
}

p.sp-code + p {text-indent: 0;}

span.sp-code {
    font-family: monospace;
}

span.sp-code_comment {
    font-family: sans-serif;
}

span.sp-code_token {
    font-family: monospace;
    color: #00406a;
}

span.sp-smallcaps, span.sp-smallcap, span.sp-small-caps, span.sp-small-cap {font-variant: small-caps;} 

h1 span.sp-code_token, h2 span.sp-code_token, h3 span.sp-code_token {
    font-weight: bold;
    font-size: larger;
}

.sp-highlight, .sp-hilight, .sp-code_token_hilight {
    background-color: #dddddd!important;
}

div.sp-highlight {
    margin: 1em 0;
    padding: 1em;
}

a.sp-xref-code-comment {
    font-family: arial, helvetica, sans-serif;
    font-size: smaller;
    line-height: 1;
}

a.sp-video-url::before {
    content: ' ⇒ ';
    color: #00406a;
    font-size: 3em;
}

a.sp-url {font-style: italic;}
a.sp-url::after {content: ' ➽ '; color: #00406a;}

blockquote, .sp-blockquote {
    margin: 1em;
    font-size: 0.8em;
    line-height: 1.2;
}

div.sp-blockquote p, blockquote p {
    margin: 0;
}

span.sp-underscore {
    text-decoration: underline;
}

span.sp-overline {
    text-decoration: overline;
}

span.sp-biblio-idref {
    margin-right: 1em;
    font-weight: bold;
}


div.sp-example {
    margin: 2em 0;
    padding: 1em;
    background-color: #efefef;
    border: 1px solid #00406a;
}




div.sp-example .sp-label {
    font-weight: bold;
}

div.sp-callout-observation{
    background-color: #ddd;
    padding: 1em;
}

div.sp-chapter-opening {
    font-family: sans-serif;
    font-size: 1.1em;
}

ol.sp-nolabel, ul.sp-nolabel {
    list-style-type: none;
}

.sp-signature {
    text-align: right;
}

p.sp-verse {
    margin-left: 1em;
    margin-top: 0;
    margin-bottom: 0;
    font-style: italic;
}

p.sp-verse_first {
    margin-top: 1em;
}

p.sp-preformatted {
    white-space: pre;
}

.sp-red {color: #ff0000;}

.sp-dedication {
    margin: 3em 0;
    font-style: italic;
    text-align: right;
}
p.sp-dedication {
    margin: 0;
}

aside.sp-margin-box {
    margin-top: 1em;
    padding-left: 0.5em;
    border-left: 5px solid brown;
    font-size: smaller;
    font-weight:500;
    color: brown;
}
p.sp-margin-title {
    font-size: smaller;
    font-style: italic;
}
.sp-margin-title:before {
    content: '➢ '
}

p.sp-dialog_question {}
p.sp-dialog_answer {}

/* css only popup */
a.sp-xref-footnote{
    position: relative;
    bottom: 0.5em;
    font-size: 0.8em;
    font-weight: bold;
    color: rgb(50, 100, 200);
}

a.sp-xref-glossentry {
    color: rgb(50, 100, 200);
    text-decoration-style: double!important;
    text-decoration: underline;
}

a.sp-xref-glossterm::after {
    content: ' ➽ ';
    color: #00406a;
}

span.sp-xref-glossterm,
dl.sp-glossterm dt {font-weight: 600; color: #00406a;}


span.sp-footnote-number{
    color: rgb(50, 100, 200);
    margin-right: 1em;
}

.sp-overlay{
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.3);
    transition: opacity 500ms;
    visibility: hidden;
    opacity: 0;
}
.sp-overlay:target{
    visibility: visible;
    opacity: 1;
}
.sp-popup{
    margin: 70px auto;
    padding: 20px;
    background: #fff;
    border-radius: 5px;
    max-width: 75%;
    max-height: 75%;
    overflow: scroll;
    position: relative;
    transition: all 5s ease-in-out;
    white-space: normal;
    line-height: 1;
}

.sp-popup .sp-footnote,
.sp-popup .sp-glossentry
{
    padding: 25px;
}
.sp-popup .sp-close{
    position: absolute;
    top: 0px;
    right: 20px;
    transition: all 200ms;
    font-size: 30px;
    font-weight: bold;
    text-decoration: none;
    color: #333;
}
.sp-popup .sp-close:hover{
    color: #06D85F;
}



/* STYLES FOR COVER BOOK */
#coverBook {
	display: flex;
	align-items: center;
	justify-content: center;
}
.coverBook {
	background: transparent url('../ASSETS/9788891902177_img/custom/pattern_03.png') center center fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	text-align: center;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}
.coverBook img {
	margin: 0 auto;
	height: 100vh;
	min-height: 440px;
	min-width: 360px;
	box-shadow: 0 0 80px #000;
}
