tdesktop/Telegram/Resources/iv_html/page.css

1117 lines
21 KiB
CSS

:root {
--font-sans: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, tahoma, arial, sans-serif;
--font-serif: Iowan Old Style, Apple Garamond, Baskerville, Georgia, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
--font-mono: Menlo, Cascadia Code, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;
}
body {
font-family: var(--font-sans);
font-size: 17px;
line-height: 25px;
padding: 0;
margin: 0;
background-color: var(--td-window-bg);
color: var(--td-window-fg);
}
html.custom_scroll ::-webkit-scrollbar {
border-radius: 5px !important;
border: 3px solid transparent !important;
background-color: var(--td-scroll-bg) !important;
background-clip: content-box !important;
width: 10px !important;
}
html.custom_scroll ::-webkit-scrollbar:hover {
background-color: var(--td-scroll-bg-over) !important;
}
html.custom_scroll ::-webkit-scrollbar-thumb {
border-radius: 5px !important;
border: 3px solid transparent !important;
background-color: var(--td-scroll-bar-bg) !important;
background-clip: content-box !important;
}
html.custom_scroll ::-webkit-scrollbar-thumb:hover {
background-color: var(--td-scroll-bar-bg-over) !important;
}
.fixed_button {
position: fixed;
background-color: var(--td-history-to-down-bg);
border: none;
border-radius: 50%;
width: 32px;
height: 32px;
box-shadow: 0 0 3px 0px var(--td-history-to-down-shadow);
cursor: pointer;
outline: none;
z-index: 1000;
overflow: hidden;
user-select: none;
display: flex;
justify-content: center;
align-items: center;
padding: 0px;
}
.fixed_button:hover {
background-color: var(--td-history-to-down-bg-over);
}
.fixed_button svg {
fill: none;
position: relative;
z-index: 1;
width: 24px;
height: 24px;
}
.fixed_button .ripple .inner {
position: absolute;
border-radius: 50%;
transform: scale(0);
opacity: 1;
animation: ripple 650ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
background-color: var(--td-history-to-down-bg-ripple);
}
.fixed_button .ripple.hiding {
animation: fadeOut 200ms linear forwards;
}
@keyframes ripple {
to {
transform: scale(2);
}
}
@keyframes fadeOut {
to {
opacity: 0;
}
}
@keyframes fadeIn {
to {
opacity: 1;
}
}
#menu_page_blocker {
z-index: 999;
position: fixed;
width: 100%;
height: 100%;
}
#top_shadow {
z-index: 999;
position: fixed;
top: 0;
height: 1px;
width: 100%;
left: 0;
background-color: var(--td-shadow-fg)
}
#bottom_up path {
stroke: var(--td-history-to-down-fg);
}
#bottom_up path {
stroke-width: 1.4;
}
#bottom_up:hover path {
stroke: var(--td-history-to-down-fg-over);
}
#bottom_up {
bottom: 10px;
right: 10px;
transition: bottom 200ms linear;
}
#bottom_up.hidden {
bottom: -36px;
}
.page-scroll {
position: absolute;
width: 100%;
height: 100%;
overflow-x: hidden;
overflow-y: auto;
}
.page-scroll:focus {
outline: none;
}
.page-slide {
position: relative;
width: 100%;
margin-left: 0%;
transition: margin 240ms ease-in-out;
}
.hidden-left,
.hidden-right {
pointer-events: none;
}
.hidden-left .page-slide {
margin-left: -100%;
}
.hidden-right .page-slide {
margin-left: 100%;
}
article {
padding-bottom: 12px;
overflow-y: hidden;
overflow-x: auto;
white-space: pre-wrap;
max-width: 732px;
margin: 0 auto;
}
article h1,
article h2 {
font-family: var(--font-serif);
font-size: 28px;
line-height: 31px;
margin: 21px 18px 12px;
font-weight: normal;
min-height: 31px;
}
article h2 {
font-size: 24px;
line-height: 30px;
margin: -6px 18px 12px;
color: var(--td-window-sub-text-fg);
}
article h5 {
margin: 21px 18px 12px;
}
article address {
font-size: 15px;
color: var(--td-window-sub-text-fg);
margin: 12px 18px 21px;
font-style: normal;
}
article.rtl address {
direction: ltr;
text-align: right;
}
article address figure {
width: 25px;
height: 25px;
float: right;
margin: 0 0 0 12px;
background: no-repeat center;
background-size: cover;
border-radius: 50%;
}
article address a,
article address a[href] {
color: var(--td-window-sub-text-fg);
}
article address a[href] {
text-decoration: underline;
}
article a[href] {
color: var(--td-window-active-text-fg);
text-decoration: none;
}
article a.internal-iv-link {
border-radius: 3px;
margin: 0px -3px;
padding: 0px 3px;
position: relative;
background: var(--td-light-button-bg-over);
color: var(--td-light-button-fg);
}
article span.reference {
border: dotted var(--td-window-sub-text-fg);
border-width: 1px 1px 1px 2px;
background: rgba(255, 255, 255, 0.7);
margin: 0 1px;
padding: 2px;
position: relative;
}
article.rtl span.reference {
border-width: 1px 0 1px 1px;
}
article code {
font-size: 0.94em;
background: var(--td-box-divider-bg);
border-radius: 2px;
padding: 0 3px 1px;
}
article mark {
background: var(--td-window-bg-over);
color: var(--td-window-fg);
border-radius: 2px;
padding: 0 3px 1px;
}
article sup,
article sub {
font-size: 0.75em;
line-height: 1;
}
article p {
margin: 0 18px 12px;
word-wrap: break-word;
}
article ul p,
article ol p {
margin: 0 0 6px;
}
article pre,
article pre.hljs {
font-family: var(--font-mono);
margin: 14px 0;
padding: 7px 18px;
background: var(--td-box-divider-bg);
font-size: 16px;
white-space: pre-wrap;
word-wrap: break-word;
overflow-x: visible;
position: relative;
}
article ul pre,
article ol pre,
article ul pre.hljs,
article ol pre.hljs {
margin: 6px 0 6px -18px;
}
article.rtl ul pre,
article.rtl ol pre,
article.rtl ul pre.hljs,
article.rtl ol pre.hljs {
margin-right: -18px;
margin-left: 0;
}
article pre + pre {
margin-top: -14px;
}
article h3,
article h4 {
font-family: var(--font-serif);
font-size: 24px;
line-height: 30px;
margin: 18px 18px 9px;
font-weight: normal;
}
article h4 {
font-size: 19px;
margin: 18px 18px 7px;
}
article ul h3,
article ol h3 {
margin: 12px 0 7px;
}
article ul h4,
article ol h4 {
margin: 10px 0 5px;
}
article blockquote {
font-family: var(--font-serif);
margin: 18px 18px 16px;
padding-left: 22px;
position: relative;
font-style: italic;
word-wrap: break-word;
}
article blockquote:before {
content: '';
position: absolute;
left: 1px;
top: 3px;
bottom: 3px;
width: 3px;
background-color: var(--td-window-bg-active);
border-radius: 3px;
}
article.rtl blockquote {
padding-right: 22px;
padding-left: 0;
}
article.rtl blockquote:before {
right: 1px;
left: auto;
}
article aside {
font-family: var(--font-serif);
margin: 18px 18px 16px;
padding: 0 18px;
text-align: center;
font-style: italic;
}
article ul blockquote,
article ol blockquote,
article ul aside,
article ol aside {
margin: 12px 0 10px;
}
article blockquote cite,
article aside cite,
article footer cite,
article .pullquote cite {
font-family: var(--font-sans);
font-size: 15px;
display: block;
color: var(--td-window-sub-text-fg);
line-height: 19px;
padding: 5px 0 2px;
font-style: normal;
}
article hr {
width: 50%;
margin: 36px auto 26px;
padding: 2px 0 10px;
border: none;
}
article ul hr,
article ol hr {
margin: 18px auto;
}
article hr:before {
content: '';
display: block;
border-top: 1px solid var(--td-window-sub-text-fg);
padding: 0 0 2px;
}
article footer hr {
margin: 18px auto 6px;
}
article ul,
article ol {
margin: 0 18px 12px;
padding-left: 18px;
}
article.rtl ul,
article.rtl ol {
padding-right: 18px;
padding-left: 0;
}
/*article ul {
list-style: none;
}*/
article ul > li,
article ol > li {
padding-left: 4px;
}
article.rtl ul > li,
article.rtl ol > li {
padding-right: 4px;
padding-left: 0;
}
/*article ul > li {
position: relative;
}
article ul > li:before {
content: '\2022';
position: absolute;
display: block;
font-size: 163%;
left: -19px;
top: 1px;
}
article.rtl ul > li:before {
left: auto;
right: -19px;
}*/
article ul ul,
article ul ol,
article ol ul,
article ol ol {
margin: 0 0 12px;
}
article table {
width: 100%;
border-collapse: collapse;
}
article table.bordered,
article table.bordered td,
article table.bordered th {
border: 1px solid var(--td-history-to-down-shadow);
}
article table.striped tr:nth-child(odd) td {
background-color: var(--td-box-divider-bg);
}
article table caption {
font-size: 15px;
line-height: 18px;
margin: 4px 0 7px;
text-align: left;
color: var(--td-window-sub-text-fg);
}
article.rtl table caption {
text-align: right;
}
article td,
article th {
font-size: 15px;
line-height: 21px;
padding: 6px 5px 5px;
background-color: var(--td-window-bg);
vertical-align: middle;
font-weight: normal;
text-align: left;
}
article th {
background-color: var(--td-box-divider-bg);
}
article.rtl table td,
article.rtl table th {
text-align: right;
}
article details {
position: relative;
margin: 0 0 12px;
padding: 0 0 1px;
}
article details:before {
content: '';
display: block;
border-bottom: 1px solid var(--td-history-to-down-shadow);
position: absolute;
left: 18px;
right: 0;
bottom: 0;
}
article.rtl details:before {
right: 18px;
left: 0;
}
article details + details {
margin-top: -12px;
}
article details > details:last-child {
margin-bottom: -1px;
}
article summary {
padding: 10px 18px 10px 42px;
line-height: 25px;
min-height: 25px;
}
article.rtl summary {
padding-left: 18px;
padding-right: 42px;
}
article summary:hover {
cursor: pointer;
}
article summary:focus {
outline: none;
}
article summary::-webkit-details-marker {
display: none;
}
article summary::marker {
content: '';
}
article summary:before {
content: '';
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAICAYAAADN5B7xAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAH1JREFUeNqEjUEKgCAQRSfrNi1bdZFadJjsMC46SSAIHqjB5mcFqdFfhD3eUyKZtb6ln92O2janmXdvrRu+ZTfAgasu1jAHU4qiHAwc/Ff4oCQKsxxZ0NT33XrxUTjkWvgiXFf3TWkU6Vt+XihH515yFiQRpfLnEMUw3yHAABZNTT9emBrvAAAAAElFTkSuQmCC');
transition: all .2s ease;
display: inline-block;
position: absolute;
width: 12px;
height: 8px;
left: 18px;
top: 18px;
}
article.rtl summary:before {
right: 18px;
left: auto;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
article summary:before {
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAQCAYAAAAMJL+VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAPxJREFUeNq8lEESgiAUhgFbZ0epSW28gB2pZbrrSukBHDWto1TrwHih45AiaDOxesLP9w1PBlzXNfrLSNPqkGWV8ysHGMBqv4mAlyFC7MRPk+T51Z0Lh73AAJZgIoRFUR/bEMb4TggJPG9TTIUzxmIuWHWzOCLfQQgwRiedRMBpIsObFvn+NgSTLEE2bCiKm6eDQ0bAkS2v4AjYuPvJcqtEu9DDshaB665zFZzSV6yCfyr5JplLTOA9wZiEg/a+72Qic9nxubMOPijQSZraCK4UjEiezSVYmsBHBSrJAEIJ1wr0knG4kUAt0cONBX2JGXzGi1uG7SNmOt4CDADc4r+K4txg+wAAAABJRU5ErkJggg==');
background-size: 12px 8px;
}
}
article details[open] > summary:before {
/*transform: rotateZ(-180deg);*/
transform: scaleY(-1);
}
article li summary {
padding-left: 24px;
}
article li details:before,
article li summary:before {
left: 0;
}
img,
video,
iframe {
max-width: 100%;
max-height: 480px;
vertical-align: top;
}
video {
width: 100%;
}
audio {
width: 100%;
width: calc(100% - 36px);
margin: 0 18px;
vertical-align: top;
}
img {
font-size: 12px;
line-height: 14px;
color: var(--td-window-sub-text-fg);
}
img.pic {
max-height: none;
font-size: inherit;
vertical-align: middle;
position: relative;
top: -0.1em;
}
img.pic.optional {
opacity: 0.4;
}
body:hover img.pic.optional {
opacity: 1;
}
iframe.autosize {
max-height: none;
}
.iframe-wrap {
max-width: 100%;
vertical-align: top;
display: inline-block;
position: relative;
}
.iframe-wrap iframe {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
figure {
margin: 0 0 16px;
padding: 0;
text-align: center;
position: relative;
}
figure.nowide {
margin-left: 18px;
margin-right: 18px;
}
figure.nowide figcaption {
padding-left: 0;
padding-right: 0;
}
ul figure.nowide,
ol figure.nowide {
margin: 0 0 12px;
}
figure > figure {
margin: 0;
}
figcaption {
font-size: 15px;
color: var(--td-window-sub-text-fg);
padding: 6px 18px 0;
line-height: 19px;
text-align: left;
}
article.rtl figcaption {
text-align: right;
}
ul figcaption,
ol figcaption {
padding-left: 0;
padding-right: 0;
}
figcaption > cite {
font-family: var(--font-sans);
font-size: 12px;
display: block;
line-height: 15px;
padding: 2px 0 0;
font-style: normal;
}
footer {
margin: 12px 18px;
color: var(--td-window-sub-text-fg);
}
figure.slideshow-wrap {
position: relative;
}
figure.slideshow {
position: absolute;
top: 0px;
white-space: nowrap;
width: 100%;
background: #000;
overflow: hidden;
}
figure.slideshow a {
transition: margin 200ms ease-in-out;
}
figure.slideshow .photo-wrap,
figure.slideshow .video-wrap {
position: static !important;
display: inline-block;
margin: 0;
vertical-align: middle;
}
.slideshow-buttons {
position: absolute;
width: 100%;
bottom: 10px;
white-space: nowrap;
overflow: hidden;
z-index: 3;
}
.slideshow-buttons > fieldset {
padding: 0;
margin: 0;
border: none;
line-height: 0;
overflow: hidden;
overflow-x: auto;
min-width: auto;
}
.slideshow-buttons label {
display: inline-block;
padding: 7px;
cursor: pointer;
}
.slideshow-buttons input {
position: absolute;
left: -10000px;
}
.slideshow-buttons label i {
display: inline-block;
background: #fff;
box-shadow: 0 0 3px rgba(0, 0, 0, .4);
border-radius: 3.5px;
width: 7px;
height: 7px;
opacity: .6;
transition: opacity .3s;
}
.slideshow-buttons input:checked ~ i {
opacity: 1;
}
.slideshow-next,
.slideshow-prev {
position: absolute;
z-index: 4;
top: 0;
width: 25%;
max-width: 128px;
height: 100%;
cursor: pointer;
transition: opacity 200ms ease-in-out;
user-select: none;
opacity: 0.6;
}
.slideshow-next {
right: 0;
background: linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 100%);
}
.slideshow-prev {
left: 0;
background: linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,0.6) 100%);
}
.slideshow-next:hover {
opacity: 1;
}
.slideshow-prev:hover {
opacity: 1;
}
.slideshow-prev svg,
.slideshow-next svg {
fill: none;
top: calc(50% - 12px);
position: absolute;
z-index: 5;
width: 24px;
height: 24px;
pointer-events: none;
}
.slideshow-prev svg {
left: calc(min(50% - 12px, 20px));
}
.slideshow-next svg {
right: calc(min(50% - 12px, 20px));
}
.slideshow-prev path,
.slideshow-next path {
stroke-width: 1.4;
stroke: #fff;
}
figure.collage-wrap {
margin: 0px 12px;
}
figure.collage-wrap figcaption {
padding: 6px 6px 0px;
}
figure.collage {
overflow: hidden;
border-radius: 6px;
}
figure.collage .photo-wrap,
figure.collage .video-wrap {
position: absolute;
}
figure.collage .photo-wrap .photo {
background-size: cover;
}
figure.collage .video-wrap video {
object-fit: cover;
position: absolute;
top: 50%;
left: 50%;
width: auto;
height: auto;
min-width: 100%;
min-height: 100%;
transform: translate(-50%, -50%);
}
figure.collage .video-wrap .video-small,
video[autoplay] {
pointer-events: none;
}
figure.table-wrap {
overflow: auto;
-webkit-overflow-scrolling: touch;
}
figure.table {
display: table-cell;
padding: 0 18px;
}
article ol figure.table-wrap,
article ul figure.table-wrap {
margin-top: 7px;
}
article ol figure.table,
article ul figure.table {
padding: 0;
}
figure blockquote.embed-post {
text-align: left;
margin-bottom: 0;
}
article.rtl figure blockquote.embed-post {
text-align: right;
}
blockquote.embed-post address {
margin: 0;
padding: 5px 0 9px;
overflow: hidden;
}
blockquote.embed-post address figure {
width: 50px;
height: 50px;
float: left;
margin: 0 12px 0 0;
background: no-repeat center;
background-size: cover;
border-radius: 50%;
}
article.rtl blockquote.embed-post address figure {
float: right;
margin-left: 12px;
margin-right: 0;
}
blockquote.embed-post address a {
display: inline-block;
padding-top: 2px;
font-size: 17px;
font-weight: 600;
color: var(--td-window-fg);
}
blockquote.embed-post address time {
display: block;
line-height: 19px;
}
blockquote.embed-post p,
blockquote.embed-post blockquote {
margin: 0 0 7px;
clear: left;
}
blockquote.embed-post figcaption {
padding-left: 0;
padding-right: 0;
}
blockquote.embed-post figure.collage {
margin-left: -2px;
margin-right: -2px;
}
blockquote.embed-post footer {
margin: 12px 0 0;
font-style: normal;
}
blockquote.embed-post footer hr {
display: none;
}
section.embed-post {
display: block;
width: auto;
height: auto;
background: var(--td-box-divider-bg);
margin: 0 18px 12px;
padding: 24px 18px;
text-align: center;
}
section.embed-post strong {
font-size: 21px;
font-weight: normal;
display: block;
color: var(--td-window-sub-text-fg);
}
section.embed-post small {
display: block;
color: var(--td-window-sub-text-fg);
}
section.related {
margin: 7px 0 12px;
}
section.related h4 {
font-family: var(--font-sans);
font-size: 17px;
line-height: 26px;
font-weight: 500;
display: block;
padding: 7px 18px;
background: var(--td-box-divider-bg);
margin: 0;
color: var(--td-window-fg);
}
section.related a.related-link {
display: block;
padding: 15px 18px 16px;
background: var(--td-window-bg);
position: relative;
overflow: hidden;
}
section.related a.related-link:after {
content: '';
display: block;
border-bottom: 1px solid var(--td-history-to-down-shadow);
position: absolute;
left: 18px;
right: 0;
bottom: 0;
}
section.related .related-link-url {
display: block;
font-size: 15px;
line-height: 18px;
padding: 7px 0;
color: var(--td-window-sub-text-fg);
word-break: break-word;
}
section.related .related-link-thumb {
display: inline-block;
float: right;
width: 87px;
height: 87px;
border-radius: 4px;
background: no-repeat center;
background-size: cover;
margin-left: 15px;
}
section.related .related-link-content {
display: block;
margin: -3px 0;
}
section.related .related-link-title {
font-size: 15px;
font-weight: 500;
line-height: 18px;
display: block;
display: -webkit-box;
margin-bottom: 4px;
max-height: 36px;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
white-space: pre-wrap;
color: var(--td-window-fg);
}
section.related .related-link-desc {
font-size: 14px;
line-height: 17px;
display: block;
display: -webkit-box;
max-height: 51px;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
white-space: pre-wrap;
color: var(--td-window-fg);
}
section.related .related-link-source {
font-size: 13px;
line-height: 17px;
display: block;
overflow: hidden;
margin-top: 4px;
text-overflow: ellipsis;
white-space: nowrap;
color: var(--td-window-sub-text-fg);
}
section.message {
position: absolute;
display: table;
width: 100%;
height: 100%;
}
section.message.static {
position: static;
min-height: 200px;
height: 100vh;
}
section.message > aside {
display: table-cell;
vertical-align: middle;
text-align: center;
color: var(--td-window-sub-text-fg);
font-size: 24px;
pointer-events: none;
}
section.message > aside > cite {
display: block;
font-size: 14px;
padding: 10px 0 0;
font-style: normal;
color: var(--td-window-sub-text-fg);
}
section.channel {
margin-top: -16px;
margin-bottom: -9px;
}
section.channel:first-child {
margin-top: 0;
}
section.channel > a {
display: block;
background: var(--td-box-divider-bg);
}
section.channel > a > div.join {
color: var(--td-window-active-text-fg);
font-weight: 500;
padding: 7px 18px;
float: right;
}
section.channel.joined > a > div.join {
display: none;
}
section.channel > a > div.join:hover {
text-decoration: underline;
}
section.channel > a > div.join span:before {
content: var(--td-lng-iv-join-channel);
}
section.channel > a > h4 {
font-family: var(--font-sans);
font-size: 17px;
line-height: 26px;
font-weight: 500;
margin: 0;
color: var(--td-window-fg);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
padding: 7px 18px;
}
.pullquote {
text-align: center;
max-width: 420px;
font-size: 19px;
display: block;
margin: 0 auto;
}
.photo-wrap,
.video-wrap {
width: 100%;
margin: 0 auto;
position: relative;
overflow: hidden;
}
.photo-bg,
.video-bg {
background-size: cover;
background-position: center;
background-repeat: no-repeat;
position: absolute;
filter: blur(16px);
width: 100%;
height: 100%;
}
.video-bg,
video {
position: absolute;
top: 0px;
}
.photo {
position: relative;
background-size: contain;
background-position: center;
background-repeat: no-repeat;
}
.photo,
video {
opacity: 0;
transition: opacity 300ms ease-in-out;
}
.photo.loaded,
video.loaded {
opacity: 1;
}
.video-play-outer {
position: relative;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.video-play {
position: relative;
width: 48px;
height: 0;
padding-top: 48px;
max-width: 48px;
max-height: 48px;
background-color: rgba(0, 0, 0, 0.34);
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
}
.video-play::before {
content: '';
position: absolute;
margin: -48px -4px 0px 0px;
width: 0;
height: 0;
border-style: solid;
border-width: 10px 0 10px 16px;
border-color: transparent transparent transparent white;
}
.toast {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: var(--td-toast-bg);
color: var(--td-toast-fg);
padding: 10px 20px;
border-radius: 6px;
z-index: 9999;
opacity: 0;
animation: fadeIn 200ms linear forwards;
}
.toast.hiding {
opacity: 1;
animation: fadeOut 1000ms linear forwards;
}