diff --git a/data/core.telegram.org/api/discussion.html b/data/core.telegram.org/api/discussion.html deleted file mode 100644 index d1181b0f5f..0000000000 --- a/data/core.telegram.org/api/discussion.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - - 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 deleted file mode 100644 index 5977941f94..0000000000 --- a/data/themes.telegram.org/css/telegram.css +++ /dev/null @@ -1,4872 +0,0 @@ -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 deleted file mode 100644 index 8b9470bbc9..0000000000 --- a/data/themes.telegram.org/js/main-aj.js +++ /dev/null @@ -1,1148 +0,0 @@ -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))); - } -}