From 427787101ff43b5f14bababa8818048b4499268b Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 2 Mar 2022 03:00:06 +0000 Subject: [PATCH] Update content of files --- data/core.telegram.org/api/discussion.html | 151 + data/themes.telegram.org/css/telegram.css | 4872 ++++++++++++++++++++ data/themes.telegram.org/js/main-aj.js | 1148 +++++ 3 files changed, 6171 insertions(+) create mode 100644 data/core.telegram.org/api/discussion.html create mode 100644 data/themes.telegram.org/css/telegram.css create mode 100644 data/themes.telegram.org/js/main-aj.js diff --git a/data/core.telegram.org/api/discussion.html b/data/core.telegram.org/api/discussion.html new file mode 100644 index 0000000000..d1181b0f5f --- /dev/null +++ b/data/core.telegram.org/api/discussion.html @@ -0,0 +1,151 @@ + + + + + Discussion groups + + + + + + + + + + + + + +
+ +
+
+
+ +

Discussion groups

+ +
+ +

Groups can be associated to a channel as a discussion group, to allow users to discuss about posts.

+
boolFalse#bc799737 = Bool;
+boolTrue#997275b5 = Bool;
+
+channelFull#e9b27a17 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_set_location:flags.16?true has_scheduled:flags.19?true can_view_stats:flags.20?true blocked:flags.22?true id:long about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:flags.23?ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?long migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int folder_id:flags.11?int linked_chat_id:flags.14?long location:flags.15?ChannelLocation slowmode_seconds:flags.17?int slowmode_next_send_date:flags.18?int stats_dc:flags.12?int pts:int call:flags.21?InputGroupCall ttl_period:flags.24?int pending_suggestions:flags.25?Vector<string> groupcall_default_join_as:flags.26?Peer theme_emoticon:flags.27?string = ChatFull;
+
+messages.chats#64ff9fd5 chats:Vector<Chat> = messages.Chats;
+
+---functions---
+
+channels.setDiscussionGroup#40582bb2 broadcast:InputChannel group:InputChannel = Bool;
+channels.getGroupsForDiscussion#f5dad378 = messages.Chats;
+

A discussion group can be associated to a channel using channels.setDiscussionGroup.
+The discussion group can be accessed in the client by clicking on the discuss button of the channel, or by accessing the comment section of a specific post; the discussion group ID is also present in the linked_chat_id field of the channelFull constructor.

+

All messages sent to the channel will also be sent to the linked group (with sender peer from_id equal to the peer of the linked channel); those messages will also be automatically pinned in the group.

+

Linking a discussion group

+

To obtain a list of admined supergroups that a channel admin can possibly associate to a channel, use channels.getGroupsForDiscussion.
+Returned legacy group chats must be first upgraded to supergroups before they can be set as a discussion group.
+Before linking a supergroup to a channel, access to the supergroup's old messages must also be enabled using channels.togglePreHistoryHidden.

+

To set a returned supergroup as a discussion group use channels.setDiscussionGroup.

+

Schema:

+
boolFalse#bc799737 = Bool;
+boolTrue#997275b5 = Bool;
+
+messages.chats#64ff9fd5 chats:Vector<Chat> = messages.Chats;
+
+---functions---
+
+channels.setDiscussionGroup#40582bb2 broadcast:InputChannel group:InputChannel = Bool;
+channels.getGroupsForDiscussion#f5dad378 = messages.Chats;
+
+channels.togglePreHistoryHidden#eabbb94c channel:InputChannel enabled:Bool = Updates;
+ +
+ +
+
+ +
+ + + + + + + + diff --git a/data/themes.telegram.org/css/telegram.css b/data/themes.telegram.org/css/telegram.css new file mode 100644 index 0000000000..5977941f94 --- /dev/null +++ b/data/themes.telegram.org/css/telegram.css @@ -0,0 +1,4872 @@ +body { + font: 12px/18px "Lucida Grande", "Lucida Sans Unicode", Arial, Helvetica, Verdana, sans-serif; + /*-webkit-font-smoothing: antialiased;*/ +} +html.lang_rtl { + direction: rtl; +} + +a, +a:hover { + color: #0088cc; +} +a:focus { + text-decoration: none; +} +a:hover { + text-decoration: underline; +} + +.container { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + margin-right: auto; + margin-left: auto; + padding-left: 15px; + padding-right: 15px; +} +.row { + margin-left: -15px; + margin-right: -15px; +} + +.container:before { + content: " "; + display: table; +} +.container:after { + content: " "; + display: table; + clear: both; +} + +@media (min-width: 1px) { + .lang_rtl .navbar-nav, + .lang_rtl .navbar-nav > li { + float: right; + } + .lang_rtl .navbar-right { + float: left !important; + } +} + +.tl_page_head { + margin-bottom: 0; +} +.navbar-tg .navbar-inner { + box-shadow: none; + -webkit-box-shadow: none; + border-bottom: 1px solid #e8e8e8; +} +.navbar-tg .nav a { + color: #0088cc; +} +.navbar-tg .nav a:hover, +.navbar-tg .nav .active a { + color: #0088cc; +} +.navbar-tg .nav > .active > a, +.navbar-tg .nav > .open > a, +.navbar-tg .nav > li > a:hover { + position: relative; +} +.navbar-tg .nav > li > a:after { + display: block; + height: 3px; + background: #179cde; + position: absolute; + border-radius: 2px 2px 0 0; + content: ""; + left: 4px; + right: 4px; + opacity: 0; + bottom: -1px; + -webkit-transition: opacity .2s ease-in-out, transform .2s ease-in-out; + -moz-transition: opacity .2s ease-in-out, transform .2s ease-in-out; + -ms-transition: opacity .2s ease-in-out, transform .2s ease-in-out; + + transform-origin: bottom;; + transform: scaleX(0.3) scaleY(0); + +} +.navbar-tg .nav > .active > a:after, +.navbar-tg .nav > .open > a:after, +.navbar-tg .nav > li > a:hover:after { + opacity: 1; + transform: scaleX(1.0) scaleY(1.0); +} +.navbar-tg .nav > li > a, +.navbar-tg .nav > li > a:hover, +.navbar-tg .nav > li > a:focus { + background-color: transparent; +} + +.nav { + color: #a2a2a2; + font-size: 15px; + padding-left: 0; + padding-right: 0; +} + + +.caret { + display: inline-block; + background: url(../img/dropdown_1x.png) -2px -5px no-repeat; + border: 0; + width: 14px; + height: 6px; + margin-left: 2px; + vertical-align: middle; +} + + +.nav-pills > li > a { + font-size: 15px; + padding: 8px 17px; + border-radius: 0; +} + +.nav > li > a:hover, +.nav > li > a:focus { + background-color: #f0f6fa; + text-decoration: none; +} + +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus, +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + box-shadow: none; + background-color: #1e98d4; + color: #FFF; + border: 0; +} + +.nav .open > a .caret, +.nav .open > a:hover .caret, +.nav .open > a:focus .caret { + background-position: -2px -15px; +} + +.dropdown-menu { + min-width: 177px; + padding: 0; + margin: 7px 0 0 0; + list-style: none; + font-size: 13px; + text-align: left; + background-color: #fff; + border-radius: 0; + border: 1px solid rgba(29,92,123,0.3); + box-shadow: 0 1px 1px rgba(20,60,83,0.1); + -webkit-box-shadow: 0 1px 1px rgba(20,60,83,0.1); +} +.dropdown-menu > li > a { + padding: 8px 18px; + margin: 0 -1px; + color: #08c; +} +.dropdown-menu > li > a:first-child { + margin-top: -1px; + padding-top: 9px; +} +.dropdown-menu > li > a:last-child { + margin-bottom: -1px; + padding-bottom: 9px; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus, +.dropdown-menu > li.active > a { + text-decoration: none; + color: #FFF; + background-color: #1e98d4; +} + +#dev_page_content > ul:not(.nav), +#dev_page_content ul.bulleted, +#dev_page_content > ul:not(.nav) ul:not(.nav), +#dev_page_content > ol:not(.nav) ul:not(.nav), +#dev_page_content ul.bulleted ul.bulleted { + list-style-type: none; + padding-left: 10px; +} +.is_rtl #dev_page_content > ul:not(.nav), +.is_rtl #dev_page_content ul.bulleted, +.is_rtl #dev_page_content > ul:not(.nav) ul:not(.nav), +.is_rtl #dev_page_content > ol:not(.nav) ul:not(.nav), +.is_rtl #dev_page_content ul.bulleted ul.bulleted { + padding-right: 10px; + padding-left: 0; +} +#dev_page_content > ol { + padding-left: 25px; +} +#dev_page_content > ol > li { + padding-left: 5px; +} + + +#dev_page_content > ul:not(.nav) li, +#dev_page_content > ol:not(.nav) ul:not(.nav) li, +#dev_page_content ul.bulleted li { + background-image: url(../img/bullet.png?3); + background-repeat: no-repeat; + background-position: 0px 8px; + padding-left: 20px; +} + +.is_rtl #dev_page_content > ul:not(.nav) li, +.is_rtl #dev_page_content > ol:not(.nav) ul:not(.nav) li, +.is_rtl #dev_page_content ul.bulleted li { + background-position: 100% 8px; + padding-left: 0; + padding-right: 20px; +} + + + +.breadcrumb > li { + text-shadow: none; +} +.breadcrumb > li > .divider { + color: #c1d3e4; +} + +pre, code { + border: 0; +} +pre { + font-size: 13px; + color: #546172; + background: #ecf3f8; + border-radius: 0; +} +code { + background: #feeae4; + color: #c61717; + padding: 3px 5px; + border-radius: 0; +} +blockquote { + border-left-color: #179cde; +} +blockquote p { + font-size: 14px; + font-weight: normal; + line-height: 20px; + margin-bottom: 10px; +} +ul ul, ol ul, ul ol, ol ol { + margin-bottom: 8.5px; +} +.table td, .table th { + border-top-color: #eee; +} +h1, h2, h3, h4, h5, h6 { + font-weight: bold; + margin: 20px 0 10px 0; + position: relative; +} +h1 { + font-size: 20px; + margin-top: 32px; + margin-bottom: 12px; +} +h2 { + font-size: 20px; + margin-top: 32px; + margin-bottom: 12px; +} +h3 { + font-size: 20px; + margin-top: 32px; + margin-bottom: 10px; +} +h4 { + font-size: 16px; + margin-top: 29px; + margin-bottom: 7px; +} +h5 { + font-size: 16px; + margin-top: 29px; + margin-bottom: 7px; +} + +mark { + padding: .2em .4em; +} + +a.btn, +button.btn { + border-radius: 0; +} + +.form-control { + border-radius: 0; + box-shadow: none; +} + + +a.anchor { + text-decoration: none; + line-height: 1; + margin-left: -22px; + + cursor: default; + display: block; + position: absolute; + top: 0; + left: 0; + bottom: 0; + + border-top: 10px solid transparent; + margin-top: -10px; + -webkit-background-clip:padding-box; + -moz-background-clip:padding; + background-clip:padding-box; + outline: 0; +} +.is_rtl a.anchor { + margin-right: -22px; + margin-left: 0; +} + +a.anchor i.anchor-icon { + display: inline-block; + width: 18px; + height: 20px; + margin-top: 2px; + line-height: 14px; + vertical-align: text-top; + background: url(../img/link-icon.png) 0 0 no-repeat; + background-size: 17px 18px; + opacity: 0; + + cursor: pointer; + padding: 0; + position: relative; + z-index: 10; + + -webkit-transition: opacity .15s ease-in-out; + -moz-transition: opacity .15s ease-in-out; + -ms-transition: opacity .15s ease-in-out; + -o-transition: opacity .15s ease-in-out; + transition: opacity .15s ease-in-out; +} + +h1 a.anchor i.anchor-icon {margin-top: 2px;} +h2 a.anchor i.anchor-icon {margin-top: 2px;} +h3 a.anchor i.anchor-icon {margin-top: 2px;} +h4 a.anchor i.anchor-icon {margin-top: 0px;} + + +h1:hover a.anchor i.anchor-icon, +h2:hover a.anchor i.anchor-icon, +h3:hover a.anchor i.anchor-icon, +h4:hover a.anchor i.anchor-icon, +h5:hover a.anchor i.anchor-icon, +h6:hover a.anchor i.anchor-icon { + opacity: 0.6; +} +i.anchor-icon:hover { + opacity: 1 !important; +} + +.breadcrumb { + background-color: #ecf3fa; +} +.breadcrumb { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.breadcrumb li { + display: inline-block; + float: none; + white-space: nowrap; + text-overflow: ellipsis; +} +.breadcrumb > li + li:before { + padding: 0; + content: ""; +} +.icon-breadcrumb-divider { + display: inline-block; + background: url(../img/breadcrumb_divider_1x.png) 0 50% no-repeat; + width: 5px; + height: 18px; + line-height: 18px; + margin: 0 8px; + vertical-align: top; +} + +.slightly-pull-right { + float: right; +} +.slightly-pull-left { + float: left; +} + + +.back_to_top_wrap { + display: block; + pointer-events: none; + cursor: default; + position: fixed; + left: 0; + top: 0; + bottom: 0; + outline: none; + box-shadow: none; + opacity: 0; + /*display: none;*/ + transition: opacity ease-in-out 0.2s; + -webkit-transition: opacity ease-in-out 0.2s; + direction: ltr; +} +.back_to_top_wrap.is_rtl { + left: auto; + right: 0; + direction: rtl; +} +.back_to_top_wrap.back_to_top_shown { + cursor: pointer; + pointer-events: all; + /*display: block;*/ + opacity: 1; +} +.back_to_top_wrap:hover { + text-decoration: none; +} +.back_to_top { + font-size: 15px; + width: 120px; + text-align: center; + padding: 18px 15px 18px 7px; + transition: background ease-in-out 0.2s; + -webkit-transition: background ease-in-out 0.2s; +} +.back_to_top_wrap:hover .back_to_top { + background: #ecf3f8; + background: rgba(174, 198, 215, 0.2); +} +.icon-to-top { + display: inline-block; + background: url(../img/back_to_top_1x.png) 0 50% no-repeat; + width: 16px; + height: 7px; + margin-right: 12px; + margin-top: 7px; + vertical-align: text-top; +} +.back_to_top_wrap.is_rtl .icon-to-top { + margin-left: 12px; + margin-right: 0; +} + + +.navbar-tg .navbar-twitter a { + padding-top: 14.5px; + padding-bottom: 14.5px; +} + +.tl_main_page_container { + padding: 0; +} + +.tl_main_wrap { + margin-top: 17px; +} +.tl_main_wrap h3 { + color: #222222; + font-size: 23px; + font-weight: 500; +} +.tl_main_award { + width: 100px; + height: 100px; + display: block; + background: url(../img/SiteAward.gif) 0 0 no-repeat; + margin: 2px; +} +.tl_main_card_animated { + width: 160px; + margin: 0 auto; +} +.tl_main_card_animated div { + padding-top: 100%; +} + +.no_access_wrap { + color: #999; + padding: 100px 40px; + text-align: center; + font-size: 18px; +} + +.side_blog_wrap { + background: #ecf3fa; + padding: 15px 20px 20px; + font-size: 12px; + width: 200px; +} +.tl_blog_side_blog .side_blog_wrap { + width: 180px; +} +.side_blog_header { + display: block; + color: #0088cc; + font-weight: bold; + font-size: 16px; + margin-bottom: 15px; +} +a.side_blog_entry { + display: block; + margin-top: 10px; +} +a.side_blog_entry:hover { + text-decoration: none; +} +.side_blog_date { + color: #000; + font-weight: bold; +} +.side_blog_title { + color: #0088cc; +} +a.side_blog_entry:hover .side_blog_title { + text-decoration: underline; +} +.side_tour_entry .side_blog_title { + font-size: 14px; +} + +.tl_main_bottom_blog, +.tl_blog_bottom_blog { + display: none; +} +.tl_main_side_blog { + position: relative; +} +.tl_main_side_blog .side_blog_wrap { + position: absolute; + margin-top: 20px; + right: 137px; +} +.lang_rtl .tl_main_side_blog .side_blog_wrap { + left: 137px; + right: auto; +} +.tl_main_bottom_blog { + margin: 0px 15px 20px; +} +.side_blog_wrap { + background: none; + padding: 5px 17px 5px 0; + margin: 0 0 17px 26px; + display: flex; + flex-wrap: nowrap; + flex-direction: row; + justify-content: start; + align-items: stretch; + align-content: start +} +.tl_blog_bottom_blog .side_blog_wrap { + margin: 0 0 0 10px; +} +.tl_blog_side_blog { + position: relative; +} +.tl_blog_side_blog .side_blog_wrap { + position: absolute; + margin-top: 50px; + right: -200px; +} +.lang_rtl .tl_blog_side_blog .side_blog_wrap { + left: -200px; + right: auto; +} +.side_blog_wrap:before { + content: ' '; + display: block; + width: 5px; + background: #179cde; + border-radius: 5px; + overflow: hidden; + flex: 0 0 auto; + margin: 0 17px 0 0; +} +.lang_rtl .side_blog_wrap:before { + margin: 0 0 0 17px; +} + + + +.tl_main_logo_wrap { + max-width: 400px; + margin: 0 auto; + padding: 20px 0 20px; +} +a.tl_main_logo { + display: block; + line-height: 0; + text-decoration: none !important; +} +svg.tl_main_logo, +image.tl_main_logo, +img.tl_main_logo { + display: block; + width: 128px; + height: 128px; + margin: 0 auto; +} + +.tl_main_logo_title, +.tl_main_logo_title:hover { + font-size: 34px; + color: #222222; + text-align: center; + margin-top: 18px; + margin-bottom: 6px; + font-weight: normal; + letter-spacing: -2px; +} +.tl_main_logo_title_image { + width: 144px; + height: 36px; + background: url(../img/Telegram_1x.png) 0 0 no-repeat; + margin: 18px auto 6px; +} +.tl_main_logo_lead { + font-size: 20px; + line-height: 148%; + max-width: 285px; + margin: 0 auto; + color: #8c8c8c; + text-align: center; + padding: 1px 0 10px; + + font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Light", Helvetica, Arial , Verdana, sans-serif; + font-weight: 300; +} + + +.tl_main_head_download { + margin: 6px auto 35px; + max-width: 798px; + text-align: center; +} +.tl_main_download_btn { + display: inline-block; + color: #FFF; + font-size: 16px; + background: #a19481; + border-radius: 4px; + padding: 10px 15px; + line-height: 35px; + overflow: hidden; + width: 220px; + margin: 5px 8px; + text-align: center; +} +.tl_main_download_btn:hover { + background-color: #a99d8b; + color: #FFF; + text-decoration: none; +} +.tl_main_download_btn:active { + background-color: #998e7e; +} + +.tl_main_download_mobile { + text-align: center; + max-width: 1028px; + margin: 0 auto; +} +.tl_main_download_link { + text-align: center; + display: inline-block; + height: 300px; + padding-top: 262px; + padding-bottom: 20px; + margin: 40px 0; + font-size: 15px; + max-width: 100%; + position: relative; +} +a.tl_main_download_link:hover { + text-decoration: none; +} +a.tl_main_download_link:after { + display: block; + height: 3px; + background: #179cde; + position: absolute; + border-radius: 2px; + content: ""; + left: 4px; + right: 4px; + opacity: 0; + bottom: -1px; + -webkit-transition: opacity .2s ease-in-out, transform .2s ease-in-out; + -moz-transition: opacity .2s ease-in-out, transform .2s ease-in-out; + -ms-transition: opacity .2s ease-in-out, transform .2s ease-in-out; + + transform-origin: bottom;; + transform: scaleX(0.3) scaleY(0); +} +a.tl_main_download_link:hover:after { + opacity: 1; + transform: scaleX(1.0) scaleY(1.0); +} + +.tl_main_download_link_android { + width: 28.210116857923%; + min-width: 245px; +} +.tl_main_download_link_ios { + width: 42.9961%; + min-width: 350px; +} +.tl_main_download_link_tdesktop { + display: none; + min-width: 320px; + background: url(../img/SiteTDesktop.jpg) 50% 0 no-repeat; +} + +.tl_main_download_image__ios, +.tl_main_download_image__android { + display: block; + position: absolute; + top: 50%; + left: 50%; + transform-origin: 50% 50%; + opacity: 1.0; + pointer-events: none; + -webkit-transition: opacity .1s ease-in-out; + -moz-transition: opacity .1s ease-in-out; + -ms-transition: opacity .1s ease-in-out; + padding: 0; + border: 0; +} +.tl_main_download_image__ios { + margin: -150px 0 0 -152px; + width: 304px; + height: 240px; + background: url(../img/SiteiOS.jpg?2) 50% 0 no-repeat; +} +.tl_main_download_image__android { + margin: -150px 0 0 -152px; + width: 304px; + height: 240px; + background: url(../img/SiteAndroid.jpg?2) 50% 0 no-repeat; +} + +.tl_main_video_player { + display: block; + position: absolute; + top: 50%; + left: 50%; + transform-origin: 50% 50%; + opacity: 0; + pointer-events: none; + -webkit-transition: opacity .1s ease-in-out; + -moz-transition: opacity .1s ease-in-out; + -ms-transition: opacity .1s ease-in-out; + padding: 0; + border: 0; +} +.tl_main_video_player.video__init_retina { + display: none; +} +.tl_main_video_player__android { + margin: -150px 0 0 -96px; + width: 192px; + height: 240px; +} +.tl_main_video_player__ios { + margin: -150px 0 0 -152px; + width: 304px; + height: 240px; +} +.video_play .tl_main_video_player { + opacity: 1; +} + + + + +.tl_main_download_more_btn { + margin-bottom: 0; + font-weight: normal; + text-align: center; + vertical-align: middle; + cursor: pointer; + background-image: none; + border: 0; + white-space: nowrap; + padding: 10px 16px; + font-size: 15px; + line-height: 1.33; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + color: #ffffff; + background-color: #318fd3; + margin-top: 5px; + display: none; + border-radius: 3px; +} +.tl_main_download_more_btn:hover { + color: #FFF; +} +.icon-arrow-more { + display: inline-block; + vertical-align: baseline; + width: 6px; + height: 11px; + background: url(../img/tl_arrow.png) 0 0 no-repeat; + margin-left: 10px; +} + +.tl_main_download_desktop_header { + text-align: center; +} +.tl_main_download_desktop_wrap1 { + height: 291px; + overflow: hidden; +} +.tl_main_download_desktop_wrap { + position: absolute; + left: 0; + right: 0; +} +.tl_main_download_desktop { + position: absolute; + left: 0; + right: 0; + min-width: 804px; + background: url(../img/SiteDesktop.jpg?2) 50% 19px no-repeat; + /*overflow: hidden;*/ +} + + + +.tl_main_download_desktop_links { + width: 595px; + margin: 0 auto; +} +.tl_main_download_desktop_link { + text-align: center; + display: inline-block; + padding: 270px 0 20px; + font-size: 15px; + vertical-align: top; + -webkit-transition: box-shadow .2s ease-in-out; + -moz-transition: box-shadow .2s ease-in-out; + -ms-transition: box-shadow .2s ease-in-out; + position: relative; + float: left; +} +.tl_main_download_desktop_link:hover { + text-decoration: none; +} +a.tl_main_download_desktop_link:hover { + text-decoration: none; +} +a.tl_main_download_desktop_link:after { + display: block; + height: 3px; + background: #179cde; + position: absolute; + border-radius: 2px; + content: ""; + left: 4px; + right: 4px; + opacity: 0; + bottom: -1px; + -webkit-transition: opacity .2s ease-in-out, transform .2s ease-in-out; + -moz-transition: opacity .2s ease-in-out, transform .2s ease-in-out; + -ms-transition: opacity .2s ease-in-out, transform .2s ease-in-out; + + transform-origin: bottom;; + transform: scaleX(0.3) scaleY(0); +} +a.tl_main_download_desktop_link:hover:after { + opacity: 1; + transform: scaleX(1.0) scaleY(1.0); +} +.tl_main_download_link_td { + width: 52%; + padding-left: 20px; + padding-right: 20px; +} +.tl_main_download_link_osx { + width: 48%; +} +.tl_main_body { + margin-top: 40px; + padding-top: 5px; +} +.tl_main_body_header { + text-align: center; + margin-top: 0; + padding-top: 20px; +} + +.icon-android, +.icon-ios, +.icon-wp { + display: inline-block; + vertical-align: text-top; + width: 25px; + height: 30px; + background: url(../img/SiteLogos.png) 0 0 no-repeat; + margin-right: 10px; +} +.lang_rtl .icon-android, +.lang_rtl .icon-ios, +.lang_rtl .icon-wp { + margin-right: 0; + margin-left: 10px; +} + +.icon-ios { + background-position: 0 0px; + height: 26px; + margin-top: -5px; +} +.icon-android { + background-position: 0 -46px; + height: 23px; + margin-top: -3px; +} +.icon-wp { + background-position: 0 -90px; + height: 20px; + margin-top: -1px; +} + +.icon { + display: inline-block; +} +.icon-twitter { + width: 21px; + height: 17px; + vertical-align: text-top; + background: url(../img/twitter.png) 0 0 no-repeat; + opacity: 0.9; +} +a:hover .icon-twitter { + opacity: 0.99; +} + +.app-icon { + display: inline-block; + width: 30px; + height: 30px; + line-height: 30px; + margin-right: 7px; + vertical-align: -9px; + background: no-repeat left; + background-size: cover; +} +.is_rtl .app-icon { + margin-right: 0; + margin-left: 7px; +} +.app-icon-android { + background-image: url(/img/app_icon_android.svg); +} +.app-icon-ios { + background-image: url(/img/app_icon_ios.svg); +} +.app-icon-macos { + background-image: url(/img/app_icon_macos.svg); +} +.app-icon-desktop { + background-image: url(/img/app_icon_desktop.svg); +} +.app-icon-webk { + background-image: url(/img/app_icon_webk.svg); +} +.app-icon-webz { + background-image: url(/img/app_icon_webz.svg); +} + + +.tl_main_cards { + max-width: 950px; + margin: 18px auto 0; + padding: 0; + display: flex; + flex-wrap: wrap; + justify-content: center; +} +.tl_main_card_cell { + position: relative; + min-height: 1px; + padding-left: 15px; + padding-right: 15px; + flex: 0 1 auto; + width: 100%; +} +@media (min-width: 768px) { + .tl_main_card_cell { + width: 50%; + } +} +@media (min-width: 992px) { + .tl_main_card_cell { + width: 33.33333%; + } +} + +.tl_main_card_wrap { + max-width: 260px; + margin: 0 auto; + padding: 20px 0 9px; +} +.tl_main_card { + background: url(../img/tl_card_fast.gif) 0 0 no-repeat; + background-size: 160px 160px; + width: 160px; + height: 160px; + margin: 0 auto; +} + +.tl_main_card_fast { + background-image: url(../img/tl_card_fast.gif); +} +.tl_main_card_powerful { + background-image: url(../img/tl_card_powerful.gif); +} +.tl_main_card_free { + background-image: url(../img/tl_card_free.gif); +} +.tl_main_card_secure { + background-image: url(../img/tl_card_secure.gif); +} +.tl_main_card_cloud { + background-image: url(../img/tl_card_cloud.gif); +} +.tl_main_card_private { + background-image: url(../img/tl_card_private.gif); +} +.tl_main_card_decentralized { + background-image: url(../img/tl_card_decentralized.gif); +} +.tl_main_card_open { + background-image: url(../img/tl_card_open.gif); +} +.tl_main_card_wecandoit { + background-image: url(../img/tl_card_wecandoit.gif); +} + +.tl_main_card_connect { + background-image: url(../img/tl_card_connect.gif); +} +.tl_main_card_coordinate { + background-image: url(../img/tl_card_coordinate.gif); +} +.tl_main_card_synchronize { + background-image: url(../img/tl_card_synchronize.gif); +} +.tl_main_card_build { + background-image: url(../img/tl_card_build.gif); +} +.tl_main_card_encrypt { + background-image: url(../img/tl_card_encrypt.gif); +} +.tl_main_card_send { + background-image: url(../img/tl_card_send.gif); +} +.tl_main_card_process { + background-image: url(../img/tl_card_process.gif); +} +.tl_main_card_destruct { + background-image: url(../img/tl_card_destruct.gif); +} +.tl_main_card_store { + background-image: url(../img/tl_card_store.gif); +} + +h3.tl_main_card_header { + color: #a19679; + text-align: center; + margin: 15px 0 6px; + font-size: 26px; + font-weight: normal; + letter-spacing: -1px; +} +.tl_main_cards_animated_wrap h3.tl_main_body_header { + padding: 0 10px; +} +.tl_main_cards_animated_wrap h3.tl_main_card_header { + color: #0088cc; +} +.tl_main_cards_animated_wrap { + padding-bottom: 20px; +} + +.tl_main_card_lead { + font-size: 15px; + line-height: 158%; + text-align: center; +} + +.tl_main_share { + margin: 24px auto 40px; + /*padding-bottom: 30px;*/ + max-width: 330px; + text-align: center; +} +.lang_rtl .tl_main_share { + max-width: none; +} +.tl_main_noshare { + height: 50px; +} +.tl_main_twitter_widget_wrap { + /*float: left;*/ + display: inline-block; +} +.tl_main_facebook_widget_wrap { + /*float: left;*/ + margin-right: 20px; + display: inline-block; +} +.fb_iframe_widget span { + vertical-align: baseline !important; +} + +.tl_blog_comments_widget { + margin: 0 -8px 40px; +} +.tl_blog_comments_widget iframe { + max-width: 100%; +} + +.tl_main_gplus_widget_wrap { + /*float: left;*/ + display: inline-block; +} + +.tl_twitter_share_btn { + display: inline-block; + border-radius: 16px; + background-color: #54a9eb; + cursor: pointer; + margin-right: 15px; + padding: 7px 17px; + color:#FFF; + font-weight: bold; +} +.lang_rtl .tl_twitter_share_btn { + margin-right: 0; + margin-left: 15px; +} +.tl_twitter_share_btn:hover, +.tl_twitter_share_btn:active, +.tl_twitter_share_btn:focus { + text-decoration: none; + color: #FFF; + outline: none; +} +.tl_twitter_share_cnt { + display: none; + color: #c4e3fb; +} + +.tl_blog_list_page_wrap { + max-width: 800px; + margin: 0 auto; +} +.tl_blog_list_page_wrap.tl_main_recent_news_wrap { + margin-top: 22px; + margin-bottom: 20px; +} +.tl_main_recent_news_header { + font-size: 16px; + font-weight: bold; + text-align: center; + margin-top: 42px; +} +.tlb_other_news_wrap .tl_main_recent_news_header { + margin-top: 22px; + font-size: 18px; +} +.tl_main_wrap .tl_main_recent_news_header { + margin-top: 66px; +} +.tl_main_download_mobile + .tl_main_recent_news_wrap .tl_main_recent_news_header, +.tl_main_download_mobile + .tl_main_recent_news_wrap { + margin-top: 12px; +} +.dev_blog_card_link_wrap:nth-child(odd) { + clear: left; +} +.dev_blog_card_link_wrap { + display: block; + max-width: 50%; + float: left; + padding: 15px 10px; +} +@media (max-width: 640px) { + .dev_blog_card_link_wrap { + max-width: 100%; + } +} +@media (min-width: 801px) { + .tl_main_recent_news_cards { + margin: 0 -15px; + } +} +.tlb_blog_page .dev_blog_card_link_wrap { + padding: 15px 0; +} +a.dev_blog_card_link_wrap:hover, +a.dev_blog_card_link_wrap:active, +a.dev_blog_card_link_wrap:focus { + text-decoration: none; +} +.dev_blog_card_image { + display: block; + max-width: 100%; + height: auto; + max-height: 220px; + margin: 0 auto; + -webkit-transition: opacity .2s ease-in-out; + -moz-transition: opacity .2s ease-in-out; + -ms-transition: opacity .2s ease-in-out; + opacity: 1; +} +.preload .dev_blog_card_image { + height: 220px; + max-height: initial; +} +a:hover .dev_blog_card_image { + opacity: 0.9; +} +.dev_blog_card_title { + margin: 12px 0 2px; + padding: 0 15px; + font-size: 16px; + line-height: 160%; +} +a.dev_blog_card_link_wrap:hover .dev_blog_card_title { + text-decoration: underline; +} +.dev_blog_card_lead { + color: #333; + font-size: 14px; + line-height: 160%; + padding: 0 15px; +} +.dev_blog_card_date { + margin-top: 4px; + font-size: 14px; + color: #888; + padding: 0 15px; +} +.tlb_blog_page .dev_blog_card_title, +.tlb_blog_page .dev_blog_card_lead, +.tlb_blog_page .dev_blog_card_date { + padding: 0 5px; +} +.pager_wrap { + margin-top: 40px; + clear: both; +} + + +.footer_wrap { + border-top: 1px solid #e8e8e8; + max-width: 925px; + margin: 10px auto 0; + padding: 28px 0 34px; +} +.footer_columns_wrap { + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -webkit-justify-content: space-between; + -ms-flex-pack: justify; + justify-content: space-between; + -webkit-align-content: stretch; + -ms-flex-line-pack: stretch; + align-content: stretch; + -webkit-align-items: stretch; + -ms-flex-align: stretch; + align-items: stretch; + + margin: 0 auto; + max-width: 800px; + padding-left: 0; +} +.footer_mobile { + display: none; +} +.footer_column { + flex: 0 1 auto; + align-self: auto; +} +.footer_column_telegram { + flex: 0 1 290px; +} +.footer_column:last-child { + padding-right: 0; +} +.footer_column:first-child { + padding-left: 0; +} +.footer_column h5 { + font-size: 14px; + margin-top: 0; + margin-bottom: 9px; +} +.footer_column h5 a { + color: inherit; +} +.footer_column ul, +.footer_column ul li { + list-style: none; + margin: 0; + padding: 0; +} +.footer_column ul li { + font-size: 14px; + line-height: 23px; +} +.footer_privacy_description { + padding-top: 3px; + font-size: 13px; + line-height: 160%; +} +.footer_privacy_description p { + margin-bottom: 6px; +} +.footer_telegram_description { + font-size: 13px; +} + + + +.tl_mission_wrap #dev_page_content, +.tl_mission_wrap #dev_page_content p { + font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Light", Helvetica, Arial , Verdana, sans-serif; + font-weight: 300; + line-height: 160%; + font-size: 16px; +} + + + +/* Team */ +#dev_page_content.tl_team_wrap, +#dev_page_content.tl_team_wrap p { + line-height: 1.6; +} +.tl_team_lead { + margin-bottom: 30px; +} +.tl_team_member { + min-height: 120px; + position: relative; + margin-bottom: 30px; +} +.tl_team_member_photo_wrap { + position: absolute; + // float: left; + // margin-right: 25px; +} +.tl_team_member_photo { + width: 120px; + height: 120px; + display: block; + background: url('../img/team-sprite.png') 0 0 no-repeat; + background-size: 120px 1810px; +} + +.tl_team_member_pavel .tl_team_member_photo { + background-position: 0 0; +} +.tl_team_member_nikolay .tl_team_member_photo { + background-position: 0 -130px; +} +.tl_team_member_aliaksei .tl_team_member_photo { + background-position: 0 -260px; +} +.tl_team_member_vitalik .tl_team_member_photo { + background-position: 0 -390px; +} +.tl_team_member_arseny .tl_team_member_photo { + background-position: 0 -520px; +} +.tl_team_member_igor .tl_team_member_photo { + background-position: 0 -650px; +} +.tl_team_member_drklo .tl_team_member_photo { + background-position: 0 -780px; +} +.tl_team_member_peter .tl_team_member_photo { + background-position: 0 -910px; +} +.tl_team_member_john .tl_team_member_photo { + background-position: 0 -1040px; +} +.tl_team_member_kolar .tl_team_member_photo { + background-position: 0 -1170px; +} +.tl_team_member_ilya .tl_team_member_photo { + background-position: 0 -1300px; +} +.tl_team_member_igor1 .tl_team_member_photo { + background-position: 0 -1690px; +} +.tl_team_member_mike .tl_team_member_photo { + background-position: 0 -1560px; +} +.tl_team_member_grisha .tl_team_member_photo { + background-position: 0 -1430px; +} + + +.tl_team_member_name { + margin-left: 146px; +} +.tl_team_member_body { + margin-left: 146px; +} + +.tl_team_member_name { + margin-top: 5px; + font-size: 17px; +} +.tl_team_member_awards { + margin-top: 20px; + margin-bottom: 18px; + color: #0088cc; + font-size: 15px; +} +.tl_team_member_experience, +.tl_team_member_awards_list { + line-height: 1.8; +} +.tl_team_member_description { + margin-top: 20px; +} + + + +/* Core / dev */ + +.dev_page { + background: #FFF; + min-height: 500px; +} +#dev_page_content_wrap { + padding: 20px 0; + max-width: 800px; + margin: 0 auto; + direction: ltr; +} +#dev_page_content_wrap.is_rtl { + direction: rtl; +} +#dev_page_content, +#dev_page_content p { + font-size: 14px; + line-height: 1.5; +} +#dev_page_content p img.icon { + width: auto; + height: 20px; +} +#dev_page_content p img.icon, +#dev_page_content img.emoji { + vertical-align: top; + -webkit-user-drag: none; + user-drag: none; + cursor: text; +} +.dev_page_bread_crumbs .breadcrumb { + margin-bottom: 10px; + border-radius: 0; +} +#dev_page_title { + position: static; +} + +.dev_page_head { + margin-bottom: 0; +} +.dev_page_head .dev_page_head_logo { + margin-left: 0; +} +#dev_page_content_wrap blockquote { + padding: 5px 17px; +} +#dev_page_content_wrap pre { + overflow-x: auto; + border-radius: 0; +} + +#dev_page_content_wrap pre::-webkit-scrollbar { + visibility: visible; + display: block; + height: 15px; +} +#dev_page_content_wrap pre::-webkit-scrollbar-track:horizontal { + background: rgba(93, 144, 177, 0.2); + border-radius: 0; + height: 15px; +} +#dev_page_content_wrap pre::-webkit-scrollbar-thumb:horizontal { + background: rgba(93, 144, 177, 0.4); + border-radius: 0; + height: 15px; +} + +#dev_page_content_wrap .richcode { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 20px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + + color: #546172; + background: #ecf3f8; + + font-family: Monaco,Menlo,Consolas,"Courier New",monospace; +} +#dev_page_content_wrap .richcode code { + background: #FFF; +} +.richcode p:last-child { + margin-bottom: 0; +} + +#dev_page_content_wrap pre code { + overflow-wrap: normal; + white-space: pre; +} +#dev_page_content_wrap a.current_page_link { + color: #468847; + text-decoration: underline; +} + +#dev_page_content_wrap a.nonexisting_page_link { + color: #FF0000; + text-decoration: underline; +} + +.dev_side_image { + max-width: 200px; + float: right; + padding: 0 0 0 20px; +} +.dev_side_image img { + max-width: 180px; +} +.dev_side_image picture { + max-width: 180px; +} + + +#dev_page_content_wrap pre.page_scheme { + margin: 20px 0 30px; +} +.dev_page_edit_form { + border-top: 1px solid #DDD; + padding-top: 50px; + max-width: 800px; + margin: 30px auto 0; + direction: ltr; +} +.dev_page_edit_form .CodeMirror { + font-size: 14px; + line-height: 20px; + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; + border: 1px solid #eee; + height: auto; + position: relative; + + margin-bottom: 9px; + color: #555555; + border: 1px solid #ccc; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border linear 0.2s, box-shadow linear 0.2s; + -moz-transition: border linear 0.2s, box-shadow linear 0.2s; + -ms-transition: border linear 0.2s, box-shadow linear 0.2s; + -o-transition: border linear 0.2s, box-shadow linear 0.2s; + transition: border linear 0.2s, box-shadow linear 0.2s; +} + +.dev_page_edit_form .CodeMirror-focused { + border-color: rgba(82, 168, 236, 0.8); + outline: 0; + outline: thin dotted \9; + + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6); +} + +.dev_page_edit_form .CodeMirror-scroll { + overflow-y: hidden; + overflow-x: auto; +} + +.dev_page_edit_form .CodeMirror pre { + white-space: pre-wrap; + word-break: break-all; + word-wrap: break-word; +} + +.dev_page_edit_form #dev_page_diff .CodeMirror { + font-size: 12px; + margin-bottom: 0; +} +#dev_page_diff .CodeMirror-merge, +#dev_page_diff .CodeMirror-merge .CodeMirror { + height: auto; +} +#dev_page_diff .CodeMirror-merge-2pane { + display: flex; + border: 0; + margin-bottom: 9px; +} +#dev_page_diff .CodeMirror-merge-2pane .CodeMirror-merge-pane { + width: 48%; +} +#dev_page_diff .CodeMirror-merge-2pane .CodeMirror-merge-gap { + height: auto; + width: 4%; +} +#dev_page_diff .CodeMirror-merge-pane-rightmost { + position: static; + right: auto; +} +#dev_page_diff .CodeMirror-merge-scrolllock-wrap { + display: none; +} +#dev_page_diff .CodeMirror-merge-left .CodeMirror { + background: rgba(0,0,0,0.06); +} +#dev_page_diff .CodeMirror-merge-l-inserted, +#dev_page_diff .CodeMirror-merge-l-deleted { + background: none; +} +#dev_page_diff.dev_page_diff__wcolor .CodeMirror-merge-l-inserted { + /*background: rgba(0,200,0,0.18);*/ + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12MwuCXy3+CWyH8GBgYGJgYkAABZbAQ9ELXurwAAAABJRU5ErkJggg==); + background-position: bottom left; + background-repeat: repeat-x; + background-color: #dfd; + /*border: 1px solid #4e4;*/ +} +#dev_page_diff.dev_page_diff__wcolor .CodeMirror-merge-l-deleted { + /*background: rgba(200,0,0,0.18);*/ + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAACCAYAAACddGYaAAAAGUlEQVQI12M4Kyb2/6yY2H8GBgYGJgYkAABURgPz6Ks7wQAAAABJRU5ErkJggg==); + background-position: bottom left; + background-repeat: repeat-x; + background-color: #fdd; + /*border: 1px solid #e44;*/ +} + +.table-msg-schema td { + text-align: center; +} +.table-msg-schema>thead>tr>th, +.table-msg-schema>tbody>tr>th, +.table-msg-schema>tfoot>tr>th, +.table-msg-schema>thead>tr>td, +.table-msg-schema>tbody>tr>td, +.table-msg-schema>tfoot>tr>td { + border: 1px solid #d5d5d5; +} + +#dev_upload_btn { + cursor: pointer; + overflow: hidden; + position: relative; +} +.dev_upload_input { + cursor: pointer; + font-size: 72px !important; + opacity: 0.01; + position: absolute; + z-index: 100; + margin: 0; + padding: 0; + top: 0; + right: 0; +} + + +.app_edit_page { + width: 700px; + margin: 40px auto; +} +.app_lock_tt { + padding: 3px; + display: inline-block; +} +.app_lock_text { + font-size: 13px; +} + +.tg-table-stats { + font-size: 12px; +} +.tg-table-stats th a.active { + color: inherit; +} + +.dev_side_nav_wrap { + position: relative; +} +.dev_side_nav { + position: absolute; + width: 200px; + right: -200px; + z-index: 1; +} +.is_rtl .dev_side_nav { + left: -200px; + right: auto; +} +.is_rtl .dev_side_nav .nav { + padding-right: 0; + padding-left: 0; + padding-right: 0; +} +.dev_side_nav > ul { + width: 200px; + background: none; + padding: 10px 0 10px; +} +.dev_side_nav > ul::-webkit-scrollbar { + display: none; +} +.dev_side_nav > ul.affix-top { + position: relative; +} +.dev_side_nav > ul.affix { + position: fixed; + top: 0; + max-height: 100%; + overflow-y: scroll; +} +.dev_side_nav > ul.affix-bottom { + position: relative; + height: auto; + overflow-y: scroll; +} +.dev_side_nav li { + float: none !important; +} +.dev_side_nav li a { + border-left: 2px solid transparent; + padding: 10px 10px; + background: none !important; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.is_rtl .dev_side_nav li a { + border-right: 2px solid transparent; + border-left: 0; +} +.dev_side_nav li a { + display: block; + font-size: 13px; + font-weight: 500; + padding: 4px 20px 4px 18px; + font-weight: 700; + background-color: transparent; +} +.is_rtl .dev_side_nav li a { + padding: 4px 18px 4px 20px; +} +.dev_side_nav li li a { + padding-left: 15px; + padding: 1px 18px 1px 30px; + font-size: 12px; + font-weight: 400; +} +.is_rtl .dev_side_nav li li a { + padding: 1px 30px 1px 18px; +} +.dev_side_nav li a:hover { + border-color: rgba(23, 156, 222, 0.6); +} +.dev_side_nav li.active > a { + border-color: #179cde; +} +.dev_side_nav li ul { + display: none; +} +.dev_side_nav li.active ul { + display: block; +} + + +/* Core / dev end*/ + + + +/* Support */ +.support_wrap { + max-width: 800px; + background: #FFF; + margin: 0 auto; + padding: 20px 0; +} +.support_submit { +} + + +/* FAQ */ +.twitter_timeline_wrap { + width: 300px; + padding-top: 14px; +} +.is_rtl .dev_layer_select .dropdown-menu { + right: auto; + left: 0; +} + +.is_rtl { + direction: rtl; +} + +.is_rtl blockquote { + padding: 0 15px 0 0; + margin: 0 0 20px; + border-left: 0; + border-right: 5px solid #179cde; +} + +.is_rtl .pull-right, +.is_rtl .slightly-pull-right { + float: left; +} +.is_rtl .pull-left, +.is_rtl .slightly-pull-left { + float: right; +} + +.is_rtl .anchor { + left: auto; + right: 0; +} + +.top_lang_select.tlb_top_lang_select { + float: right; + margin: -4px -5px -4px 0; +} +.lang_rtl .top_lang_select.tlb_top_lang_select { + float: left; +} +.top_lang_select .dropdown-toggle { + display: block; + text-align: center; + padding-top: 15.5px; + padding-bottom: 15.5px; + font-size: 15px; + line-height: 17px; +} +.top_lang_select.tlb_top_lang_select a.dropdown-toggle { + padding: 8px 6px 8px 8px; + border-radius: 6px; + /*transition: background-color ease-in-out 0.2s, color ease-in-out 0.2s;*/ +} +.navbar-tg .top_lang_select.open a.dropdown-toggle:active, +.navbar-tg .top_lang_select.open a.dropdown-toggle:hover, +.navbar-tg .top_lang_select.open a.dropdown-toggle { + background: transparent; + color: #0088cc; +} +.top_lang_select.tlb_top_lang_select.open a.dropdown-toggle:hover, +.top_lang_select.tlb_top_lang_select.open a.dropdown-toggle:active, +.top_lang_select.tlb_top_lang_select.open a.dropdown-toggle { + background-color: #3faee8; + color: #fff; +} +.dev_top_lang_icon { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: top; + line-height: 100%; + margin-right: 4px; + background: url("data:image/svg+xml;utf8,") no-repeat 0 0; +} +.lang_rtl .dev_top_lang_icon { + margin-right: 0; + margin-left: 4px; +} +.tlb_top_lang_select.open .dev_top_lang_icon { + background: url("data:image/svg+xml;utf8,") no-repeat 0 0; +} +.navbar-nav > li.top_lang_select > .dropdown-menu, +.top_lang_select.tlb_top_lang_select > .dropdown-menu { + width: 280px; + min-width: 280px; + border-radius: 8px; + padding: 14px; + right: 0; + left: auto; + margin-top: 4px; + box-shadow: 1px 1px 3px 1px rgba(0, 0, 0, .10); + border-color: #e8e8e8; + + transition: transform ease-in-out 0.15s, opacity ease-out 0.15s; + transform-origin: top right; + transform: scaleX(0.15) scaleY(0.15); + display: block; + opacity: 0; + pointer-events: none; +} +.lang_rtl .navbar-nav > li.top_lang_select > .dropdown-menu, +.lang_rtl .top_lang_select.tlb_top_lang_select > .dropdown-menu { + transform-origin: top left; + right: auto; + left: 0; +} +body.preload .top_lang_select > .dropdown-menu, +.top_lang_select.tlb_top_lang_select > .dropdown-menu { + transition: none !important; +} +.navbar-nav > li.top_lang_select.open > .dropdown-menu, +.top_lang_select.tlb_top_lang_select.open > .dropdown-menu { + transform: scaleX(1.0) scaleY(1.0); + opacity: 1; + pointer-events: all; +} +.navbar-nav > li.top_lang_select > .dropdown-menu.dropdown-menu--short, +.top_lang_select.tlb_top_lang_select > .dropdown-menu.dropdown-menu--short { + width: 155px; + min-width: 155px; +} +@media (max-width: 640px) { + .navbar-nav > li.dev_top_lang_select > .dropdown-menu { + left: 0; + right: auto; + } +} +.top_lang_select .dropdown-menu li { + float: left; + display: block; + width: 125px; +} +.lang_rtl .top_lang_select .dropdown-menu li { + float: right; + text-align: right; +} + +.top_lang_select .dropdown-menu li.divider { + float: none; + clear: left; + width: auto; + margin: 6px 0; +} +.top_lang_select .dropdown-menu li a { + display: inline-block; + font-size: 13px; + max-width: 125px; + padding: 9px 10px; + border-radius: 4px; + white-space: normal; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + line-height: 15px; + margin: 0; +} +.top_lang_select .dropdown-menu li.long a { + font-size: 12px; +} +.top_lang_select .dropdown-menu li.missing a { + color: #777; +} +.navbar-nav > .top_lang_select .dropdown-menu li a:hover { + background: #e8f3fa; + color: #0088cc; +} +.top_lang_select.tlb_top_lang_select .dropdown-menu li a:hover { + background: #3faee8; + color: #fff; +} +.top_lang_select .dropdown-menu li.chosen a, +.top_lang_select .dropdown-menu li.chosen a:hover { + color: #000; + background: #fff; +} +.top_lang_select .minicaret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.lang_rtl .top_lang_select .minicaret { + margin-left: 0; + margin-right: 2px; +} + +#login_widget_config { + margin: 40px auto; +} +.form-group .dropdown + .dropdown { + margin-left: 15px; +} +.dropdown-label { + margin-right: 7px; + display: inline-block; + max-width: 300px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + vertical-align: top; +} +.dropdown-label .muted { + color: #999; +} + +.textfield-item input.form-control, +.form-control-dropdown-select, +.form-control-static-item, +.textfield-item-placeholder { + font-size: 14px; + line-height: 20px; + font-weight: normal; +} +.textfield-item input.form-control, +.form-control-dropdown-select { + padding: 11px 0 10px; + border: none; + height: auto; + resize: none; + color: inherit; + background: transparent; + border-bottom: 1px solid #e0e0e0; + box-shadow: none; +} +.textfield-item input.form-control:focus { + box-shadow: none; +} +.form-control-static-item { + padding: 11px 0; +} + +.textfield-item { + display: block; + position: relative; +} +.textfield-item-underline { + display: block; + position: absolute; + bottom: 0; + left: 50%; + right: 50%; + height: 2px; + background: #39ade7; + transition: opacity .2s ease-out, left 0s .2s linear, right 0s .2s linear; + opacity: 0; +} +.textfield-item input.form-control:focus ~ .textfield-item-underline { + transition: left .2s ease-out, right .2s ease-out; + left: 0; + right: 0; + opacity: 1; +} +.textfield-item-placeholder { + bottom: 0; + color: #ccc; + color: rgba(0,0,0,.26); + left: 0; + right: 0; + pointer-events: none; + position: absolute; + display: block; + top: 11px; + width: 100%; + overflow: hidden; + white-space: nowrap; + text-align: left +} + +.textfield-item input.form-control::-webkit-input-placeholder { + color: #999; + color: rgba(0,0,0,.42); +} +.textfield-item input.form-control::-moz-placeholder { + color: #999; + color: rgba(0,0,0,.42); +} +.textfield-item input.form-control:-ms-input-placeholder { + color: #999; + color: rgba(0,0,0,.42); +} +.textfield-item input.form-control:focus::-webkit-input-placeholder { + color: #ccc; + color: rgba(0,0,0,.26); +} +.textfield-item input.form-control:focus::-moz-placeholder { + color: #ccc; + color: rgba(0,0,0,.26); +} +.textfield-item input.form-control:focus:-ms-input-placeholder { + color: #ccc; + color: rgba(0,0,0,.26); +} +.textfield-item-error { + color: #d45a58; + position: absolute; + font-size: 14px; + line-height: 19px; + min-height: 19px; + margin: 5px 0 -19px; + background: #fff; + width: 100%; + padding-bottom: 7px; + visibility: hidden; + display: block; +} +.textfield-item.is-invalid .textfield-item-error { + visibility: visible +} +.textfield-item.is-invalid input.form-control { + border-bottom: 1px solid #d50000; +} +.textfield-item.is-invalid .textfield-item-underline { + background: #d50000; +} +.control-label-item, +.form-telegram .control-label { + text-align: right; + margin-bottom: 0; + line-height: 20px; + padding-top: 11px; +} +.form-telegram .help-block { + font-size: 13px; + color: #808080; + margin-top: 10px; + margin-bottom: 5px; +} +.form-telegram .form-group { + margin-bottom: 20px; +} +.form-telegram textarea.form-control { + margin-top: 7px; +} +.form-telegram .form-control[readonly] { + cursor: text; + background: #fff; +} +.form-telegram .form-control[readonly]:focus { + border: 1px solid #ccc; + box-shadow: none; +} +.form-control-dropdown { + position: relative; +} +.form-control-dropdown.has-items:before { + content: ''; + position: absolute; + display: inline-block; + margin: 16px 10px 0; + width: 14px; + height: 9px; + background: url(/img/rc_icons.png?1) no-repeat -3px -144px; + right: 0; + top: 0; +} +.form-control-dropdown .form-control-dropdown-search { + position: absolute; + top: 0; + left: 0; + right: 0; + visibility: hidden; + opacity: 0; +} +.form-control-dropdown.open .form-control-dropdown-search { + visibility: visible; + opacity: 1; +} +.form-control-dropdown.open .form-control-dropdown-select { + visibility: hidden; + opacity: 0; +} +.form-control-dropdown-select { + color: #ccc; + color: rgba(0,0,0,.26); + cursor: pointer; + position: relative; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} +.form-control-dropdown-select:focus { + outline: none; +} +.form-control-dropdown-select.is-dirty { + color: inherit; +} +.form-control-dropdown-button { + position: absolute; + display: inline-block; + transition: all .2s ease; + border: none; + padding: 0; + background: none !important; + visibility: hidden; + opacity: 0; + top: 0; + right: 0; +} +.form-control-dropdown-button:active { + box-shadow: none !important; +} +.form-control-dropdown-button:before { + content: ''; + display: inline-block; + margin: 16px 10px; + width: 14px; + height: 9px; + background: url(/img/rc_icons.png?1) no-repeat -3px -144px; + vertical-align: top; +} +.form-control-dropdown-list { + position: absolute; + left: -15px; + right: -15px; + margin: -2px 0; + background: #fff; + text-align: left; + padding: 7px 0; + box-shadow: 0 0 2px 1px rgba(0, 0, 0, .15); + border: none; + transition: all .2s ease; + visibility: hidden; + opacity: 0; + max-height: 220px; + overflow: auto; + overflow-x: hidden; + -webkit-overflow-scrolling: touch; + z-index: 10; +} +.form-control-dropdown.has-items .form-control-dropdown-button, +.form-control-dropdown.has-items.open .form-control-dropdown-list { + visibility: visible; + opacity: 1; +} +.form-control-dropdown-list-item, +.form-control-dropdown-list-no-results { + font-size: 14px; + line-height: 18px; + padding: 8px 15px; + cursor: pointer; +} +.form-control-static-item .small, +.form-control-dropdown-select .small, +.form-control-dropdown-list-item .small { + font-size: 13px; + line-height: 16px; + color: #a8a8a8; + padding-left: 8px; +} +.form-control-dropdown-search .form-control-dropdown-list-item:hover { + background: none; +} +.form-control-dropdown-search .form-control-dropdown-list-item.selected, +.form-control-dropdown-list-item:hover { + background: #f2f2f2; +} +.form-control-dropdown-list-no-results { + color: #a8a8a8; + cursor: auto; +} +.form-control-dropdown-select, +.form-control-dropdown input.form-control { + padding-right: 33px; +} +.help-block-item { + display: block; + font-size: 14px; + line-height: 18px; + margin-top: 5px; + margin-bottom: 0; + color: #a8a8a8; +} +.help-block-item a { + color: #76bfeb; +} + +.radio-item, +.checkbox-item { + display: inline-block; + vertical-align: top; + margin-bottom: 0; + font-size: 14px; + line-height: 20px; + font-weight: normal; +} +.radio-item-block, +.checkbox-item-block { + display: block; + margin: 6px 0 1px; + padding: 5px 0; + line-height: 20px; +} +.radio-item-block + .radio-item-block, +.checkbox-item-block + .checkbox-item-block { + margin-top: 1px; +} +.radio-item input.radio, +.checkbox-item input.checkbox { + position: absolute; + left: -5000px; +} +body.rtl .radio-item input.radio, +body.rtl .checkbox-item input.checkbox { + right: -5000px; + left: auto; +} +.radio-item input.radio ~ .radio-label, +.checkbox-item input.checkbox ~ .checkbox-label { + display: inline-block; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; + max-width: calc(100% - 31px); +} +.radio-item .radio-input, +.checkbox-item .checkbox-input { + display: inline-block; + vertical-align: top; + position: relative; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; + transition: opacity 0.12s linear; +} +.radio-item .radio-input + .radio-label, +.checkbox-item .checkbox-input + .checkbox-label { + margin-left: 11px; +} +body.rtl .radio-item .radio-input + .radio-label, +body.rtl .checkbox-item .checkbox-input + .checkbox-label { + margin-right: 11px; + margin-left: 0; +} +.radio-item .radio-input-icon, +.checkbox-item .checkbox-input-icon { + display: inline-block; + content: ''; + width: 20px; + height: 20px; + border: 2px solid #b3b3b3; + background: #fff; + border-radius: 10px; + vertical-align: top; + padding: 0; + cursor: pointer; + position: relative; +} +.radio-item .radio-input-icon:before, +.checkbox-item .checkbox-input-icon:before { + display: inline-block; + content: ''; + position: absolute; + width: 20px; + height: 20px; + border: 2px solid #54a9eb; + border-radius: 10px; + top: -2px; + left: -2px; + transition: opacity 0.12s linear; + opacity: 0; +} +.radio-item .radio-input-icon:after { + display: inline-block; + content: ''; + position: absolute; + width: 10px; + height: 10px; + background: #54a9eb; + border-radius: 5px; + top: 3px; + left: 3px; + transition: transform 0.12s linear; + transform: scale3d(0, 0, 1); +} +.radio-item input.radio:checked + .radio-input .radio-input-icon:before, +.checkbox-item input.checkbox:checked + .checkbox-input .checkbox-input-icon:before { + opacity: 1; +} +.radio-item input.radio:checked + .radio-input .radio-input-icon:after { + transform: scale3d(1, 1, 1); +} +.checkbox-item .checkbox-input-icon, +.checkbox-item .checkbox-input-icon:before { + width: 18px; + height: 18px; + margin: 1px; + border-radius: 3px; +} +.checkbox-item .checkbox-input-icon:before { + margin: 0; + background: #54a9eb url('data:image/svg+xml,%3Csvg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"%3E%3Cg fill="%23fff" fill-rule="evenodd"%3E%3Crect height="6" rx="1" transform="matrix(.70710678 -.70710678 .70710678 .70710678 -6.746804 8.368629)" width="2" x="5.728427" y="9.328427"/%3E%3Crect height="11.5" rx="1" transform="matrix(.70710678 .70710678 -.70710678 .70710678 10.712311 -5.169417)" width="2" x="10.596194" y="4.596194"/%3E%3C/g%3E%3C/svg%3E') no-repeat center; +} +.radio-item input.radio:disabled + .radio-input, +.checkbox-item input.checkbox:disabled + .checkbox-input { + cursor: default; + pointer-events: none; + opacity: .65; +} + +.button-item { + font-size: 14px; + font-weight: 500; + line-height: 18px; + color: #fff; + background: #4ca3e2; + border-radius: 19px; + display: inline-block; + padding: 10px 26px; + text-transform: uppercase; + text-align: center; + vertical-align: middle; + border: none; + transition: background-color .2s ease; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.button-item-flat { + color: #1385d8; + background: transparent; +} +.button-item:hover { + background: #4199d9; +} +.button-item-flat:hover { + background: #e7f4fd; +} +.button-item-label { + display: inline-block; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + vertical-align: top; + position: relative; + z-index: 1; +} + +.button-item.ripple-handler, +.button-nostyle-item.ripple-handler { + position: relative; +} +.ripple-mask { + position: absolute; + left: 0; right: 0; + top: 0; bottom: 0; + transform: translateZ(0); + overflow: hidden; + pointer-events: none; +} +.radio-item .ripple-mask, +.checkbox-item .ripple-mask { + width: 32px; + height: 32px; + left: -6px; + top: -6px; + border-radius: 16px; +} +.button-nostyle-item .ripple-mask, +.button-item .ripple-mask { + border-radius: 19px; +} +.radio-item .ripple, +.checkbox-item .ripple { + position: absolute; + width: 80px; + height: 80px; + left: -24px; + top: -24px; + border-radius: 50%; + background-color: rgba(179, 179, 179, .2); + transition: transform .65s ease-out, opacity .65s ease-out, background-color .65s ease-out; + opacity: 0; +} +.radio-item input.radio:checked + .radio-input .ripple, +.checkbox-item input.checkbox:checked + .checkbox-input .ripple { + background-color: rgba(84, 169, 235, .2); +} +.button-nostyle-item .ripple, +.button-item .ripple { + position: absolute; + width: 200%; + left: 50%; top: 50%; + margin: -100% 0 0 -100%; + padding-top: 200%; + border-radius: 50%; + background-color: #3790cf; + transition: transform .65s ease-out, opacity .65s ease-out, background-color .65s ease-out; + opacity: 0; +} +.button-nostyle-item .ripple, +.button-item-flat .ripple { + background-color: #d9ebf7; +} + +.radio-item input.radio + .radio-label:before, +.checkbox-item input.checkbox + .checkbox-label:before { + display: inline-block; + content: ''; + width: 20px; + height: 20px; + vertical-align: top; + margin-right: 11px; + padding: 0; + background: url(/img/rc_icons.png?1) no-repeat; + cursor: pointer; +} +.radio-item input.radio + .radio-label:before { + background-position: 0 0; +} +.radio-item input.radio:checked + .radio-label:before { + background-position: 0 -30px; +} +.checkbox-item input.checkbox + .checkbox-label:before { + background-position: 0 -60px; +} +.checkbox-item input.checkbox:checked + .checkbox-label:before { + background-position: 0 -88px; +} +.radio-item-justified .radio-input { + float: left; +} +.radio-item-justified .radio-label { + float: left; + margin-right: 16px; +} +.radio-item-justified .radio-label:after { + content: ':'; + opacity: 0; + transition: opacity .2s ease; +} +.radio-item-justified .justified-wrap { + display: block; + padding: 5px 0; + margin: -5px 0; + overflow: hidden; + opacity: 0; + transition: opacity .2s ease; +} +.radio-item-justified .justified-wrap input.form-control { + cursor: inherit; +} +.radio-item-justified input.radio:checked ~ .justified-wrap, +.radio-item-justified input.radio:checked ~ .radio-label:after { + opacity: 1; +} +.radio-item-justified input.radio:checked ~ .justified-wrap input.form-control { + cursor: auto; +} +.radio-item-justified .textfield-item { + margin: -5px 0; +} +.radio-item-justified input.form-control { + padding: 5px 0 4px; +} + +.bgcolor0 { background: #e17076; } +.bgcolor1 { background: #faa774; } +.bgcolor2 { background: #a695e7; } +.bgcolor3 { background: #7bc862; } +.bgcolor4 { background: #6ec9cb; } +.bgcolor5 { background: #65aadd; } +.bgcolor6 { background: #ee7aae; } + +.dots-animated:after { + display: inline-block; + animation: dotty steps(1, end) 1s infinite; + content: '...'; + position: absolute; +} + +@-webkit-keyframes dotty { + 0%, 100% { content: ''; } + 25% { content: '.'; } + 50% { content: '..'; } + 75% { content: '...'; } +} +@keyframes dotty { + 0%, 100% { content: ''; } + 25% { content: '.'; } + 50% { content: '..'; } + 75% { content: '...'; } +} + +.widget_container { + padding: 10px 20px; + margin: -10px 0; + text-align: center; +} +.widget_container.dark { + background: #15202b; +} +.widget_container iframe { + vertical-align: top; +} + +button.dropdown-toggle:focus, +button.dropdown-toggle:active:focus { + outline: none; +} +.embed_code { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + white-space: pre-wrap; + word-break: break-all; + word-wrap: break-word; + text-align: left; + -webkit-appearance: none; +} + +.dev_page_nav_wrap > p > a:first-child { + color: #333; +} + +#dev_page_content .dev_page_nav_wrap ul { + list-style-type: none; + margin: 0; + padding: 0 0 20px; +} +#dev_page_content .dev_page_nav_wrap ul + h4 { + margin-top: 4px; +} +#dev_page_content .dev_page_nav_wrap ul li { + background: none; + padding-left: 0; + padding-top: 1px; + padding-bottom: 2px; +} + +.dev_page_image { + display: block; + max-width: 800px; + margin: 0 auto; + padding: 10px 0px 5px; +} +.tl_contest_page_wrap .dev_page_image { + max-width: 600px; +} + +.dev_page_tgsticker { + position: relative; + display: block; + max-width: 256px; +} +.dev_page_tgsticker img, +.dev_page_tgsticker canvas { + position: absolute; + top: 0; bottom: 0; + left: 0; right: 0; + width: 100%; + height: 100%; +} + +.dev_page_widget_item { + display: block; + width: 300px; + vertical-align: top; + max-width: 100%; + margin: 30px auto 10px; +} +.dev_page_widget_thumb { + display: inline-block; + vertical-align: top; + width: 100%; + padding-top: 66.6667%; + border-radius: 12px; + background: #f7f7f7 no-repeat center; + background-size: 100%; + -webkit-filter: brightness(100%); + -webkit-transition: all .2s ease; + -moz-transition: all .2s ease; + -o-transition: all .2s ease; + -ms-transition: all .2s ease; + transition: all .2s ease; +} +.dev_page_widget_thumb:hover { + -webkit-filter: brightness(94%); +} +.dev_page_widget_thumb_share { + background-image: url(/img/Widget_Share.svg?1); +} +.dev_page_widget_thumb_post { + background-image: url(/img/Widget_Post.svg?1); +} +.dev_page_widget_thumb_login { + background-image: url(/img/Widget_Login.svg?1); +} +.dev_page_widget_thumb_comments { + background-image: url(/img/Widget_Comments.svg?1); +} +.dev_page_widget_title { + font-size: 15px; + line-height: 1.5; + margin: 12px 0 0; + font-weight: bold; + text-align: center; +} +@media (min-width: 670px) { + .dev_page_widgets_list { + margin-right: -36px; + } + .dev_page_widget_item { + float: left; + margin-left: 0; + margin-right: 36px; + } + .dev_page_widget_title { + margin-top: 17px; + } +} + +/* Contest */ + +.tl_contest_page_wrap { + padding: 0 0 20px; + max-width: 600px; + margin: 0 auto; +} +.tl_contest_intro { + margin: 0; +} +.tl_contest_side_image_wrap { + position: relative; +} +.tl_contest_side_image { + margin: 50px 0 0 -180px; + width: 160px; + height: 160px; + position: absolute; +} +.tl_contest_side_image2 { + margin-top: 0px; +} +.tl_contest_side_image3 { + margin-top: 10px; +} +.tl_contest_page_wrap .tl_main_share { + margin: 0 0 20px; + text-align: left; +} +.lang_rtl .tl_contest_page_wrap .tl_main_share { + text-align: right; +} +.tl_contest_page_wrap #dev_page_title { + font-size: 24.5px; + line-height: 33px; + margin: 20px 0 10px 0; +} +.tl_contest_dl_btn { + padding: 0; +} +#traffic_log_wrap { + min-height: 300px; + /*max-height: 600px;*/ + /*overflow: auto;*/ + overflow-wrap: normal; + white-space: pre; +} + +.tl_contest_log { + padding-top: 10px; +} +.tl_contest_log h3 { + margin-top: 0; +} + +/* Blog */ +.blog_side_image_wrap { + position: relative; + direction: ltr; +} +.lang_rtl .blog_side_image_wrap { + direction: rtl; +} +.blog_side_image { + margin: -41px 0 0 -180px; + width: 160px; + height: 160px; + position: absolute; +} +.lang_rtl .blog_side_image { + margin: -41px -180px 0 0; +} + +.blog_side_centered_image_wrap { + position: relative; +} +a.blog_side_cetered_image, +a.blog_side_centered_image { + display: block; + width: 160px; + height: 160px; + margin: 10px auto 20px; +} +img.blog_side_cetered_image, +img.blog_side_centered_image { + width: 160px; + height: 160px; +} + +.tlb_blog_page .blog_side_image_wrap { + position: static; +} +.tlb_blog_page .blog_side_image { + display: block; + margin: 20px auto; + width: 160px; + height: 160px; + position: static; +} + +.blog_wide_image img { + width: 100%; + padding-bottom: 20px; +} +.blog_image_wrap { + width: 275px; + margin: 10px auto 20px; +} +.blog_image_wrap a { + +} +.blog_image_wrap img { + width: 275px; + padding: 10px 5px; +} +.blog_medium_image_wrap, +.blog_medium_image_wrap img { + width: 400px; +} + +.blog_wide_image_wrap, +.blog_wide_image_wrap img { + width: 100%; + max-width: auto; +} +#dev_page_content .blog_image_wrap p, +.tlb_page_wrap .tl_contest_page_wrap #dev_page_content .blog_image_wrap p { + text-align: center; + color: #808080; + font-size: 12px; + margin: 10px 0 0; + line-height: 150%; + padding: 0 10px; +} +.blog_footer { + font-style: italic; +} + +.blog_2images_wrap, +.blog_3images_wrap { + width: 564px; + margin: 20px auto 20px; +} +.blog_3images_wrap { + width: 575px; +} +.blog_2images_wrap:before, +.blog_2images_wrap:after, +.blog_3images_wrap:before, +.blog_3images_wrap:after { + content: " "; + display: table; +} +.blog_2images_wrap:after, +.blog_3images_wrap:after { + clear: both; +} +.blog_2images_wrap .blog_image_wrap, +.blog_3images_wrap .blog_image_wrap { + float: left; + margin-left: 0; + margin-right: 14px; +} +.blog_3images_wrap .blog_image_wrap { + margin-right: 10px; +} +.blog_2images_wrap .blog_image_wrap:last-child, +.blog_3images_wrap .blog_image_wrap:last-child { + margin-right: 0; +} + + +.blog_video_player_wrap { + max-width: 640px; + margin: 10px auto 20px; +} +.blog_video_player { + width: 100%; +} + + +/* My page */ +.my_page_wrap { + margin-top: 50px; + font-size: 14px; + line-height: 20px; +} +.my_page_wrap .container { + max-width: 570px; +} + +.my_page_wrap .tl_main_card { + margin: 0; +} +#my_login_form_wrap { + max-width: 400px; +} +.my_login_form_details { + margin: 10px 0 20px; +} + + +#my_login_form_wrap .btn { + box-shadow: none; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.428571429; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + border: 0; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; + text-shadow: none; +} +#my_login_form_wrap .btn-primary { + color: #fff; + background-color: #428bca; + border-color: #357ebd; +} +#my_login_form_wrap .btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +#my_login_form_wrap .btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.modal-header h4 { + position: static; +} + +.my_email_confirmation_result_wrap { + margin-top: 40px; +} +.my_email_confirmation_result_text { + padding: 10px; + font-size: 24px; + font-weight: bold; + line-height: 1.2; + text-align: center; +} + + +.smartphone_video_player_wrap { + width: 270px; + height: 555px; + margin: 20px auto; + position: relative; + background: #000 url(../img/iPhone6.png) 0 0 no-repeat; + background-size: 270px 555px; +} +.smartphone_video_player_iphone { + position: absolute; + margin-top: 69px; + margin-left: 18px; + border-radius: 3px; + overflow: hidden; + line-height: 0; +} +video.smartphone_video_player { + cursor: pointer; + width: 234px; + height: 416px; + line-height: 0; + margin: 0; + vertical-align: top; +} + + +.smarphone_device_nexus { + margin: 40px auto; + padding: 45px 14px 45px 14px; + width: 290px; + height: 514px; + background: #1e1e1e; + border-radius: 18.125px; + display: block; + position: relative; + box-sizing: content-box; +} +.smarphone_device_nexus:before { + -webkit-border-radius: 540px / 45px; + border-radius: 540px / 45px; + background: inherit; + content: ''; + top: 0; + position: absolute; + height: 103.1%; + width: calc(100% - 23px); + top: 50%; + left: 50%; + -moz-transform: translateX(-50%) translateY(-50%); + -webkit-transform: translateX(-50%) translateY(-50%); + -o-transform: translateX(-50%) translateY(-50%); + -ms-transform: translateX(-50%) translateY(-50%); + transform: translateX(-50%) translateY(-50%); + box-sizing: content-box; +} +.smarphone_device_nexus .top-bar { + width: calc(100% - 7px); + height: calc(100% - 5px); + position: absolute; + top: 3px; + left: 4px; + -webkit-border-radius: 18px; + border-radius: 18px; + background: #181818; + box-sizing: content-box; +} +.smarphone_device_nexus .top-bar:before { + -webkit-border-radius: 540px / 45px; + border-radius: 540px / 45px; + background: inherit; + content: ''; + top: 0; + position: absolute; + height: 103.0%; + width: calc(100% - 26px); + top: 50%; + left: 50%; + -moz-transform: translateX(-50%) translateY(-50%); + -webkit-transform: translateX(-50%) translateY(-50%); + -o-transform: translateX(-50%) translateY(-50%); + -ms-transform: translateX(-50%) translateY(-50%); + transform: translateX(-50%) translateY(-50%); + box-sizing: content-box; +} +.smarphone_device_nexus .bottom-bar{ + display: none; + box-sizing: content-box; +} +.smarphone_device_nexus .sleep { + width: 3px; + position: absolute; + left: -3px; + top: 99px; + height: 90px; + background: inherit; + -webkit-border-radius: 2px 0px 0px 2px; + border-radius: 2px 0px 0px 2px; + box-sizing: content-box; +} +.smarphone_device_nexus .volume { + width: 3px; + position: absolute; + right: -3px; + top: 63px; + height: 45px; + background: inherit; + -webkit-border-radius: 0px 2px 2px 0px; + border-radius: 0px 2px 2px 0px; + box-sizing: content-box; +} +.smarphone_device_nexus .camera { + background: #3c3d3d; + width: 9px; + height: 9px; + position: absolute; + top: 18px; + left: 50%; + z-index: 3; + margin-left: -5px; + border-radius: 100%; + box-sizing: content-box; +} +.smarphone_device_nexus .camera:before { + background: #3c3d3d; + width: 6px; + height: 6px; + content: ''; + display: block; + position: absolute; + top: 2px; + left: -90px; + z-index: 3; + border-radius: 100%; + box-sizing: content-box; +} +.smarphone_device_nexus .screen { + position: relative; + box-sizing: content-box; +} +.smarphone_device_nexus video { + display: block; + width: 290px; + height: 514px; + margin: 0 auto; +} + + +/* Telegram Me */ +.tgme_page_wrap { + font-family: 'Roboto', sans-serif;; + color: #2b2d2e; +} +.tgme_page_wrap a, +.tgme_page_wrap a:hover, +.tgme_page_wrap a:active { + color: #3ca2d9; +} + +.tgme_head_wrap { + background: #FFF; + height: 59px; + padding: 14px 16px; + -webkit-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.15); + -moz-box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.15); + box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.15); +} +.tgme_logo { + display: inline-block; + background: url('data:image/svg+xml,%3Csvg height="34" viewBox="0 0 133 34" width="133" xmlns="http://www.w3.org/2000/svg"%3E%3Cg fill="none" fill-rule="evenodd"%3E%3Ccircle cx="17" cy="17" fill="%2327a7e5" r="17"/%3E%3Cpath d="m7.06510669 16.9258959c5.22739451-2.1065178 8.71314291-3.4952633 10.45724521-4.1662364 4.9797665-1.9157646 6.0145193-2.2485535 6.6889567-2.2595423.1483363-.0024169.480005.0315855.6948461.192827.1814076.1361492.23132.3200675.2552048.4491519.0238847.1290844.0536269.4231419.0299841.65291-.2698553 2.6225356-1.4375148 8.986738-2.0315537 11.9240228-.2513602 1.2428753-.7499132 1.5088847-1.2290685 1.5496672-1.0413153.0886298-1.8284257-.4857912-2.8369905-1.0972863-1.5782048-.9568691-2.5327083-1.3984317-4.0646293-2.3321592-1.7703998-1.0790837-.212559-1.583655.7963867-2.5529189.2640459-.2536609 4.7753906-4.3097041 4.755976-4.431706-.0070494-.0442984-.1409018-.481649-.2457499-.5678447-.104848-.0861957-.2595946-.0567202-.3712641-.033278-.1582881.0332286-2.6794907 1.5745492-7.5636077 4.6239616-.715635.4545193-1.3638349.6759763-1.9445998.6643712-.64024672-.0127938-1.87182452-.334829-2.78737602-.6100966-1.12296117-.3376271-1.53748501-.4966332-1.45976769-1.0700283.04048-.2986597.32581586-.610598.8560076-.935815z" fill="%23fff"/%3E%3Cpath d="m49.4 24v-12.562h-4.224v-2.266h11.198v2.266h-4.268v12.562zm16.094-4.598h-7.172c.066 1.936 1.562 2.772 3.3 2.772 1.254 0 2.134-.198 2.97-.484l.396 1.848c-.924.396-2.2.682-3.74.682-3.476 0-5.522-2.134-5.522-5.412 0-2.97 1.804-5.764 5.236-5.764 3.476 0 4.62 2.86 4.62 5.214 0 .506-.044.902-.088 1.144zm-7.172-1.892h4.708c.022-.99-.418-2.618-2.222-2.618-1.672 0-2.376 1.518-2.486 2.618zm9.538 6.49v-15.62h2.706v15.62zm14.84-4.598h-7.172c.066 1.936 1.562 2.772 3.3 2.772 1.254 0 2.134-.198 2.97-.484l.396 1.848c-.924.396-2.2.682-3.74.682-3.476 0-5.522-2.134-5.522-5.412 0-2.97 1.804-5.764 5.236-5.764 3.476 0 4.62 2.86 4.62 5.214 0 .506-.044.902-.088 1.144zm-7.172-1.892h4.708c.022-.99-.418-2.618-2.222-2.618-1.672 0-2.376 1.518-2.486 2.618zm19.24-1.144v6.072c0 2.244-.462 3.85-1.584 4.862-1.1.99-2.662 1.298-4.136 1.298-1.364 0-2.816-.308-3.74-.858l.594-2.046c.682.396 1.826.814 3.124.814 1.76 0 3.08-.924 3.08-3.234v-.924h-.044c-.616.946-1.694 1.584-3.124 1.584-2.662 0-4.554-2.2-4.554-5.236 0-3.52 2.288-5.654 4.862-5.654 1.65 0 2.596.792 3.102 1.672h.044l.11-1.43h2.354c-.044.726-.088 1.606-.088 3.08zm-2.706 2.948v-1.738c0-.264-.022-.506-.088-.726-.286-.99-1.056-1.738-2.2-1.738-1.518 0-2.64 1.32-2.64 3.498 0 1.826.924 3.3 2.618 3.3 1.012 0 1.892-.66 2.2-1.65.088-.264.11-.638.11-.946zm5.622 4.686v-7.26c0-1.452-.022-2.508-.088-3.454h2.332l.11 2.024h.066c.528-1.496 1.782-2.266 2.948-2.266.264 0 .418.022.638.066v2.53c-.242-.044-.484-.066-.814-.066-1.276 0-2.178.814-2.42 2.046-.044.242-.066.528-.066.814v5.566zm16.05-6.424v3.85c0 .968.044 1.914.176 2.574h-2.442l-.198-1.188h-.066c-.638.836-1.76 1.43-3.168 1.43-2.156 0-3.366-1.562-3.366-3.19 0-2.684 2.398-4.07 6.358-4.048v-.176c0-.704-.286-1.87-2.178-1.87-1.056 0-2.156.33-2.882.792l-.528-1.76c.792-.484 2.178-.946 3.872-.946 3.432 0 4.422 2.178 4.422 4.532zm-2.64 2.662v-1.474c-1.914-.022-3.74.374-3.74 2.002 0 1.056.682 1.54 1.54 1.54 1.1 0 1.87-.704 2.134-1.474.066-.198.066-.396.066-.594zm5.6 3.762v-7.524c0-1.232-.044-2.266-.088-3.19h2.31l.132 1.584h.066c.506-.836 1.474-1.826 3.3-1.826 1.408 0 2.508.792 2.97 1.98h.044c.374-.594.814-1.034 1.298-1.342.616-.418 1.298-.638 2.2-.638 1.76 0 3.564 1.21 3.564 4.642v6.314h-2.64v-5.918c0-1.782-.616-2.838-1.914-2.838-.924 0-1.606.66-1.892 1.43-.088.242-.132.594-.132.902v6.424h-2.64v-6.204c0-1.496-.594-2.552-1.848-2.552-1.012 0-1.694.792-1.958 1.518-.088.286-.132.594-.132.902v6.336z" fill="%23363b40" fill-rule="nonzero"/%3E%3C/g%3E%3C/svg%3E') 0 0 no-repeat; + width: 133px; + height: 34px; + margin: -1px 0; +} +a.tgme_head_dl_button { + display: block; + font-size: 16px; + line-height: 100%; + color: #FFF; + background: #32afed; + padding: 2px 15px 0 16px; + height: 45px; + line-height: 43px; + text-align: center; +} +.tlb_page_wrap a.tgme_head_dl_button { + color: #FFF; +} +a.tgme_head_dl_button:hover, +a.tgme_head_dl_button:active, +.tlb_page_wrap a.tgme_head_dl_button:hover, +.tlb_page_wrap a.tgme_head_dl_button:active { + color: #FFF; + background: #32afed; + text-decoration: none; +} +.tgme_icon_arrow { + display: inline-block; + background: url(/img/tgme/Arrow_1x.png) 0 0 no-repeat; + width: 8px; + height: 12px; + background-size: 8px 12px; + vertical-align: top; + margin-top: 15px; + margin-left: 9px; +} + +.tgme_page { + position: relative; + margin: 52px auto 50px; + max-width: 424px; +} +.tgme_page_post { + max-width: 455px; + padding: 52px 0 50px; + margin: 0 auto; +} +.tgme_page_icon { + text-align: center; + margin-bottom: 20px; +} +.tgme_icon_user { + display: inline-block; + width: 40px; + height: 39px; + background: url(/img/tgme/Web1x.png?1) -2px -38px no-repeat; + background-size: 44px 177px; +} +.tgme_icon_group { + display: inline-block; + width: 44px; + height: 28px; + background: url(/img/tgme/Web1x.png?1) 0 0 no-repeat; + background-size: 44px 177px; +} +.tgme_icon_stickers { + display: inline-block; + width: 40px; + height: 40px; + background: url(/img/tgme/Web1x.png?1) -2px -87px no-repeat; + background-size: 44px 177px; +} +.tgme_icon_share { + display: inline-block; + width: 44px; + height: 23px; + background: url(/img/tgme/Web1x.png?1) 0 -137px no-repeat; + background-size: 44px 177px; +} +.tgme_page_photo { + text-align: center; + margin-top: -15px; + margin-bottom: 15px; +} +.tgme_page_photo_image { + width: 122px; + height: 122px; + border-radius: 61px; +} +.tgme_page_title { + font-size: 26px; + line-height: 32px; + font-weight: bold; + text-align: center; + max-width: 340px; + padding: 0 10px; + margin: 0 auto; + color: #333; + overflow: hidden; + text-overflow: ellipsis; +} +.verified-icon { + display: inline-block; + width: 1em; + height: 1em; + padding: 1px; + text-indent: -10em; + overflow: hidden; + background: url('data:image/svg+xml,%3Csvg height="26" viewBox="0 0 26 26" width="26" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="m14.378741 1.509638 1.818245 1.818557c.365651.365716.861601.571194 1.378741.571259l2.574273.000312c1.01361.000117 1.846494.773578 1.940861 1.762436l.008905.187798-.000312 2.5727c-.000065.517322.205439 1.013454.571259 1.379222l1.819649 1.819337c.714441.713427.759174 1.843179.134563 2.609139l-.134797.148109-1.819181 1.8182502c-.365963.3657823-.571558.8620196-.571493 1.3794456l.000312 2.5737972c.000559 1.0136048-.772668 1.846676-1.7615 1.9412861l-.188266.0084786-2.573792-.0003107c-.517426-.0000624-1.013675.2055248-1.379456.5714956l-1.818245 1.8191823c-.71331.7145515-1.843049.7594886-2.609113.1349998l-.148135-.1347645-1.8193435-1.8196542c-.3657628-.3658252-.8618987-.5713214-1.3792103-.571259l-2.5727052.0003107c-1.0136048.0001222-1.846676-.7731321-1.9412861-1.761968l-.0089492-.1877967-.0003107-2.5742678c-.0000624-.5171478-.2055495-1.0130926-.571259-1.3787397l-1.8185622-1.8182515c-.7139886-.713869-.758706-1.843647-.1340846-2.609607l.1338493-.148109 1.8190328-1.81935c.3655665-.365625.5709613-.861471.5710237-1.378494l.0003107-2.573181c.0006006-1.076777.8734635-1.949636 1.9502353-1.950234l2.5731758-.000312c.5170321-.000065 1.0128768-.205452 1.3785044-.571025l1.8193448-1.819038c.761592-.761449 1.996254-.761345 2.757716.000247zm3.195309 8.047806c-.426556-.34125-1.032655-.306293-1.417455.060333l-.099151.108173-4.448444 5.55815-1.7460313-1.74707-.1104961-.096564c-.4229264-.32188-1.0291801-.289692-1.4154413.096564-.3862612.386269-.4184492.992511-.0965653 1.41544l.0965653.1105 2.5999987 2.5999987.109876.0961467c.419874.320359 1.015131.2873897 1.397071-.0773773l.098579-.107692 5.2-6.4999961.083772-.120484c.273208-.455884.174278-1.054885-.252278-1.396122z" fill="%2333AFED" fill-rule="evenodd"/%3E%3C/svg%3E') no-repeat 0 0; + background-size: 100%; + vertical-align: -4px; + margin-left: 8px; +} +.tgme_page_extra { + font-size: 15px; + line-height: 27px; + text-align: center; + margin-bottom: 6px; + color: #808080; +} +.tgme_page_description, +.tgme_page_additional { + font-size: 16px; + line-height: 25px; + text-align: center; + max-width: 340px; + padding: 0 10px; + margin: 0 auto; + overflow: hidden; + text-overflow: ellipsis; +} +.tgme_page_description { + display: -webkit-box; + -webkit-line-clamp: 5; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; + max-height: 125px; + word-break: break-word; +} +.tgme_page_long_description { + max-height: none; + -webkit-line-clamp: unset; +} +.tgme_page_additional { + display: none; + font-size: 14px; + line-height: 23px; + margin-top: 32px; + color: #808080; +} +a.tgme_username_link, +a.tgme_username_link:hover, +a.tgme_username_link:active { + text-decoration: none; +} +.tgme_page_action { + text-align: center; + margin-top: 32px; + line-height: 0; +} +a.tgme_action_button, +a.tgme_action_button_new { + font-size: 14px; + font-weight: bold; + line-height: 100%; + color: #FFF; + background: #5dc390; + border-radius: 22px; + overflow: hidden; + display: inline-block; + padding: 15px 27px 13px; + text-transform: uppercase; +} +a.tgme_action_button:hover, +a.tgme_action_button:active, +a.tgme_action_button_new:hover, +a.tgme_action_button_new:active { + color: #FFF; + background: #4bbc87; + text-decoration: none; +} +a.tgme_action_button_new { + background: #33d684; +} +a.tgme_action_button_new:hover, +a.tgme_action_button_new:active { + background: #28c979; +} + +.tgme_page_web_action { + margin-top: 18px; +} +.tgme_page_web_action a.tgme_action_button { + color: #5dc390;; + background: #fff; + border: 2px solid #5dc390; + padding: 13px 25px 11px; +} +.tgme_page_web_action a.tgme_action_button:hover, +.tgme_page_web_action a.tgme_action_button:active { + color: #5dc390;; + background: #FFF;; + text-decoration: none; +} +.tgme_action_privacy_action { + margin-top: 12px; +} +.tgme_action_privacy_action a.tgme_action_privacy_button { + color: #5dc390;; + background: #fff; + border: 0; + padding: 13px 25px 11px; + font-size: 12px; +} +.tgme_action_privacy_action a.tgme_action_privacy_button:hover, +.tgme_action_privacy_action a.tgme_action_privacy_button:active { + color: #5dc390;; + background: #FFF;; + text-decoration: none; +} + +.tgme_footer { + margin: 0 auto 50px; + border-top: 1px solid #e0e0e0; + max-width: 424px; + padding-top: 38px; +} + +.tgme_footer_description { + font-size: 17px; + line-height: 27px; + text-align: center; + max-width: 330px; + padding: 0 10px; + margin: 0 auto 0; +} +.tgme_footer_action { + text-align: center; + margin-top: 28px; + line-height: 0; +} +a.tgme_footer_dl_button { + background: #32afed; +} +a.tgme_footer_dl_button:hover, +a.tgme_footer_dl_button:active { + background: #1ca4e7; +} + +.tgme_page_widget { + margin-left: -45px; +} +.tgme_page_widget_action { + text-align: center; + line-height: 0; +} +.tgme_page_widget iframe { + vertical-align: top; + max-width: 100%; +} +.tgme_page_widget_actions { + position: relative; + max-width: 595px; + padding: 30px 0; +} +.fixed_actions .tgme_page_widget_actions { + position: fixed; + left: 0; + right: 0; + bottom: 0; + border-top: 1px solid #d7e3ec; + padding: 30px 70px; + margin: 0 auto; + background: #fff; +} +.tgme_page_widget_actions_cont { + max-width: 455px; + margin: 0 auto; + display: flex; + justify-content: space-between; + flex-wrap: wrap; +} +.tgme_page_widget_actions .tgme_page_action { + position: relative; + margin: 0 auto; +} +.tgme_page_widget_action_right, +.tgme_page_widget_action_left { + width: 120px; + flex-grow: 2; +} +.tgme_page_widget_action_right { + float: right; + text-align: right; + order: 1; +} +.tgme_page_widget_action_left { + float: left; + text-align: left; +} +.tgme_page_widget_actions a.tgme_action_web_button { + border: none; + background: none; + padding: 15px 10px 13px; +} +.tgme_page_widget_actions a.tgme_action_web_button:hover { + text-decoration: underline; +} +.tgme_page_widget_actions a.tgme_action_web_button:before { + content: ''; + display: none; + width: 24px; + height: 24px; + margin: -7px 0 -7px 0; + background: url(/img/tgme/web_icon.png) 0 0 no-repeat; +} +.tgme_page_widget_actions .tgme_page_web_action { + margin-top: 0; + text-align: inherit; +} +.tgme_page_context_action { + margin-top: 8px; +} +.tgme_page_context_action a.tgme_action_button_new { + font-weight: normal; + text-transform: none; +} +.tgme_page_embed_action { + text-align: center; + margin-top: 30px; + display: none; + order: 3; + flex-basis: 100%; +} +.embed_opened .tgme_page_embed_action { + display: block; +} +.tgme_page_embed_btn { + line-height: 0; +} +.tgme_page_copy_action { + text-align: center; + margin-top: 18px; + margin-bottom: -16px; +} +.tgme_page_embed_btn a.tgme_action_button_new, +.tgme_page_context_btn a.tgme_action_button_new, +.tgme_page_copy_action a.tgme_action_button_new { + color: #8197af; + padding: 15px 10px 13px; + background: none; + cursor: pointer; +} +.tgme_page_embed_btn a.tgme_action_button_new:before { + content: ''; + display: inline-block; + width: 24px; + height: 24px; + margin: -7px 7px -7px 0; + background: url(/img/tgme/embed_icon.png?1) 0 0 no-repeat; +} +.embed_opened .tgme_page_embed_btn a.tgme_action_button_new:before { + background-position: -24px 0; +} +.tgme_page_copy_action a.tgme_action_button_new:before { + content: ''; + display: inline-block; + width: 24px; + height: 24px; + margin: -7px 7px -7px 0; + background: url(/img/tgme/embed_copy.png) 0 0 no-repeat; +} +.embed_opened .tgme_page_embed_btn a.tgme_action_button_new { + color: #2481cc; +} +.tgme_page_embed_action a.tgme_action_button_new:hover, +.tgme_page_embed_action a.tgme_action_button_new:active, +.tgme_page_copy_action a.tgme_action_button_new:hover, +.tgme_page_copy_action a.tgme_action_button_new:active { + color: #8197af; + text-decoration: none; + background: none; +} +.tgme_page_embed_code { + font-size: 13px; + color: #546172; + background: #ecf3f8; + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + width: 100%; + padding: 11px 17px; + border: 1px solid #d7e3ec; + border-radius: 10px; + white-space: pre-wrap; + word-break: break-all; + word-wrap: break-word; + text-align: left; + -webkit-appearance: none; + vertical-align: top; +} +.tgme_page_embed_code:focus { + outline: none; +} +@media (max-width: 595px) { + .tgme_page_widget { + padding: 0 10px; + margin-left: 0; + } + .tgme_page_widget_actions, + .fixed_actions .tgme_page_widget_actions { + padding: 20px 0; + } + .tgme_page_widget_action_right, + .tgme_page_widget_action_left { + text-align: center; + width: 20%; + } + .tgme_page_widget_actions .tgme_action_button_label { + display: none; + } + .tgme_page_widget_actions a.tgme_action_web_button:before { + display: inline-block; + } + .tgme_page_embed_btn a.tgme_action_button_new:before { + margin-right: 0; + } + .tgme_page_embed_action { + margin-top: 20px; + margin-left: 10px; + margin-right: 10px; + } + .tgme_page_copy_action { + margin-top: 8px; + } + #embed_code { + margin-top: 24px; + } +} + +.tgme_page_bg { + margin: 0; + max-width: none; +} +.tgme_bg_wrap { + height: 100%; + height: calc(100vh - 104px); + display: -ms-flexbox; + display: -webkit-flex; + display: flex; + -webkit-justify-content: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; +} +.tgme_bg_image_wrap { + position: absolute; + width: 100%; + height: 100%; + height: calc(100vh - 104px); + overflow: hidden; +} +.tgme_bg_image { + width: 110%; + width: calc(100vw + 40px); + height: 110%; + height: calc(100vh - 104px + 40px); + margin: -20px; + + background-repeat: no-repeat; + background-size: cover; + z-index: 1; + + -webkit-filter: blur(5px); + -moz-filter: blur(5px); + -o-filter: blur(5px); + -ms-filter: blur(5px); + filter: blur(5px); +} +.tgme_bg_wrap_pattern1 .tgme_bg_image { + -webkit-filter: blur(8px); + -moz-filter: blur(8px); + -o-filter: blur(8px); + -ms-filter: blur(8px); + filter: blur(8px); +} +.tgme_bg_wrap_full .tgme_bg_image { + -webkit-filter: none; + -moz-filter: none; + -o-filter: none; + -ms-filter: none; + filter: none; +} +.tgme_bg { + position: relative; + z-index: 2; +} +.tgme_bg_popup_wrap { + background: #fff; + border-radius: 10px; + flex: 1 0 auto; + padding: 40px 40px 30px; + margin: 0 40px; + max-width: 390px; + text-align: center; +} +.tgme_bg_title { + font-size: 18px; + font-weight: bold; + margin: 0 0 10px; +} +.tgme_bg_size { + color: #64686B; + font-size: 14px; + margin: 10px 0 17px; +} + + +#tgme_frame_cont { + position: absolute; + left: -10000px; + top: -10000px; +} + +/* New mobile blog */ +.tlb_page_wrap { + font-family: 'Roboto', sans-serif;; +} +.tlb_page_wrap a, +.tlb_page_wrap a:hover, +.tlb_page_wrap a:active { + color: #1497d9; +} +.tlb_page_head { + background: #FFF; + height: 47px; + padding: 12px 12px; +} +.tlb_blog_logo { + display: inline-block; + background: url(/img/blog/BlogLogo1x.png?1) 0 0 no-repeat; + width: 146px; + height: 20px; + background-size: 146px 20px; + line-height: 0; + margin-top: 2px; +} +.tlb_head_home { + float: right; + display: inline-block; + line-height: 24px; + height: 24px; + vertical-align: top; + font-size: 14px; +} +a.tlb_blog_head_more_link { + display: block; + font-size: 15px; + color: #FFF; + background: #3faee8; + padding: 0 15px 0 15px; + height: 42px; + line-height: 42px; +} +a.tlb_blog_head_more_link:hover, +a.tlb_blog_head_more_link:active { + color: #FFF; + background: #3faee8; + text-decoration: none; +} + +a.tlb_blog_head_more_link .tlb_head_more_active, +.tlb_blog_head_recent_active a.tlb_blog_head_more_link .tlb_head_more_inactive, +.tlb_head_more_entries { + display: none; +} +.tlb_blog_head_recent_active a.tlb_blog_head_more_link .tlb_head_more_active, +.tlb_blog_head_recent_active .tlb_head_more_entries { + display: block; +} +.tlb_head_more_icon_wrap { + float: right; + vertical-align: top; + margin-top: 15px; + line-height: 0; +} +.lang_rtl .tlb_head_more_icon_wrap { + float: left; +} +.tlb_head_more_icon { + display: inline-block; + border: 2px solid #FFF; + border-left: 0; + border-bottom: 0; + width: 10px; + height: 10px; + + -moz-transform: rotate(135deg); + -webkit-transform: rotate(135deg); + -o-transform: rotate(135deg); + -ms-transform: rotate(135deg); + transform: rotate(135deg); + + /*-webkit-transition: all linear 0.2s; + -moz-transition: all linear 0.2s; + -ms-transition: all linear 0.2s; + -o-transition: all linear 0.2s; + transition: all linear 0.2s;*/ +} +.tlb_blog_head_recent_active .tlb_head_more_icon_wrap { + margin-top: 18px; +} +.tlb_blog_head_recent_active .tlb_head_more_icon { + -moz-transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); + -o-transform: rotate(-45deg); + -ms-transform: rotate(-45deg); + transform: rotate(-45deg); +} + +.tlb_page_wrap .side_blog_wrap { + margin: 22px 0 0 16px; + padding: 0 10px 0 0; + font-size: 13px; +} +.tlb_page_wrap .side_blog_wrap:before { + width: 4px; + background: #3faee8; + border-radius: 4px; + margin: 0 15px 0 0; +} +.lang_rtl .tlb_page_wrap .side_blog_wrap:before { + margin: 0 0 0 15px; +} + +.tlb_page_wrap .side_blog_header { + font-size: 15px; + font-weight: bold; +} +.tlb_page_wrap .side_blog_entry { + margin-top: 12px; +} +.tlb_page_wrap .side_blog_date { + color: #444; + font-size: 14px; +} +.tlb_page_wrap .side_blog_title { + margin-top: 2px; + font-size: 15px; +} + + + +.tlb_page_wrap #dev_page_title a, +.tlb_page_wrap #dev_page_title a:hover, +.tlb_page_wrap #dev_page_title a:active { + color: #444; +} +.tlb_page_wrap .tl_contest_page_wrap #dev_page_title { + text-align: center; + max-width: 250px; + margin-left: auto; + margin-right: auto; + margin-bottom: 20px; +} +.tlb_page_wrap .tl_contest_page_wrap #dev_page_title, +.tlb_page_wrap .tl_contest_page_wrap h4 { + color: #444; + font-size: 18px; + line-height: 25px; +} + +.tlb_page_wrap .tl_contest_page_wrap #dev_page_content, +.tlb_page_wrap .tl_contest_page_wrap #dev_page_content p { + color: #333333; + font-size: 15px; +} +.tlb_page_wrap .tl_contest_page_wrap #dev_page_content p { + margin-bottom: 15px; +} +.tlb_page_wrap .tl_contest_page_wrap #dev_page_content blockquote p:last-child { + margin-bottom: 0; +} + +.tlb_page_wrap a.tl_twitter_share_btn { + background: #3faee8; + color: #FFF; + font-size: 14px; + line-height: 18px; + border-radius: 17px; + padding-top: 8px; +} +.tlb_page_wrap span.tl_twitter_share_cnt { + color: #c2eaff; +} +.tlb_page_wrap a.tl_twitter_share_btn:hover, +.tlb_page_wrap a.tl_twitter_share_btn:active { + color: #c2eaff; +} + + +.tl_telegram_share_btn { + display: inline-block; + border-radius: 16px; + background-color: #54a9eb; + cursor: pointer; + line-height: 22px; + margin-right: 10px; + padding: 5px 17px 5px 11px; + color: #FFF; + font-weight: bold; +} +.tl_telegram_share_btn:hover, +.tl_telegram_share_btn:active, +.tl_telegram_share_btn:focus { + text-decoration: none; + color: #FFF; + outline: none; +} +.lang_rtl .tl_telegram_share_btn { + margin-right: 0; + margin-left: 10px; +} +i.tl_telegram_share_icon { + display: inline-block; + width: 20px; + height: 20px; + background: url('data:image/svg+xml,%3Csvg height="20" viewBox="0 0 20 20" width="20" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="m1.77404283 9.58769086c4.67714245-1.99564845 7.79596997-3.31130205 9.35648257-3.9469608 4.4555806-1.81493491 5.381412-2.13020854 5.984856-2.14061906.1327219-.0022897.4294781.02992311.6217044.18267827.162312.12898346.2069705.30322179.2283411.42551228.0213705.12229049.047982.40087134.0268279.61854631-.2414495 2.48450744-1.2861975 8.51375174-1.817706 11.29644264-.2249011 1.1774608-.6709749 1.4294697-1.0996928 1.4681058-.9317032.0839651-1.6359598-.4602232-2.5383599-1.0395344-1.412078-.9065075-1.9311138-1.1506648-3.30178003-2.0352487-1.58404193-1.0222898-.71982554-1.5573792.18291533-2.4756292.23625159-.2403103 4.3705401-3.98382431 4.4499945-4.31554914.0099371-.04148774-.12607-.45629906-.2198814-.53795815s-.2322689-.05373486-.3321837-.03152647c-.1416262.03147972-2.397439 1.49167812-6.76743852 4.38059516-.64030496.4305972-1.22027332.6403987-1.73990507.6294043-.5728523-.0121204-1.67479033-.3172064-2.49396798-.5779863-1.00475474-.3198572-1.37564449-.4704946-1.30610794-1.013711.03621894-.2829407.29151946-.57846124.76590154-.88656154z" fill="%23fff" fill-rule="evenodd"/%3E%3C/svg%3E') 0 0 no-repeat; + margin-right: 11px; + vertical-align: top; +} +.lang_rtl i.tl_telegram_share_icon { + margin-right: 0; + margin-left: 11px; +} +.tl_telegram_share_label { + line-height: 21px; + vertical-align: top; + display: inline-block; + /*margin-top: 1px;*/ +} + +.tlb_page_wrap a.tl_telegram_share_btn { + background: #3faee8; + color: #FFF; + font-size: 14px; + border-radius: 17px; + padding: 6px 12px 5px 6px; +} +.tlb_page_wrap a.tl_telegram_share_btn:hover, +.tlb_page_wrap a.tl_telegram_share_btn:active { + color: #c2eaff; +} + + +/* Telegram Desktop */ +.td_btn_hidden, +.td_all_shown .td_show_all_platforms { + display: none; +} +.td_all_shown span.td_btn_hidden { + display: inline; +} +.td_all_shown div.td_btn_hidden { + display: block; +} +.td_content_wrap { + width: 420px; + margin: 0 auto; + font-size: 16px; +} +.td_content_title { + font-size: 28px; + color: #383a3b; + text-align: center; + margin-top: 32px; + margin-bottom: 14px; + font-weight: normal; + letter-spacing: -1px; +} +.tl_content_title_link, +.tl_content_title_link:hover { + text-decoration: none; +} +.td_screenshot { + background: url(../img/td_laptop.png) 50% 0 no-repeat; + background-size: contain; + padding-top: 58%; + margin-top: 48px; +} +.td_download_wrap, +.td_download_wrap_low { + margin: 0 -130px; + width: 680px; + text-align: center; +} +.td_download_wrap_low { + margin-bottom: 30px; +} +.td_download_icon { + display: inline-block; + vertical-align: top; + width: 25px; + height: 30px; + background: url(../img/td_icons.png) 0 2px no-repeat; + background-size: 25px 105px; + margin: -2px 5px 0 0; +} +.td_osx .td_download_icon { + background-position: 0 -33px; +} +.td_linux .td_download_icon { + background-position: 0 -68px; +} +.td_download_add_wrap { + width: 680px; + margin: 0 -130px 10px; + text-align: center; +} +.td_download_add { + min-width: 256px; + padding: 0 15px 20px; + margin: 5px 10px; + text-align: center; + display: inline-block; + cursor: pointer; +} +.td_download_btn { + display: inline-block; + vertical-align: top; + font-weight: normal; + text-align: center; + vertical-align: middle; + cursor: pointer; + background-image: none; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + color: #fff; + border-color: #357ebd; + padding: 10px 14px; + min-width: 266px; + font-size: 15px; + line-height: 2; + border-radius: 30px; + background-color: #1d98dc; + margin: 5px 10px; +} +.td_download_btn_wrap { + display: inline-block; + vertical-align: top; +} +.td_download_btn_wrap .td_download_btn, +.td_download_btn_wrap .td_download_add { + display: block; +} +.td_download_btn_wrap .td_download_add { + margin-top: 10px; +} +.td_download_divider { + font-size: 9px; + color: #777; + margin: 0 4px; + vertical-align: text-bottom; +} + +.td_download_btn:hover { + outline: 0px; + text-decoration: none; + color: #fff; + background-color: #0e8ed4; +} +.td_download_btn:active, +.td_download_btn:focus { + outline: 0px; + text-decoration: none; + color: #fff; +} +.td_about_license { + font-size: 14px; + color: #67696a; + text-align: center; + margin-top: 50px; + margin-bottom: 30px; + line-height: 170%; +} + +#td_versions { + opacity: 1; + -webkit-transition: opacity 200ms linear; + -moz-transition: opacity 200ms linear; + -o-transition: opacity 200ms linear; + transition: opacity 200ms linear; +} +#td_versions.td_hidden { + opacity: 0.1; +} + +#td_about_osx { + font-size: 20px; + color: #525252; + padding: 9px 0 5px; + font-weight: normal; +} +#td_about_osx { + position: absolute; + width: 600px; + opacity: 0; + margin-top: -32px; + text-align: center; + -webkit-transition: opacity 200ms linear; + -moz-transition: opacity 200ms linear; + -o-transition: opacity 200ms linear; + transition: opacity 200ms linear; +} +#td_about_osx.td_shown { + opacity: 1; +} +#td_about_tdesktop, +#td_open_from_desktop { + font-family: 'HelveticaNeue-Light', 'Helvetica Neue Light', 'Helvetica Light', Helvetica, Arial , Verdana, sans-serif; + line-height: 148%; + text-align: center; +} +#td_about_tdesktop { + font-size: 17px; + margin: 0 auto; + color: #67696a; + margin: 14px 10px 24px; + font-weight: 300; +} +#td_open_from_desktop { + font-size: 17px; + color: #0088cc; + border: 1px solid #179cde; + border-radius: 10px; + padding: 13px 24px; + margin: 24px 0 40px; +} +.td_changelog_wrap { + padding: 0 15px; +} +.td_changelog_wrap h3 { + margin-top: 20px; + font-size: 16px; + font-weight: normal; +} +.td_changelog_wrap h3 strong { + color: #999; + font-size: 14px; + font-weight: normal; +} + +.td_screenshot_macos { + background: url(https://osx.telegram.org/updates/site/artboard.png) 50% 0 no-repeat; + background-size: 420px 280px; + height: 280px; +} + +.td_screenshot_tdirect { + background: url(/img/tdirect.jpg?1) 50% 0 no-repeat; + background-size: 300px 360px; + height: 360px; + margin: 40px 20px; +} +.td_content_tdirect_title { + font-size: 26px; + color: #383a3b; + text-align: center; + margin-top: 32px; + margin-bottom: 14px; + font-weight: 600; + letter-spacing: -1px; +} +.td_about_tdirect { + font-size: 14px; + margin: 14px 10px 24px; + line-height: 1.5; + text-align: center; +} +.td_download_btn.td_tdirect { + border-radius: 5px; + font-weight: bold; + margin: 10px; +} +.td_howto_install_wrap { + text-align: center; + margin: 50px 0 40px; +} +.td_about_tdirect_store { + margin-top: 60px; +} +.td_download_store_wrap { + margin: 20px 0 10px; + text-align: center; +} + + + + + + + +@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) { + .tl_main_logo_title_image { + background-image: url(../img/Telegram_2x.png); + background-size: 144px 36px; + } + .caret { + background-image: url(../img/dropdown.png); + background-size: 18px 26px; + } + .icon-twitter { + background-image: url(../img/twitter_2x.png); + background-size: 21px 17px; + } + .icon-breadcrumb-divider { + background-image: url(../img/breadcrumb_divider.png); + background-size: 5px 10px; + } + .icon-to-top { + background-image: url(../img/back_to_top.png); + background-size: 16px 7px; + } + .tl_main_award { + background-image: url(../img/SiteAward_2x.gif); + background-size: 100px 100px; + } + .icon-arrow-more { + background-image: url(../img/tl_arrow_2x.png); + background-size: 6px 11px; + } + .tl_main_download_desktop { + background-image: url(../img/SiteDesktop_2x.jpg?2); + background-size: 1246px 260px; + } + + .icon-android, + .icon-ios, + .icon-wp { + background-image: url(../img/SiteLogos_2x.png); + background-size: 21px 120px; + } + + .tl_main_download_image__android { + background-image: url(../img/SiteAndroid_2x.jpg?2); + background-size: 290px 270px; + } + .tl_main_download_image__ios { + background-image: url(../img/SiteiOS_2x.jpg?2); + background-size: 442px 270px; + } + .tl_main_download_link_tdesktop { + background-image: url(../img/SiteTDesktop_2x.jpg?1); + background-size: 320px 157px; + } + + #dev_page_content > ul:not(.nav) li, + #dev_page_content > ol:not(.nav) ul:not(.nav) li { + background-image: url(../img/bullet_2x.png?3); + background-size: 7px 7px; + } + + .tgme_icon_arrow { + background-image: url(/img/tgme/Arrow_2x.png); + } + .tgme_icon_user, + .tgme_icon_group, + .tgme_icon_stickers, + .tgme_icon_share { + background-image: url(/img/tgme/Web2x.png?1); + background-size: 44px 177px; + } + + .tgme_page_widget_actions a.tgme_action_web_button:before { + background-image: url(/img/tgme/web_icon_2x.png); + background-size: 24px 24px; + } + .tgme_page_embed_btn a.tgme_action_button_new:before { + background-image: url(/img/tgme/embed_icon_2x.png?1); + background-size: 48px 24px; + } + .tgme_page_copy_action a.tgme_action_button_new:before { + background-image: url(/img/tgme/embed_copy_2x.png); + background-size: 24px 24px; + } + + .tlb_blog_logo { + background-image: url(/img/blog/BlogLogo2x.png?1); + background-size: 146px 20px; + } + + .radio-item input.radio + .radio-label:before, + .checkbox-item input.checkbox + .checkbox-label:before, + .form-control-dropdown-button:before { + background-image: url(/img/rc_icons_2x.png?1); + background-size: 20px 152px; + } + + .form-control-dropdown.has-items:before { + background-image: url(/img/rc_icons_2x.png?1); + background-size: 20px 152px; + } + .td_screenshot_macos { + background-image: url(https://osx.telegram.org/updates/site/artboard_2x.png); + background-size: 420px 280px; + height: 280px; + } + .td_screenshot_tdirect { + background-image: url(/img/tdirect_2x.jpg?1); + } +} + +@media only screen and (-webkit-min-device-pixel-ratio: 2.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min--moz-device-pixel-ratio: 2.5), only screen and (min-device-pixel-ratio: 2.5) { + + .tlb_blog_logo { + background-image: url(/img/blog/BlogLogo3x.png); + background-size: 146px 20px; + } +} + +@media (max-width: 1200px) { + .dev_side_nav_wrap { + display: none; + } +} + +/* Mobile */ +@media (max-width: 1000px) { + a.anchor { + margin-left: -19px; + } + .footer_wrap { + padding: 16px 0 16px; + padding-bottom: calc(max(16px, env(safe-area-inset-bottom))); + } + .footer_desktop { + display: none; + } + .footer_mobile { + display: flex; + justify-content: center; + } + .footer_columns_wrap { + text-align: center; + } + .footer_column { + margin: 0 6px; + } + .footer_column h5 { + color: #08c; + font-size: 12px; + font-weight: normal; + text-transform: uppercase; + margin: 0; + } + + .blog_side_image_wrap { + position: static; + } + .blog_side_image { + display: block; + margin: 20px auto; + width: 160px; + height: 160px; + position: static; + } + .blog_side_image.js-tgsticker_image { + position: relative; + } + + .tl_blog_side_blog { + display: none; + } + .tl_blog_bottom_blog { + display: block; + } + .tl_main_side_blog .side_blog_wrap { + position: static; + margin: 22px 0 0 16px; + padding: 0 10px 0 15px; + border-width: 4px; + border-color: #3faee8; + } + .side_blog_wrap { + width: auto; + } + + .tl_main_side_blog .side_blog_header { + font-size: 14px; + } + .tl_main_side_blog a.side_blog_entry { + margin-top: 12px; + } + .tl_main_side_blog .side_blog_date { + color: #444; + font-size: 13px; + } + .tl_main_side_blog .side_blog_title { + font-size: 14px; + margin-top: 2px; + } + +} + +@media (max-width: 640px) { + a:hover { + text-decoration: none; + } + h1 { + font-size: 19px; + } + h2 { + font-size: 19px; + } + h3 { + font-size: 16px; + } + h4 { + font-size: 16px; + } + h5 { + font-size: 14px; + } + .dropdown-menu { + min-width: 210px; + } + .dropdown-menu > li > a { + white-space: normal; + } + .tl_main_body { + margin-top: 25px; + padding-top: 5px; + } + .tl_main_body_header { + font-size: 20px; + } + .tl_main_download_mobile { + padding: 0 20px; + } + + .tl_main_download_link { + width: auto; + min-width: 0; + display: block; + margin-top: 20px; + margin-bottom: 30px; + } + a.tl_main_download_link:after { + display: none; + } + .tl_main_download_link_ios/*, + .tl_main_download_link_tdesktop*/ { + padding-top: 210px; + height: 245px; + padding-bottom: 15px; + } + .tl_main_download_image__ios { + margin: -123px 0 0 -121px; + background-size: 360px 220px; + width: 248px; + height: 198px; + } + .tl_main_video_player__ios { + margin: -124px 0 0 -121px; + width: 248px; + height: 198px; + } + + .tl_main_download_link_tdesktop { + display: block; + padding-top: 156px; + height: 188px; + } + .tl_main_download_desktop_section, + .tl_main_download_desktop_wrap1 { + display: none; + } + .tl_main_download_more_btn { + display: inline-block; + } + + .dev_page_bread_crumbs .breadcrumb { + margin-bottom: 15px; + } + #dev_page_content_wrap { + padding-top: 12px; + } + #dev_page_title { + margin-top: 10px; + margin-bottom: 21px; + } + .nav-pills > li > a { + padding: 8px 10px; + } + .dev_page_nav_wrap { + margin-top: 25px; + } + .dev_page_nav_wrap > p { + margin-bottom: 3.5px; + } + .dev_page_nav_wrap > p > a:first-child { + font-size: 15px; + } + #dev_page_content .dev_page_nav_wrap ul li { + padding: 3px 0 4px; + } + #dev_page_content .dev_page_nav_wrap ul li a:first-child { + font-size: 14px; + display: inline-block; + line-height: 22px; + padding: 2px 6px 1px; + margin-left: -6px; + } + #dev_page_content .dev_page_nav_wrap ul li a:first-child:hover { + border-radius: 2px; + background: #e6f1f7; + } + #dev_page_content .dev_page_nav_wrap hr { + display: none; + } + .dev_faq_page h4 { + font-size: 15px; + line-height: 140%; + margin-top: 26px; + margin-bottom: 5px; + } + .dev_page_image, + .tl_contest_page_wrap .dev_page_image { + max-width: 100%; + max-height: 400px; + margin: 0 auto; + } + .dev_page_image img, + .tl_contest_page_wrap .dev_page_image img { + max-width: 100%; + max-height: 400px; + } + + .tl_main_download_link:hover, + .tl_main_download_desktop_link:hover { + box-shadow: none; + } + + .dev_side_image { + width: auto; + max-width: none; + float: none; + text-align: center; + padding: 0; + } + .dev_side_image img { + display: block; + margin: 20px auto; + width: 180px; + } + + + .tl_team_member_photo_wrap { + margin-bottom: 10px; + } + .tl_team_member_photo { + width: 60px; + height: 60px; + background-size: 60px 905px; + } + .tl_team_member_pavel .tl_team_member_photo { + background-position: 0 0; + } + .tl_team_member_nikolay .tl_team_member_photo { + background-position: 0 -65px; + } + .tl_team_member_aliaksei .tl_team_member_photo { + background-position: 0 -130px; + } + .tl_team_member_vitalik .tl_team_member_photo { + background-position: 0 -195px; + } + .tl_team_member_arseny .tl_team_member_photo { + background-position: 0 -260px; + } + .tl_team_member_igor .tl_team_member_photo { + background-position: 0 -325px; + } + .tl_team_member_drklo .tl_team_member_photo { + background-position: 0 -390px; + } + .tl_team_member_peter .tl_team_member_photo { + background-position: 0 -455px; + } + .tl_team_member_john .tl_team_member_photo { + background-position: 0 -520px; + } + .tl_team_member_kolar .tl_team_member_photo { + background-position: 0 -585px; + } + .tl_team_member_ilya .tl_team_member_photo { + background-position: 0 -650px; + } + .tl_team_member_igor1 .tl_team_member_photo { + background-position: 0 -845px; + } + .tl_team_member_mike .tl_team_member_photo { + background-position: 0 -780px; + } + .tl_team_member_grisha .tl_team_member_photo { + background-position: 0 -715px; + } + .tl_team_member_name { + margin-top: 20px; + margin-left: 80px; + margin-bottom: 40px; + } + .tl_team_member_body { + margin-left: 0; + } +} + +@media (max-width: 480px) { + .navbar-tg .container { + padding: 0; + } + h3 a.anchor i.anchor-icon {margin-top: 1px;} + a.anchor { + margin-left: -16px; + } + .tl_main_award { + display: none; + } + .tl_main_logo_wrap { + padding-top: 10px; + padding-bottom: 2px; + } + svg.tl_main_logo, + image.tl_main_logo, + img.tl_main_logo { + width: 85px !important; + height: 85px !important; + } + .tl_main_logo_title, + .tl_main_logo_title:hover { + font-size: 23px; + margin-top: 15px; + margin-bottom: 5px; + letter-spacing: -1px; + } + .tl_main_logo_lead { + font-size: 16px; + max-width: 224px; + } + + .tl_main_head_download { + margin-bottom: 10px; + } + .tl_main_download_btn { + max-width: 200px; + width: auto; + padding: 6px 9px; + line-height: 20px; + font-size: 13px; + margin: 5px 10px; + } + + .tl_main_cards { + margin-top: 10px; + } + + .tl_main_card_header { + margin: 10px 0 6px; + font-size: 21px; + font-weight: normal; + letter-spacing: -1px; + } + + .tl_main_card_lead { + font-size: 15px; + } + .smartphone_video_player_wrap { + /*display: none;*/ + } + + .td_content_wrap { + width: auto; + font-size: 14px; + margin: 0 20px; + } + .td_screenshot { + margin-top: 26px; + } + .td_content_title { + font-size: 22px; + margin-top: 21px; + margin-bottom: 10px; + } + .td_download_wrap, + .td_download_wrap_low { + margin: 0 auto; + width: 320px; + } + .td_download_wrap_low { + margin-bottom: 30px; + } + .td_download_add_wrap { + width: 280px; + margin: 0 auto 10px; + } + #td_about_osx { + width: 320px; + font-size: 16px; + } + .td_about_osx_team { + display: none; + } + .td_about_license { + font-size: 12px; + } + #td_about_tdesktop { + font-size: 16px; + margin: 10px 15px 24px; + } + .td_screenshot_tdirect { + background-size: 225px 270px; + height: 270px; + margin: 40px 20px 20px; + } + .td_content_tdirect_title { + font-size: 20px; + margin-top: 21px; + margin-bottom: 10px; + letter-spacing: 0; + } + + + /* Telegram.me */ + .tgme_head_wrap { + background: #FFF; + height: 59px; + padding: 14px 16px; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } + a.tgme_head_dl_button { + text-align: left; + -webkit-box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.15); + -moz-box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.15); + box-shadow: inset 0px 1px 3px 0px rgba(0,0,0,0.15); + } + .tgme_icon_arrow { + float: right; + } + .tgme_page_photo_image { + width: 110px; + height: 110px; + border-radius: 55px; + } + .tgme_icon_user { + width: 30px; + height: 30px; + background: url(/img/tgme/Mobile1x.png?1) -2px -31px no-repeat; + background-size: 33px 148px; + } + .tgme_icon_group { + width: 32px; + height: 18px; + background: url(/img/tgme/Mobile1x.png?1) 0 0 no-repeat; + background-size: 33px 148px; + } + .tgme_icon_stickers { + width: 28px; + height: 28px; + background: url(/img/tgme/Mobile1x.png?1) -2px -70px no-repeat; + background-size: 33px 148px; + } + .tgme_icon_share { + width: 31px; + height: 17px; + background: url(/img/tgme/Mobile1x.png?1) -1px -108px no-repeat; + background-size: 33px 148px; + } + + .tgme_page_additional { + display: block; + } + .tgme_footer { + display: none; + } + + .blog_2images_wrap, + .blog_3images_wrap, + .blog_medium_image_wrap, + .blog_medium_image_wrap img, + .blog_image_wrap, + .blog_image_wrap img { + width: auto; + max-width: 275px; + } + .blog_2images_wrap, + .blog_3images_wrap { + margin: 20px auto 20px; + } + .blog_2images_wrap .blog_image_wrap, + .blog_3images_wrap .blog_image_wrap { + float: none; + margin: 20px 0 20px; + } +} + +@media (max-width: 340px) { + .tl_main_download_image__android { + margin: -109px 0 0 -101px; + background-size: 196px 183px; + width: 205px; + height: 162px; + } + .tl_main_download_image__ios { + margin: -103px 0 0 -101px; + background-size: 300px 183px; + width: 206px; + height: 165px; + } + .tl_main_video_player__android { + margin: -109px 0 0 -101px; + width: 205px; + height: 162px; + } + .tl_main_video_player__ios { + /*margin: -103px 0 0 -101px;*/ + margin: -104px 0 0 -101px; + width: 206px; + height: 165px; + } +} + +@media (max-width: 320px) { + #td_about_tdesktop { + font-size: 14px; + } + #td_open_from_desktop { + font-size: 15px; + padding: 13px 18px; + } +} + +.tl_contest_page_wrap + .pager_wrap { + max-width: 600px; + margin: 0 auto; +} + +@media only screen and (-webkit-min-device-pixel-ratio: 1.5) and (max-width: 480px), only screen and (-o-min-device-pixel-ratio: 3/2) and (max-width: 480px), only screen and (min--moz-device-pixel-ratio: 1.5) and (max-width: 480px), only screen and (min-device-pixel-ratio: 1.5) and (max-width: 480px) { + + .tgme_icon_user, + .tgme_icon_group, + .tgme_icon_stickers, + .tgme_icon_share { + background-image: url(/img/tgme/Mobile2x.png?1); + } +} diff --git a/data/themes.telegram.org/js/main-aj.js b/data/themes.telegram.org/js/main-aj.js new file mode 100644 index 0000000000..8b9470bbc9 --- /dev/null +++ b/data/themes.telegram.org/js/main-aj.js @@ -0,0 +1,1148 @@ +function ajInit(options) { + if (!window.history || !history.pushState) { + return false; + } + + var nav_url = location.href; + var short_url = layerUrlToShort(nav_url); + if (options.layer && !short_url) { + nav_url = layerUrlToNav(nav_url, options.layerUnderUrl); + } + if (!history.state) { + history.replaceState({i: 0, u: nav_url}, null, short_url); + } else if (!history.state.u) { + history.replaceState({i: history.state.i, u: nav_url}, null, short_url); + } else if (short_url && location.href != short_url) { + history.replaceState(history.state, null, short_url); + } + + var $progress = $('#aj_progress'), + progressBoxShadow = 'inset 0 2px 0 #39ade7', + progressNoBoxShadow = 'inset 0 0 0 #39ade7', + progressTransition = 'width .3s linear, box-shadow .2s ease', + progressTo, + progressVal = 0; + $progress.css({ + width: 0, + transition: progressTransition, + position: 'fixed', + zIndex: 1000, + top: 0, + height: 3 + }); + + var skipPopState = false; + var curHistoryState = history.state; + var curLocation = loc(curHistoryState.u); + var layerCloseLocation = layerCloseLoc(curHistoryState.u); + var underLayerTitle = document.title; + var curOnLoad = [], curOnUnload = []; + var curOnLayerLoad = [], curOnLayerUnload = []; + var curBeforeUnload = false, curBeforeLayerUnload = false; + var ajContainer = $('#aj_content'); + + console.log('history init', 'curState =', curHistoryState); + + window.Aj = { + apiUrl: options.apiUrl, + version: options.version, + unauth: options.unauth || false, + onLoad: onLoad, + onUnload: onUnload, + onLayerLoad: onLayerLoad, + onLayerUnload: onLayerUnload, + pageLoaded: pageLoaded, + layerLoaded: layerLoaded, + showProgress: showProgress, + hideProgress: hideProgress, + onBeforeUnload: onBeforeUnload, + onBeforeLayerUnload: onBeforeLayerUnload, + linkHandler: linkHandler, + location: _location, + layerLocation: layerLocation, + setLocation: setLocation, + setLayerLocation: setLayerLocation, + reload: reload, + apiRequest: apiRequest, + needAuth: needAuth, + ajContainer: ajContainer, + state: options.state || {}, + layerState: {}, + layer: false + }; + + if (options.layer) { + Aj.layer = $('#layer-popup-container'); + Aj.layerState = options.layerState || {}; + if (options.layerTitle) { + document.title = options.layerTitle; + } + } + + function showProgress() { + clearTimeout(progressTo); + if (!progressVal) { + $progress.css({width: 0, transition: 'none'}); + progressTo = setTimeout(function() { + $progress.css({transition: progressTransition}); + showProgress(); + }, 50); + } else { + progressTo = setTimeout(showProgress, 300); + } + $progress.css({width: progressVal + '%', boxShadow: progressBoxShadow}); + progressVal = progressVal + (99 - progressVal) / 4; + } + + function hideProgress(cancel) { + clearTimeout(progressTo); + progressTo = false; + progressVal = 0; + $progress.css({width: cancel ? '0%' : '100%'}); + setTimeout(function() { + $progress.css({boxShadow: progressNoBoxShadow}); + }, 300); + } + + function apiRequest(method, data, onSuccess) { + return $.ajax(Aj.apiUrl, { + type: 'POST', + data: $.extend(data, {method: method}), + dataType: 'json', + xhrFields: { + withCredentials: true + }, + success: function(result) { + if (result._dlog) { + $('#dlog').append(result._dlog); + } + onSuccess && onSuccess(result); + }, + error: function(xhr) { + if (!xhr.readyState && !xhr.status) { + // was aborted + } else if (xhr.status == 401) { + location.href = '/auth'; + } else { + location.reload(); + } + } + }); + } + + function loc(href) { + var url = document.createElement('a'); + url.href = href; + return url; + } + + function layerHref(href) { + var url = document.createElement('a'); + url.href = href; + var search = url.search; + if (search.substr(0, 1) == '?') { + search = search.substr(1); + } + var params = search.split('&'); + for (var i = 0; i < params.length; i++) { + var kv = params[i].split('='); + if (kv[0] == 'l') { + return decodeURIComponent(kv[1] || ''); + } + } + return null; + } + + function layerOpenHref(href, l) { + var url = document.createElement('a'); + url.href = href; + url.search = url.search.replace(/&l=[^&]*/g, '', url.search); + url.search = url.search.replace(/(\?)l=[^&]*&|\?l=[^&]*$/g, '$1', url.search); + url.search += (url.search ? '&' : '?') + 'l=' + encodeURIComponent(l); + return url.href; + } + + function layerCloseLoc(href) { + var url = document.createElement('a'); + url.href = href; + url.search = url.search.replace(/&l=[^&]*/g, '', url.search); + url.search = url.search.replace(/(\?)l=[^&]*&|\?l=[^&]*$/g, '$1', url.search); + return url; + } + + function layerUrlToShort(href) { + var url = document.createElement('a'); + url.href = href; + var match = url.search.match(/(\?|&)l=([^&]*)/); + if (match) { + return '/' + decodeURIComponent(match[2]); + } + return null; + } + + function layerUrlToNav(href, cur_loc) { + if (layerUrlToShort(href)) { + return href; + } + var url = document.createElement('a'); + url.href = href; + var layer_url = url.pathname.replace(/^\/+|\/+$/g, ''); + return layerOpenHref(cur_loc || '/', layer_url); + } + + function changeLocation(url, push_state) { + if (push_state) { + location.href = url; + } else { + location.replace(url); + } + } + + function scrollToEl(elem) { + $(window).scrollTop($(elem).offset().top); + } + + function scrollToHash(hash) { + hash = hash || curLocation.hash; + if (hash[0] == '#') hash = hash.substr(1); + if (!hash) return; + var elem = document.getElementById(hash); + if (elem) { + return scrollToEl(elem); + } + elem = $('a[name]').filter(function() { + return $(this).attr('name') == hash; + }).eq(0); + if (elem.length) { + scrollToEl(elem); + } + } + + function onLoad(func) { + console.log('added to onLoad'); + curOnLoad.push(func); + } + + function onUnload(func) { + console.log('added to onUnload'); + curOnUnload.push(func); + } + + function onLayerLoad(func) { + console.log('added to onLayerLoad'); + curOnLayerLoad.push(func); + } + + function onLayerUnload(func) { + console.log('added to onLayerUnload'); + curOnLayerUnload.push(func); + } + + function onBeforeUnload(func) { + curBeforeUnload = func; + } + + function onBeforeLayerUnload(func) { + curBeforeLayerUnload = func; + } + + function pageLoaded() { + if (curOnLoad.length) { + for (var i = 0; i < curOnLoad.length; i++) { + console.log('onLoad', i); + curOnLoad[i](Aj.state); + } + } + onUnload(function() { + $(ajContainer).off('.curPage'); + $(document).off('.curPage'); + }); + if (Aj.layer) { + layerLoaded(); + } + } + + function layerLoaded() { + if (curOnLayerLoad.length) { + for (var i = 0; i < curOnLayerLoad.length; i++) { + console.log('onLayerLoad', i); + curOnLayerLoad[i](Aj.layerState); + } + } + onLayerUnload(function() { + Aj.layer.off('.curLayer'); + }); + Aj.layer.one('popup:close', function() { + if (curOnLayerUnload.length) { + for (var i = 0; i < curOnLayerUnload.length; i++) { + console.log('onLayerUnload', i); + curOnLayerUnload[i](Aj.layerState); + } + } + Aj.layer.remove(); + if (underLayerTitle) { + document.title = underLayerTitle; + } + if (layerCloseLocation) { + setLocation(layerCloseLocation.href); + layerCloseLocation = false; + } + Aj.layer = false; + Aj.layerState = {}; + curOnLayerLoad = []; + curOnLayerUnload = []; + }); + Aj.layer.on('click.curLayer', 'a[data-layer-close]', function(e) { + e.preventDefault(); + e.stopImmediatePropagation(); + closePopup(Aj.layer); + }); + openPopup(Aj.layer, { + closeByClickOutside: '.popup-no-close', + onBeforeClose: function($popup) { + var unloaded = checkBeforeUnload(function() { + var options = $popup.data('options'); + options.onBeforeClose = null; + closePopup($popup); + }); + return unloaded; + } + }); + } + + function onResult(url, http_code, result, push_state) { + hideProgress(); + if (http_code != 200 || !result || !result.v || result.v != Aj.version) { + changeLocation(url, push_state); + return; + } + var url_hash = loc(url).hash; + if (result.r) { + var redirect_url = result.r; + if (url_hash) { + redirect_url = redirect_url.split('#')[0] + url_hash; + } + if (result.hr || !loadPage(loc(redirect_url), push_state)) { + changeLocation(redirect_url, push_state); + } + return; + } + var saved_ult = underLayerTitle; + var saved_lcl = (!Aj.layer || !push_state) ? layerCloseLocation : false; + underLayerTitle = false; + layerCloseLocation = false; + closeAllPopups(); + underLayerTitle = saved_ult; + layerCloseLocation = saved_lcl; + + if (result.h) { + if (curOnUnload.length) { + for (var i = 0; i < curOnUnload.length; i++) { + console.log('onUnload', i); + curOnUnload[i](Aj.state); + } + } + if (push_state) { + if (result.l) { + url = layerUrlToNav(url); + } + setLocation(url); + } + Aj.state = {}; + curOnLoad = []; + curOnUnload = []; + if (result.t) { + document.title = result.t; + underLayerTitle = document.title; + } + if (result.h) { + ajContainer.html(result.h); + } + if (result.s) { + $.extend(Aj.state, result.s); + } + if (result._dlog) { + $('#dlog').html(result._dlog); + } + if (push_state || !Aj._useScrollHack) { + $(window).scrollTop(0); + } + $('body').css({height: '', overflow: ''}); + if (url_hash) { + scrollToHash(); + } + if (result.l) { + Aj.layer = $(''); + Aj.layerState = {}; + curOnLayerLoad = []; + curOnLayerUnload = []; + if (result.lt) { + document.title = result.lt; + } + if (result.ls) { + $.extend(Aj.layerState, result.ls); + } + Aj.layer.html(result.l).appendTo(document.body); + } + if (result.j) { + window.execScript ? window.execScript(result.j) : eval(result.j); + } + pageLoaded(); + return; + } else if (result.l) { + if (push_state) { + url = layerUrlToNav(url); + setLocation(url); + } + if (result.s) { + $.extend(Aj.state, result.s); + } + if (result._dlog) { + $('#dlog').html(result._dlog); + } + Aj.layer = $(''); + Aj.layerState = {}; + curOnLayerLoad = []; + curOnLayerUnload = []; + if (result.lt) { + document.title = result.lt; + } + if (result.ls) { + $.extend(Aj.layerState, result.ls); + } + Aj.layer.html(result.l).appendTo(document.body); + if (result.j) { + window.execScript ? window.execScript(result.j) : eval(result.j); + } + layerLoaded(); + return; + } + return changeLocation(url, push_state); + } + + function loadPage(link, push_state, state_go) { + var url = link.href; + var cur_url = curLocation.href; + if (link.origin != curLocation.origin) { + return false; + } + if (link.pathname == curLocation.pathname && + link.search == curLocation.search && + link.hash != curLocation.hash) { + return false; + } + if (url == cur_url) { + push_state = false; + } + var load_fn, interrupted = false; + load_fn = function() { + if (!push_state) { + if (interrupted) { + historyJump(state_go); + } + curLocation = loc(url); + layerCloseLocation = layerCloseLoc(url); + } + if (interrupted && Aj.layer) { + var options = Aj.layer.data('options'); + options.onBeforeClose = null; + } + showProgress(); + $.ajax(url, { + dataType: 'json', + xhrFields: {withCredentials: true}, + headers: {'X-Aj-Referer': cur_url}, + success: function(result, t, xhr) { + onResult(url, xhr.status, result, push_state); + }, + error: function(xhr) { + onResult(url, xhr.status, false, push_state); + } + }); + }; + interrupted = !checkBeforeUnload(load_fn); + if (interrupted && !push_state) { + historyJump(-state_go); + } + return true; + } + + function _location(href) { + if (typeof href !== 'undefined') { + loadPage(loc(href), true); + } else { + return loc(curLocation.href); + } + } + + function layerLocation(layer_url) { + if (typeof layer_url !== 'undefined') { + var layer_href = layerOpenHref(curLocation, layer_url); + loadPage(loc(layer_href), true); + } else { + return layerHref(curLocation.href); + } + } + + function setLocation(href) { + var url = loc(href).href; + var short_url = layerUrlToShort(url) || url; + history.pushState({i: curHistoryState.i + 1, u: url}, null, short_url); + console.log('history push', 'oldState =', curHistoryState, 'newState =', history.state); + curHistoryState = history.state; + curLocation = loc(curHistoryState.u); + layerCloseLocation = layerCloseLoc(curHistoryState.u); + } + + function setLayerLocation(layer_url) { + layer_url = layer_url.toString().replace(/^\/+|\/+$/g, ''); + var layer_href = layerOpenHref(curLocation, layer_url); + var url = loc(layer_href).href; + var short_url = layerUrlToShort(url) || url; + history.pushState({i: curHistoryState.i + 1, u: url}, null, short_url); + console.log('history push', 'oldState =', curHistoryState, 'newState =', history.state); + curHistoryState = history.state; + curLocation = loc(curHistoryState.u); + } + + function reload() { + _location(_location()); + } + + function historyJump(delta) { + if (delta) { + skipPopState = true; + history.go(delta); + } + } + + function needAuth() { + if (Aj.unauth) { + openPopup('#login-popup-container'); + return true; + } + return false; + } + + function linkHandler(e) { + if (e.metaKey || e.ctrlKey) return true; + var href = this.href; + if (this.hasAttribute('data-unsafe') && + href != $(this).text()) { + var $confirm = showConfirm(l('WEB_OPEN_LINK_CONFIRM', {url: cleanHTML(href)}, 'Do you want to open {url}?'), null, l('WEB_OPEN_LINK', 'Open')); + $('.popup-primary-btn', $confirm).attr({ + href: href, + target: $(this).attr('target'), + rel: $(this).attr('rel') + }); + return false; + } + if ($(this).attr('target') == '_blank') return true; + if (this.hasAttribute('data-layer')) { + href = layerUrlToNav(href, curLocation); + } + if ($(this).hasClass('need-auth') && needAuth() || + loadPage(loc(href), true)) { + e.preventDefault(); + } + } + + function beforeUnloadHandler(e) { + var message = null; + if (Aj.layer && curBeforeLayerUnload) { + message = curBeforeLayerUnload(); + } + if (!message && curBeforeUnload) { + message = curBeforeUnload(); + } + if (message) { + if (typeof e === 'undefined') e = window.e; + if (e) e.returnValue = message; + return message; + } + } + function checkBeforeUnload(load_fn) { + var message = null; + if (Aj.layer && curBeforeLayerUnload) { + message = curBeforeLayerUnload(); + } + if (!message && curBeforeUnload) { + message = curBeforeUnload(); + } + var load_func = function() { + curBeforeLayerUnload = false; + curBeforeUnload = false; + load_fn(); + }; + if (message) { + var message_html = $('
').text(message).html(); + showConfirm(message_html, load_func, l('WEB_LEAVE_PAGE', 'Leave')); + return false; + } else { + load_func(); + return true; + } + } + + $(document).on('click', 'a[href]', linkHandler); + $(document.body).removeClass('no-transition'); + + $(window).on('popstate', function(e) { + var popstate = e.originalEvent.state; + var state_go = popstate ? (popstate.i - curHistoryState.i) : 0; + if (!popstate) { + popstate = {i: 0, u: location.href}; + } else if (!popstate.u) { + popstate.u = location.href; + } + console.log('history popstate', 'oldState =', curHistoryState, 'newState =', popstate, 'go(' + state_go + ')'); + curHistoryState = popstate; + if (skipPopState) { + skipPopState = false; + return; + } + if (Aj._useScrollHack) { + $('body').css({height: '100000px', overflow: 'hidden'}); // for correct scroll restoration + } + var link = loc(curHistoryState.u); + var loaded = loadPage(link, false, state_go); + if (!loaded && Aj._useScrollHack) { + $('body').css({height: '', overflow: ''}); + } + }); + window.onbeforeunload = beforeUnloadHandler; +} + +function updateNavBar() { + var $nav_menu = $('.nav-menu'); + $nav_menu.addClass('nav-menu-can-fix'); + if ($nav_menu.css('position') == 'fixed') { + $nav_menu.width($nav_menu.parent().width()); + } else { + $nav_menu.css('width', 'auto'); + } +} + +function getBR() { + if (window._brHTML) return window._brHTML; + return window._brHTML = $('

').html(); +} + +function cleanHTML(value) { + return value.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/\n/g, getBR()); +} + +function cleanRE(value) { + return value.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&"); +} + +var Keys = { + BACKSPACE: 8, + ESC: 27, + TAB: 9, + RETURN: 13, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + on: function(key, callback) { + return function(e){ if(e.which == key) callback.apply(this, Array.prototype.slice.apply(arguments)); }; + } +}; + +var Popups = []; + +function openPopup(popup, options) { + if (!popup) return false; + options = options || {}; + var $popup = $(popup); + var popup_id = $popup.data('puid'); + if (!popup_id) { + if (!Popups._pid) Popups._pid = 0; + popup_id = ++Popups._pid; + $popup.data('puid', popup_id); + } + $popup.data('options', options); + var i = Popups.indexOf(popup_id); + if (i >= 0) { + Popups.splice(i, 1); + } + Popups.push(popup_id); + $('body').css('overflow', 'hidden'); + $popup.appendTo(window.Aj && Aj.ajContainer || 'body'); + $popup.removeClass('hide'); + if (document.activeElement) { + document.activeElement.blur(); + } + if (options.closeByClickOutside) { + $popup.on('click', function(e) { + if ($(e.target).closest('body').length && + !$(e.target).closest(options.closeByClickOutside).length) { + closePopup($popup); + } + }); + } + $('.popup-cancel-btn', $popup).on('click', function(e) { + closePopup($popup); + }); + $popup.trigger('popup:open'); +} + +function getPopupById(popup_id) { + var $popups = $('.popup-container'); + var found = false; + for (var i = 0; i < $popups.length; i++) { + $popup = $popups.eq(i); + if (popup_id == $popup.data('puid')) { + return $popup; + } + } + return false; +} + +function closePopup(popup) { + if (!Popups.length) return false; + var $popup, popup_id; + if (popup) { + $popup = $(popup); + popup_id = $popup.data('puid'); + } else { + popup_id = Popups[Popups.length - 1]; + $popup = getPopupById(popup_id); + if (!$popup) { + return false; + } + } + var options = $popup.data('options'); + if (options.onBeforeClose) { + var result = options.onBeforeClose($popup); + if (result === false) { + return false; + } + } + var i = Popups.indexOf(popup_id); + if (i >= 0) { + Popups.splice(i, 1); + } + if (!Popups.length) { + $('body').css('overflow', ''); + } + if (options.closeByClickOutside) { + $popup.off('click'); + } + $('.popup-cancel-btn', $popup).off('click'); + $popup.addClass('hide'); + $popup.trigger('popup:close'); +} + +function closeAllPopups() { + for (var i = Popups.length - 1; i >= 0; i--) { + var $popup = getPopupById(Popups[i]); + if ($popup) { + closePopup($popup); + } + } +} + +function showAlert(html, options) { + options = options || {}; + var $alert = $(''); + var onEnterPress = function(e) { + if (e.keyCode == Keys.RETURN) { + e.stopImmediatePropagation(); + closePopup($alert); + } + }; + $('.popup-text', $alert).html(html); + $(document).on('keydown', onEnterPress); + $alert.one('popup:close', function() { + $(document).off('keydown', onEnterPress); + $alert.remove(); + }); + openPopup($alert); + return $alert; +} + +function showConfirm(html, onConfirm, confirm_btn, onCancel, cancel_btn) { + var $confirm = $(''); + var confirm = function() { + onConfirm && onConfirm($confirm); + closePopup($confirm); + } + var onEnterPress = function(e) { + if (e.keyCode == Keys.RETURN) { + e.stopImmediatePropagation(); + confirm(); + } + }; + $('.popup-text', $confirm).html(html); + var $primaryBtn = $('.popup-primary-btn', $confirm); + $primaryBtn.on('click', confirm); + if (onCancel) { + var cancel = function(){ onCancel($confirm); }; + var $cancelBtn = $('.popup-cancel-btn', $confirm); + $cancelBtn.on('click', cancel); + } + $(document).on('keydown', onEnterPress); + $confirm.one('popup:close', function() { + $primaryBtn.off('click', confirm); + if (onCancel) { + $cancelBtn.off('click', cancel); + } + $(document).off('keydown', onEnterPress); + $confirm.remove(); + }); + openPopup($confirm); + return $confirm; +} + +function showMedia(src, is_video, options) { + var media_html = (is_video ? '' : '
') + (options.add_media_html || ''); + var title_html = options.title ? '
' + options.title + '
' : ''; + var pagination_html = options.pagination ? '
' + (options.pagination.num + 1) + ' / ' + options.pagination.total + '
' : ''; + var $popup = $(''); + var media = { + $wrap: $('.media-popup-wrap', $popup), + $cover: $('.media-popup-cover', $popup), + $pwrap: $('.circle-progress-wrap', $popup), + $media: $('.media', $popup), + width: null, + height: null, + cover: null, + timeout: null, + checkMediaSize: function() { + if (is_video) { + var video = media.mediaEl; + if (video.videoWidth && video.videoHeight) { + media.width = video.videoWidth; + media.height = video.videoHeight; + media.$media.removeClass('ohide'); + media.$wrap.removeClass('file-loading').addClass('file-loaded'); + media.onResize(); + return; + } + } else { + var img = media.mediaEl; + if (img.naturalWidth && img.naturalHeight) { + media.width = img.naturalWidth; + media.height = img.naturalHeight; + media.onResize(); + return; + } + } + media.timeout = setTimeout(media.checkMediaSize, 50); + }, + onResize: function() { + if (!media.width || !media.height) { + return; + } + var w = media.width, h = media.height; + var de = document.documentElement; + var vw = de.clientWidth, vh = de.clientHeight; + vw -= parseInt($popup.css('paddingLeft') || 0) + + parseInt($popup.css('paddingRight') || 0) + + parseInt(media.$wrap.css('paddingRight') || 0); + vh -= parseInt($popup.css('paddingTop') || 0) + + parseInt($popup.css('paddingBottom') || 0) + + parseInt(media.$wrap.css('paddingBottom') || 0); + var min_vw = Math.max(320, vw); + var min_vh = Math.max(320, vh); + var sw = w / min_vw; + var sh = h / min_vh; + var s = Math.max(sw, sh); + var iw = w / s, ih = h / s; + if (!is_video) { + var can_zoom = (s > 1); + if (!can_zoom || $popup.hasClass('fullsize')) { + var iw = w, ih = h; + } + $popup.toggleClass('can-zoom', can_zoom); + } + var scroll_x = iw > vw; + var scroll_y = ih > vh; + $popup.toggleClass('scroll-x', scroll_x); + $popup.toggleClass('scroll-y', scroll_y); + media.$media.width(iw); + media.$media.height(ih); + }, + onLoad: function() { + if (!is_video) { + media.$media.css('background-image', "url('" + media.mediaEl.src + "')"); + media.$media.removeClass('ohide'); + media.$wrap.removeClass('ohide').removeClass('file-loading').addClass('file-loaded'); + media.onResize(); + } + }, + onZoomInOut: function(e) { + if (!is_video) { + var photo = media.$media.get(0); + var dx, dy, px, py, sx, sy, rect; + rect = photo.getBoundingClientRect(); + dx = e.clientX - rect.left; + dy = e.clientY - rect.top; + px = dx / rect.width; + py = dy / rect.height; + $popup.toggleClass('fullsize'); + media.onResize(); + rect = photo.getBoundingClientRect(); + dx = px * rect.width; + dy = py * rect.height; + sx = e.clientX - dx - rect.left - $popup.scrollLeft(); + sy = e.clientY - dy - rect.top - $popup.scrollTop(); + $popup.scrollLeft(-sx); + $popup.scrollTop(-sy); + } + }, + onKeysPress: function(e) { + if (e.keyCode == Keys.LEFT) { + media.onPrevMedia(e); + } else if (e.keyCode == Keys.RIGHT) { + media.onNextMedia(e); + } else if (e.keyCode == Keys.UP) { + media.onPrevMediaGroup(e); + } else if (e.keyCode == Keys.DOWN) { + media.onNextMediaGroup(e); + } + }, + onPrevMedia: function(e) { + if (options.pagination && options.pagination.prev) { + e.preventDefault(); + e.stopImmediatePropagation(); + closePopup($popup); + options.pagination.prev(); + } + }, + onNextMedia: function(e) { + if (options.pagination && options.pagination.next) { + e.preventDefault(); + e.stopImmediatePropagation(); + closePopup($popup); + options.pagination.next(); + } + }, + onPrevMediaGroup: function(e) { + if (options.pagination && options.pagination.prevGroup) { + e.preventDefault(); + e.stopImmediatePropagation(); + closePopup($popup); + options.pagination.prevGroup(); + } + }, + onNextMediaGroup: function(e) { + if (options.pagination && options.pagination.nextGroup) { + e.preventDefault(); + e.stopImmediatePropagation(); + closePopup($popup); + options.pagination.nextGroup(); + } + } + }; + if (is_video) { + media.mediaEl = media.$media.get(0); + } else { + media.mediaEl = new Image(); + media.mediaEl.onload = media.onLoad; + media.$wrap.on('click', media.onZoomInOut); + } + if (options.pagination) { + $('.media-prev-btn', $popup).on('click', media.onPrevMedia); + $('.media-next-btn', $popup).on('click', media.onNextMedia); + $(document).on('keydown', media.onKeysPress); + } + $(window).on('resize', media.onResize); + media.checkMediaSize(); + $popup.one('popup:close', function() { + if (!is_video) { + media.$media.off('click', media.onZoomInOut); + } + if (options.pagination) { + $('.media-prev-btn', $popup).off('click', media.onPrevMedia); + $('.media-next-btn', $popup).off('click', media.onNextMedia); + $(document).off('keydown', media.onKeysPress); + } + $(window).off('resize', media.onResize); + clearTimeout(media.timeout); + $popup.remove(); + }); + openPopup($popup, { + closeByClickOutside: '.popup-no-close', + }); + if (options.width && options.height && options.cover) { + media.width = parseInt(options.width); + media.height = parseInt(options.height); + media.cover = options.cover; + media.$cover.css('background-image', "url('" + media.cover + "')").removeClass('ohide'); + media.onResize(); + } + setTimeout(function() { + media.$pwrap.get(0).classList.remove('ohide'); + }, 250); + media.mediaEl.src = src; + return $popup; +} + +function showPhoto(image_src, options) { + showMedia(image_src, false, options); +} + +function showVideo(video_src, options) { + showMedia(video_src, true, options); +} + +function showToast(html, delay) { + var $toast = $('
'); + $('.toast', $toast).html(html); + var to, close = function() { + clearTimeout(to); + $toast.fadeHide(); + setTimeout(function() { $toast.remove(); }, 200); + }; + $toast.appendTo('body').redraw().fadeShow(); + $(document).one('mousedown touchstart', close); + to = setTimeout(close, delay || 2000); +} + +function l(lang_key, params, def_value) { + if (typeof params === 'string') { + def_value = params; + params = {}; + } + params = params || {}; + var value = l._keys[lang_key] || def_value || lang_key; + value = value.replace(/\{\{([A-Za-z_\-\d]{1,32}):(.+?)\}\}/g, function(lang_value, token, options) { + var number = +params[token] || 0; + var numeric_options = options.split('|'); + var i; + if (number == 1) i = 0; + else i = 1; + if (typeof numeric_options[i] === 'undefined') { + i = 1; + } + var numeric_option = numeric_options[i] || '#'; + return numeric_option.replace(/#/g, number); + }); + value = value.replace(/\{([A-Za-z_\-\d]{1,32}):(.{1,256}?)\}/g, function(lang_value, token, options) { + var number = +params[token] || 0; + var numeric_options = options.split('|'); + var i; + if (!number) i = 0; + else if (number == 1) i = 1; + else i = 2; + if (typeof numeric_options[i] === 'undefined') { + i = 0; + } + var numeric_option = numeric_options[i] || '#'; + return numeric_option.replace(/#/g, number); + }); + for (var param in params) { + value = value.split('{' + param + '}').join(params[param]); + } + return value; +} +l._keys = {}; +l.add = function(lang_values) { + for (var lang_key in lang_values) { + l._keys[lang_key] = lang_values[lang_key]; + } +} + +function redraw(el) { + el.offsetTop + 1; +} + +$(document).on('keydown', function(e) { + if (e.keyCode == Keys.ESC && Popups.length > 0) { + var last_popup_id = Popups[Popups.length - 1]; + var $popup = getPopupById(last_popup_id); + if ($popup && !$popup.hasClass('popup-ignore-esc')) { + e.stopImmediatePropagation(); + e.preventDefault(); + closePopup($popup); + } + } +}); + +$(document).on('keydown', 'textarea', function(e) { + if (e.keyCode == Keys.RETURN && (e.metaKey || e.ctrlKey)) { + $(this.form).submit(); + } +}); + +(function($) { + function onTextRippleStart(evt) { + var e = evt.originalEvent; + if (document.activeElement === this) return; + var rect = this.getBoundingClientRect(); + if (e.type == 'touchstart') { + var clientX = e.targetTouches[0].clientX; + } else { + var clientX = e.clientX; + } + var ripple = this.parentNode.querySelector('.textfield-item-underline'); + var rippleX = (clientX - rect.left) / this.offsetWidth * 100; + ripple.style.transition = 'none'; + redraw(ripple); + ripple.style.left = rippleX + '%'; + ripple.style.right = (100 - rippleX) + '%'; + redraw(ripple); + ripple.style.left = ''; + ripple.style.right = ''; + ripple.style.transition = ''; + } + function onRippleStart(evt) { + var e = evt.originalEvent; + var rippleMask = this.querySelector('.ripple-mask'); + if (!rippleMask) return; + var rect = rippleMask.getBoundingClientRect(); + if (e.type == 'touchstart') { + var clientX = e.targetTouches[0].clientX; + var clientY = e.targetTouches[0].clientY; + } else { + var clientX = e.clientX; + var clientY = e.clientY; + } + var rippleX = (clientX - rect.left) - rippleMask.offsetWidth / 2; + var rippleY = (clientY - rect.top) - rippleMask.offsetHeight / 2; + var ripple = this.querySelector('.ripple'); + ripple.style.transition = 'none'; + redraw(ripple); + ripple.style.transform = 'translate3d(' + rippleX + 'px, ' + rippleY + 'px, 0) scale3d(0.2, 0.2, 1)'; + ripple.style.opacity = 1; + redraw(ripple); + ripple.style.transform = 'translate3d(' + rippleX + 'px, ' + rippleY + 'px, 0) scale3d(1, 1, 1)'; + ripple.style.transition = ''; + + function onRippleEnd(e) { + ripple.style.transitionDuration = '.2s'; + ripple.style.opacity = 0; + document.removeEventListener('mouseup', onRippleEnd); + document.removeEventListener('touchend', onRippleEnd); + document.removeEventListener('touchcancel', onRippleEnd); + } + document.addEventListener('mouseup', onRippleEnd); + document.addEventListener('touchend', onRippleEnd); + document.addEventListener('touchcancel', onRippleEnd); + } + $.fn.initRipple = function() { + return this.map(function(){ + $(this).off('.ripple'); + $(this).on('mousedown.ripple touchstart.ripple', '.textfield-item input.form-control', onTextRippleStart); + $(this).on('mousedown.ripple touchstart.ripple', '.ripple-handler', onRippleStart); + return this; + }); + }; + $.fn.destroyRipple = function() { + return this.map(function(){ + $(this).off('.ripple'); + return this; + }); + }; +})(jQuery); +$(document).initRipple(); + +Function.prototype.pbind = function() { + var func = this, args = Array.prototype.slice.apply(arguments); + return function() { + return func.apply(this, args.concat(Array.prototype.slice.apply(arguments))); + } +}