html {
    background-color: #121212;
}

main#primary {
    box-sizing: border-box;
    min-height: 100vh;
    padding: 90px calc(13% + 40px) 60px 20px;
}

.privacy-policy {
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: min(780px, 100%);
    margin: auto;
    color: #eee;
    line-height: 1.9;
}

.privacy-policy header,
.privacy-policy section {
    padding: 18px 22px;
    border-radius: 12px;
    background-color: var(--xosupbg);
}

.privacy-policy header {
    border-right: 4px solid var(--ast-global-color-0);
}

.privacy-policy h1,
.privacy-policy h2,
.privacy-policy p {
    margin-top: 0;
}

.privacy-policy h1 {
    margin-bottom: 8px;
    color: #fff;
}

.privacy-policy h2 {
    margin-bottom: 6px;
    color: var(--ast-global-color-0);
    font-size: 21px;
}

.privacy-policy p,
.privacy-policy ul {
    margin-bottom: 0;
}

.privacy-policy time {
    display: block;
    margin-top: 10px;
    color: #bbb;
    font-size: 14px;
}

.privacy-policy a {
    color: var(--specials);
    text-underline-offset: 4px;
}

.privacy-policy a:hover {
    color: #fff;
}

@media only screen and (max-width: 1600px) {
    main#primary {
        padding-right: calc(15% + 40px);
    }
}

@media only screen and (max-width: 1300px) {
    main#primary {
        padding-right: calc(17% + 40px);
    }
}

@media only screen and (max-width: 1100px) {
    main#primary {
        padding-right: 20px;
    }
}

@media only screen and (max-width: 600px) {
    main#primary {
        padding: 75px 10px 40px;
    }

    .privacy-policy header,
    .privacy-policy section {
        padding: 15px;
    }

    .privacy-policy h1 {
        font-size: 26px;
    }

    .privacy-policy h2 {
        font-size: 19px;
    }
}
