/* Extrata Shared Styles */

/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: "Arial", sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #333;
    background-color: #f5f5f5;
}

/* Main Container */
.position-absolute.top-0.start-50.translate-middle-x {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: 800px;
    max-width: 95%;
    background-color: white;
    padding: 40px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    margin-bottom: 40px;
}

/* Header and Logo */
a {
    text-decoration: none;
    color: inherit;
    display: inline-block;
}

a[href] img {
    display: block;
    margin-bottom: 30px;
}

img {
    outline: none;
    text-decoration: none;
    clear: both;
    display: inline-block;
    border: none;
    height: auto;
    max-width: 150px;
    width: 100%;
}

/* Content Sections */
.footerlinkscontent {
    margin-top: 30px;
}

.terms {
    text-align: justify;
}

/* Typography */
h1 {
    font-family: "Arial", sans-serif;
    font-size: 18px;
    font-weight: bold;
    margin-top: 24px;
    margin-bottom: 16px;
    text-align: left;
    color: #1a1a1a;
    line-height: 1.4;
}

h2 {
    font-family: "Arial", sans-serif;
    font-size: 16px;
    font-weight: bold;
    margin-top: 20px;
    margin-bottom: 12px;
    text-align: left;
    color: #1a1a1a;
    line-height: 1.4;
}

h3 {
    font-family: "Arial", sans-serif;
    font-size: 15px;
    font-weight: normal;
    margin-top: 12px;
    margin-bottom: 12px;
    text-align: justify;
    color: #333;
    line-height: 1.8;
}

h6 {
    font-family: "Arial", sans-serif;
    font-size: 15px;
    font-weight: normal;
    margin-top: 8px;
    margin-bottom: 8px;
    text-align: justify;
    color: #333;
    line-height: 1.8;
}

p {
    margin-top: 0;
    margin-bottom: 12px;
    text-align: justify;
    font-size: 15px;
    color: #333;
    line-height: 1.8;
}

p.title {
    font-weight: bold;
    font-size: 24px;
    margin-bottom: 24px;
    margin-top: 0;
    text-align: left;
    color: #1a1a1a;
    line-height: 1.3;
}

p.item-0 {
    margin-bottom: 16px;
}

/* Special Spans */
span.registered::after {
    content: "®";
    font-size: 0.8em;
    vertical-align: super;
}

span.copyright::after {
    content: "©";
}

/* Lists */
ol, ul {
    margin-bottom: 16px;
    margin-top: 12px;
    margin-left: 0;
    padding-left: 40px;
    list-style-position: outside;
}

ol li, ul li {
    margin-bottom: 8px;
    padding-left: 8px;
    line-height: 1.8;
}

/* Specific list type styling */
ol[type="i"] {
    list-style-type: lower-roman;
}

ol[type="a"] {
    list-style-type: lower-alpha;
}

ol[type="1"] {
    list-style-type: decimal;
}

/* Nested lists */
ol ol, ol ul, ul ol, ul ul {
    margin-top: 8px;
    margin-bottom: 8px;
    padding-left: 40px;
}

/* Headings inside list items */
li h1, li h2, li h3, li h6 {
    margin-top: 0;
    margin-bottom: 0;
    display: inline;
    text-align: left;
}

/* Custom Ordered List Float */
.ol-float {
    list-style-type: none;
    counter-reset: item;
    margin: 16px 0;
    padding: 0;
}

.ol-float > li {
    display: table;
    counter-increment: item;
    margin-bottom: 16px;
}

.ol-float > li:before {
    content: counters(item, ".") ". ";
    display: table-cell;
    padding-right: 12px;
    font-weight: bold;
    vertical-align: top;
}

li .ol-float > li {
    margin: 8px 0;
}

li .ol-float > li:before {
    content: counters(item, ".") ". ";
    font-weight: bold;
}

/* Decimal Type Lists */
.decimal_type {
    list-style-type: decimal;
}

.basic-list {
    margin-left: 20px;
}

/* Links */
a[href] {
    color: #0066cc;
    text-decoration: underline;
}

a[href]:hover {
    color: #004a99;
    text-decoration: none;
}

/* Utility Classes */
strong {
    font-weight: bold;
    color: #1a1a1a;
}

/* Section Spacing */
.terms > h1:first-of-type {
    margin-top: 0;
}

/* Definitions Section */
.definitions-list {
    margin-left: 40px;
    margin-top: 16px;
    margin-bottom: 24px;
}

.definitions-list p {
    margin-bottom: 12px;
}

.definitions-list p:empty {
    display: none;
}

.definitions-list .definition-term {
    font-weight: bold;
    color: #1a1a1a;
}

/* Email Links */
a[href^="mailto:"] {
    color: #0066cc;
    word-break: break-all;
}

/* Responsive Design */
@media (max-width: 850px) {
    .position-absolute.top-0.start-50.translate-middle-x {
        position: relative;
        left: auto;
        transform: none;
        width: 100%;
        max-width: 100%;
        padding: 20px;
        border-radius: 0;
    }

    p.title {
        font-size: 20px;
    }

    h1 {
        font-size: 16px;
    }

    h2 {
        font-size: 15px;
    }
}

/* Print Styles */
@media print {
    body {
        background: white;
    }

    .position-absolute.top-0.start-50.translate-middle-x {
        position: relative;
        left: auto;
        transform: none;
        width: 100%;
    }
}
