@font-face {
    font-family: 'Open Sans';
    src: url('../../fonts/opensans/subset-OpenSans-Bold.woff2') format('woff2'),
    url('../../fonts/opensans/subset-OpenSans-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../../fonts/opensans/subset-OpenSans-Semibold.woff2') format('woff2'),
    url('../../fonts/opensans/subset-OpenSans-Semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../../fonts/opensans/subset-OpenSans-Light.woff2') format('woff2'),
    url('../../fonts/opensans/subset-OpenSans-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../../fonts/opensans/subset-OpenSans-Extrabold.woff2') format('woff2'),
    url('../../fonts/opensans/subset-OpenSans-Extrabold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Open Sans';
    src: url('../../fonts/opensans/subset-OpenSans.woff2') format('woff2'),
    url('../../fonts/opensans/subset-OpenSans.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: 'Open Sans', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    color: var(--color-default);
    -webkit-font-smoothing: antialiased;
    -webkit-print-color-adjust: exact !important;
}

h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4, .h5 {
    color: var(--color-heading);
    margin-bottom: 20px;
    font-weight: 700;
}

h1, .h1 {
    font-size: 30px;
    font-weight: 800;
}

h2, .h2 {
    font-size: 24px;
}

h3, .h3 {
    font-size: 20px;
}

h4, .h4 {
    font-size: 18px;
}

h5, .h5 {
    font-size: 16px;
}

h6, .h6 {
    font-size: 16px;
}

h1 a, h2 a, h3 a, h4 a, h5 a {
    color: var(--color-secondary);
    font-weight: inherit;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover {
    color: var(--color-secondary-hover);
}

p {
    margin-bottom: 20px;
}

a {text-decoration: none; color: var(--color-secondary); font-weight: 600;}
a:hover, a:focus {text-decoration: none; color: var(--color-secondary-hover);}

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

strong, b {font-weight: 700;}

hr, .hr {
    border: none;
    border-top: 1px solid var(--color-light-blue);
    margin: 30px 0;
    height: 1px;
}

main ul ul {
    margin: 5px 0;
}

main ul li {
    margin-bottom: 5px;
    position: relative;
}

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

main ul {
    padding-left: 20px;
    list-style-type: none;
    margin-bottom: 20px;
}
.t-center ul, [style*="text-align: center"] ul, ul li[style*="text-align: center"] {
    list-style-position: inside;
}

main ul:not(.slick-dots):not(.li-clear):not(.dropdown-menu) li::before {
    content: "•";
    color: var(--color-primary);
    position: absolute;
    left: -20px;
    top: -1px;
}

main ol {
    padding-left: 20px;
    list-style-type: decimal;
    margin-bottom: 20px;
}

.t-center ol, [style*="text-align: center"] ol, ol li[style*="text-align: center"] {
    list-style-position: inside;
}

main ol li {margin-bottom: 5px;}

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

main ol ol {
    list-style-type: lower-alpha;
    margin: 5px 0;
}

/* ##### multi-level-list ##### */
.multi-level-list ol {
    list-style-type: none;
    counter-reset: item;
    padding-left: 0;
}

.multi-level-list ol ol {margin-top: 5px;}

.multi-level-list ol > li {
    display: table;
    counter-increment: item;
    margin-bottom: 0.6em;
}

.multi-level-list ol > li:before {
    content: counters(item, ".") ". ";
    display: table-cell;
    padding-right: 0.6em;
}

.multi-level-list li ol > li:before {
    content: counters(item, ".") " ";
}

.cke_editable .no-edit {display: none;}

table {
    width: 100%;
    max-width: 100% !important;
}

table {margin-bottom: 20px;}

table th {
    font-weight: 700;
    text-align: left;
    color: var(--color-heading);
}

table th, table td {
    vertical-align: top;
    padding: 15px 25px;
    border: none;
    border-bottom: 1px solid var(--color-light-blue);
    border-left: 1px solid var(--color-light-blue);
    line-height: 1.4;
}
table thead th {vertical-align: middle;}
table tbody tr:last-child th, table tr:last-child td {border-bottom: none;}
table tr th:first-child, table tr td:first-child {border-left: none; border-right: 1px solid var(--color-primary); padding-left: 0;}
table tr td:first-of-type {border-left: none;}
table tr th:last-child, table tr td:last-child {padding-right: 0;}


table th.sorted a {color: inherit;}
table th.sorted a i {margin-right: 5px;}

blockquote {
    border-left: 5px solid var(--color-secondary);
    padding: 0 0 0 40px;
    font-style: italic;
    margin-bottom: 20px;
}

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

pre {margin-bottom: 20px;}

figure {
    text-align: center;
    background: rgba(0, 0, 0, 0.05);
    padding: 10px;
    margin: 0 0 20px 0;
    display: inline-block;
}
figure > img {margin-bottom: 7px;}
figure > figcaption {
    text-align: center;
    display: block;
    font-size: 14px;
    font-style: italic;
}

/* ##### ONLY IN WYSIWIG EDITOR ##### */
.wysiwyg-editor img {
    max-width: 100% !important;
    height: auto !important;
}

@media all and (max-width: 991px) {
    body {font-size: 14px;}
    h1, .h1 {font-size: 22px;}
    h2, .h2 {font-size: 20px;}
    h3, .h3 {font-size: 18px;}
    h4, .h4 {font-size: 17px;}
    h5, .h5 {font-size: 16px;}
    h6, .h6 {font-size: 16px;}

    table td, table th {padding: 10px 15px;}
}