body.public-link-preparing {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    height: auto;
}

body.public-link-material {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    height: auto;
}

body.public-link-material .wrap {
    flex: 1 0 auto;
    min-height: 0;
    margin: 0;
    padding-bottom: 0;
}

body.public-link-material footer {
    flex-shrink: 0;
    margin-top: 0;
}

.public-link-page {
    width: 100%;
    margin: 20px auto 28px;
}

.public-link-page h1 {
    margin: 0 0 8px;
    overflow-wrap: anywhere;
}

.public-link-filename {
    margin-bottom: 16px;
    color: #666;
    overflow-wrap: anywhere;
}

.public-link-preview-image,
.public-link-preview-video,
.public-link-preview-document {
    display: block;
    max-width: 100%;
    margin: 0 0 18px;
}

.public-link-preview-image,
.public-link-preview-video {
    max-height: min(60vh, 600px);
}

.public-link-preview-video,
.public-link-preview-document {
    width: 100%;
    background: #000;
}

.public-link-preview-document {
    height: min(60vh, 600px);
    border: 1px solid #ddd;
    background: #fff;
}

body.public-link-preparing .wrap {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin: 0;
    padding-bottom: 0;
}

body.public-link-preparing .wrap > .container {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body.public-link-preparing footer {
    flex-shrink: 0;
    margin-top: 0;
}

.public-link-preparing-page {
    width: 100%;
    max-width: 700px;
    margin: 24px auto;
}

.public-link-preparing-box {
    padding: 40px 44px 42px;
    border: 1px solid #e0e5e9;
    border-top: 3px solid #337ab7;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(22, 34, 42, .07);
    text-align: center;
}

.public-link-preparing-page h1 {
    margin: 0 0 18px;
    overflow-wrap: anywhere;
}

.public-link-preparing-box p {
    max-width: 560px;
    margin: 0 auto;
    color: #555;
    font-size: 16px;
    line-height: 1.6;
}

.public-link-preparing-box .public-link-preparing-status {
    margin-bottom: 10px;
    color: #337ab7;
    font-size: 18px;
    font-weight: 600;
}

@media (max-width: 600px) {
    .public-link-preparing-page {
        margin: 20px auto;
    }

    .public-link-preparing-box {
        padding: 28px 22px 30px;
    }
}
.public-link-viewer{display:flex;flex-direction:column;height:70vh;min-height:320px;max-height:900px;border:1px solid #e0e3e7;border-radius:6px;overflow:hidden;background:#f4f5f7}
.public-link-viewer .reader-marker-header h1{margin:0;font-size:20px;color:#333}
.public-link-viewer .reader-marker-body img{max-height:calc(70vh - 160px)}
.public-link-viewer .reader-marker-body video{max-height:none}
.public-link-viewer .reader-marker-file-card{flex:0 1 620px;max-width:100%;margin:auto;box-sizing:border-box}
