/*! _typography.css */

body {
    font-family: var(--body_font-family);
    font-size: var(--body_font-size);
    font-weight: var(--body_font-weight);
    color: var(--body_color);
    line-height: var(--body_line-height);
    letter-spacing: var(--body_letter-spacing);
}

p {
    margin-bottom: var(--body_margin-bottom);
}

.text-element p,
.text-element p.text-justify,
p {
    color: var(--black);
}

p:last-child {
    margin-bottom: 0;
}

/******************************   H A E D I N G    ******************************/


h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    text-decoration: none;
    display: block;
    /*hyphens: auto;*/
}

h1,
.h1 {
    font-size: var(--h1_font-size);
    font-weight: var(--h1_font-weight);
    color: var(--h1_color);
    line-height: var(--h1_line-height);
    letter-spacing: var(--h1_letter-spacing);
    margin-bottom: var(--h1_margin-bottom);
    text-transform: var(--h1_text-transform);
}

h1:has(+ h2),
h1:has(+ .subline),
h1:has(+ p) {
    margin-bottom: 1em;
}


h2,
.h2,
.h2_left-line,
h1.h2_left-line,
h3.h2_left-line,
h4.h2_left-line,
h5.h2_left-line,
h6.h2_left-line {
    font-size: var(--h2_font-size);
    font-weight: var(--h2_font-weight);
    color: var(--h2_color);
    line-height: var(--h2_line-height);
    letter-spacing: var(--h2_letter-spacing);
    margin-top: var(--h2_margin-top);
    margin-bottom: var(--h2_margin-bottom);
    text-transform: var(--h2_text-transform);
}

@media (max-width: 768px) {
    h1, .h1,
    h2, .h2 {
        display: block;
        /*hyphens: auto;*/
        width: 100%;
    }
}

h2:has(+ h2),
.h2:has(+ h2),
h2:has(+ .subline),
.h2:has(+ .subline),
h2:has(+ p),
.h2:has(+ p) {
    margin-bottom: 1em;
}

h2:first-child {
    margin-top: 0;
}


h3,
.h3 {
    font-size: var(--h3_font-size);
    font-weight: var(--h3_font-weight);
    color: var(--h3_color);
    line-height: var(--h3_line-height);
    letter-spacing: var(--h3_letter-spacing);
    margin-top: var(--h3_margin-top);
    margin-bottom: var(--h3_margin-bottom);
    text-transform: var(--h3_text-transform);
}

h3:first-child {
    margin-top: 0;
}

h4,
.h4 {
    font-size: var(--h4_font-size);
    font-weight: var(--h4_font-weight);
    color: var(--h4_color);
    line-height: var(--h4_line-height);
    letter-spacing: var(--h4_letter-spacing);
    margin-bottom: var(--h4_margin-bottom);
    text-transform: var(--h4_text-transform);
}

h5,
.h5 {
    font-size: var(--h5_font-size);
    font-weight: var(--h5_font-weight);
    color: var(--h5_color);
    line-height: var(--h5_line-height);
    letter-spacing: var(--h5_letter-spacing);
    margin-bottom: var(--h5_margin-bottom);
    text-transform: var(--h5_text-transform);
}

h6,
.h6 {
    font-size: var(--h6_font-size);
    font-weight: var(--h6_font-weight);
    color: var(--h6_color);
    line-height: var(--h6_line-height);
    letter-spacing: var(--h6_letter-spacing);
    margin-bottom: var(--h6_margin-bottom);
}

.topline {
    font-size: var(--topline_font-size);
    font-weight: var(--topline_font-weight);
    color: var(--topline_color);
    line-height: var(--topline_line-height);
    letter-spacing: var(--topline_letter-spacing);
    margin-bottom: var(--topline_margin-bottom);
    text-transform: var(--topline_text-transform);
}

a {
    color: var(--darkblue);
    text-decoration: none;
}

.text-element a:not(.card) {
    text-decoration: underline;
}

.text-element a:not(.card):hover {
    color: var(--red);
}

.h2_left-line,
.left-line,
h1.h2_left-line,
h3.h2_left-line,
h4.h2_left-line,
h5.h2_left-line,
h6.h2_left-line {
    position: relative;
}

.h2_left-line::after,
.left-line::after,
h1.h2_left-line:after,
h3.h2_left-line:after,
h4.h2_left-line:after,
h5.h2_left-line:after,
h6.h2_left-line:after {
    position: absolute;
    content: "";
    /*left: calc(-100vw - 10px);*/
    left: calc(-250px);
    bottom: 9px;
    height: 1px;
    width: 0;
    background: var(--red);
    transition: all 1s linear;
}

.aos-animate .h2_left-line::after,
.aos-animate .left-line::after,
h1.h2_left-line:after,
h3.h2_left-line:after,
h4.h2_left-line:after,
h5.h2_left-line:after,
h6.h2_left-line:after {
    /*width: 100vw;*/
    width: 250px;
}

.col-start-lg-2 .h2_left-line::after,
.col-start-lg-2 .left-line::after,
.col-start-lg-2 h1.h2_left-line:after,
.col-start-lg-2 h3.h2_left-line:after,
.col-start-lg-2 h4.h2_left-line:after,
.col-start-lg-2 h5.h2_left-line:after,
.col-start-lg-2 h6.h2_left-line:after,
.tx-professional .left-line::after {
    left: calc(-350px);
}

.col-start-lg-2 .aos-animate .h2_left-line::after,
.col-start-lg-2 .aos-animate .left-line::after,
.col-start-lg-2 .aos-animate h1.h2_left-line:after,
.col-start-lg-2 .aos-animate h3.h2_left-line:after,
.col-start-lg-2 .aos-animate h4.h2_left-line:after,
.col-start-lg-2 .aos-animate h5.h2_lef-line:after,
.col-start-lg-2 .aos-animate h6.h2_left-line:after,
.tx-professional .left-line::after {
    width: 350px;
}

/******************************   L I S T S    ******************************/


img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    display: inline-block;
}

svg {
    max-width: 100%;
    height: auto;
    display: inline-block;
    vertical-align: middle;
}

video {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

iframe {
    max-width: 100%;
}

.font-weight_normal {
    font-weight: normal;
}

/* Anchors */

a {
    cursor: pointer;
}


/* Lists */

ul,
ol {
    margin: 0 0 2.5rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
    margin: 0;
}

ul.no-list {
    list-style: none;
    margin: 0;
    padding-left: 0;
}

ul ul,
ol ul,
ul ol,
ol ol {
    margin: 0;
}

li {
    margin-left: 0;
    margin-bottom: 0.5rem;
    margin-left: 2rem;
    color: var(--black);
}

li:last-child {
    margin-bottom: 0;
}

li::marker {
    color: var(--red);
}


/*
picture {
  font-size: var(--font-size_14);
  color: var(--carbon-gray_100);
  line-height: 1.5;
}
p + picture {
  margin-top: 52px;
}

picture img {
  margin-bottom: 16px;
}
picture + p {
  margin-top: 52px;
}

sub {
  font-size: 60%;
  vertical-align: bottom;
}
*/
.light {
    color: #ffffff;
}

.light h1,
.light .h1,
.light h2,
.light .h2,
.light h3,
.light .h3,
.light h4,
.light .h4,
.light h5,
.light .h5,
.light h6,
.light .h6,
.topline {
    color: inherit;
}

h1.grey-title,
.h1.grey-title,
h2.grey-title,
.h2.grey-title,
h3.grey-title,
.h3.grey-title,
h4.grey-title,
.h4.grey-title,
h5.grey-title,
.h5.grey-title,
h6.grey-title,
.h6.grey-title {
    color: var(--grey_light_light);
}

/*******************   A D V A N T   *******************/

.chapter_title {
    font-size: var(--font-size_162);
    color: var(--grey_light);
    text-transform: uppercase;
    font-weight: bold;
}


/* Code blocks */
/*
pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}
*/
/* Blockquotes */
/*
blockquote {
  border-left: 7px solid var(--primary);
  margin: 0 0 1.4rem;
  padding-left: 3.2rem;
  font-size: 2rem;
}
*/
