#tinymce{display:block;}
html, body
{
    padding: 0;
    margin:0;
    width: 100%;
    height: 100%;
    background: #fff;
    font-family: "Rubik2", sans-serif;
    font-weight: 300;
    color:#2E353B;
}
.light
{
    font-weight: 300;
}
.regular
{
    font-weight:400;
}
.medium
{
    font-weight: 500;
}
.bold
{
    font-weight: 700;
}
body
{
    display: grid;
    /*grid-template-columns: auto 477px;*/
    grid-template-columns: auto 889px 477px auto;
    grid-template-rows: 161px auto 137px;
    grid-template-areas: "header header news_block news_block" "content content right_block right_block" "footer footer footer footer";
}

b
{
    font-weight: 500;
}
#content
{
    grid-area:content;

    display: block;
    text-align: right;
    padding:36px 70px 46px 50px;
    font-size:16px;
    line-height: 19px;
}
#news_block
    {
        grid-area: news_block;
    }

#content.no_right
{
    grid-column: span 4;
}

#content p
{
    display:inline-block;
    padding-right: 0px;
    margin:8px 0;
}

.full-text p
{
    margin:15px 0;
}
/*.spisok
{
    display: block;
    position: relative;
    margin:-10px 0;
}*/
.grey_cloud
{
    background: #E5E5EA;
    margin-left: 51px;
    margin-right: 11px;
}
.pink_cloud
{
    border-radius: 1px;
    border-radius: 34px;
    margin-left: 10vw;
    position: relative;
    margin:5px 0px 6px 83px;
    border:1px solid #FF0088;
    font-weight: 400;
}

.pink_cloud:before
{
    content: " ";
    display: block;
    position: absolute;
    right: -12px;
    bottom: -1px;
    background-image: url('/images/message_pink_right_1366.png');
    width: 48px;
    height: 39px;

}
.grey_cloud:before
{
    content: " ";
    display: block;
    position: absolute;
    left: -10px;
    bottom: 0px;
    background-image: url('/images/message_gray_left_1366.png');
    width: 48px;
    height: 36px;

}
.pink_cloud
{
    display: inline-block;
    position: relative;
    margin-right: 169px;
    color:#0C172A;
    font-size:24px;
    line-height: 28px;
    padding: 21px 27px;
    text-align: left;
}

.grey_cloud
{
    display: inline-block;
    position: relative;
    font-weight: 400;
    color:#0C172A;
    border-radius: 30px;
    font-size:24px;
    line-height: 28px;
    padding: 21px 27px;
    text-align: left;
}


.label
{
    display: block;
    font-size:22px;
    line-height: 28px;
    font-weight: 300;
    font-family: ff-good-web-pro, sans-serif;
    margin-left: 51px;
    margin-right: -0px;
}
.ms 
{
    display: none;
}
a, #content .event_item_incolomn a
{
    color:#2E353B;
    text-decoration: none;
}
#header
{
    display: block;
    grid-area: header;
    box-sizing: border-box;
    padding:30px 20px 30px 50px;
    text-align: right;
    border-bottom: 1px solid #850078;

}

#header .stopper
{
    display: inline-block;
    width: 819px;
    text-align: left;
}

#header #logo
{   
    display: block;
    text-decoration: none;
    color: #FF0088;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 30px;
    line-height: 43px;
    text-align: left;
    letter-spacing: 1.5px;
    padding-bottom: 30px;
}
#header #logo_img
{
    display: block;
    float:left;
    width:101px;
    padding-right: 30px;
}
#right_colomn
{
    display: block;
    grid-area:right_block;
}

#content .stopper
{
    display: inline-block;
    width: 768px;
    text-align: left;
}

#content .stopper.no_right
{
    width: 1243px;
    display: block;
    margin: 0 auto;
}

#content a,.arrow_link:after 
{
    color: #0881FE;
}

#content a
{
    text-decoration: underline;
}
#right_colomn
{
    border-left: 1px solid #850078;
}
ul.menu
{
    list-style-type: none;
    padding:0;
    margin:0;
} 
ul.menu li
{
    display: inline-block;
    padding: 0 11px 0 0;
}
#header ul.menu a
{
    display: inline-block;
    padding: 9px 13px;
    color:#2E353B;
    font-family: ff-good-web-pro, sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#header ul.menu a.selected
{
    color:#fff;
    background: #850078;
    font-weight: 300;
}
#news_block
{
    background: linear-gradient(148deg, #55006A 0%, #840047 100%);
}

#news_block .stopper
{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap:27px;
    box-sizing: border-box;
    width: 409px;
}
 
#main_colomn .stopper
{
    width: 409px;
    display: block;
}

#main_colomn,#news_block
{
    padding: 24px 34px;   
}
#main_colomn h2
{
    text-transform: uppercase;
    font-family: ff-good-web-pro, sans-serif;
    font-weight: 600;
    margin:9px 0;
    font-size:22px;
    line-height: 27px;
    letter-spacing: 1.1px;
}
.news_item_inhead,.event_item_incolomn 
{
    display: block;
    font-weight: 300;
    font-size: 20px;
    line-height: 22px;
    letter-spacing: 0px;
}

.news_item_inhead i,.event_item_incolomn i
{
    font-size: 15px;
}

.event_item_incolomn
{
    margin-bottom: 15px;
}

#content .event_item_incolomn
{
    margin: 15px 0 0;
}

.event_item_incolomn .speaker
{
    display: block;
    position: relative;
    font-size: 14px;
    font-weight: 700;
}
.news_item_inhead span,.event_item_incolomn span.date
{
    display: block;
    text-transform: uppercase;
    color: #FC5AAF;
}

#content span.date, #content span.name
{
    display: block;
    text-transform: uppercase;
    color: #FC5AAF;
    font-size: 20px;
    line-height: 22px;
    letter-spacing: 1px;
    font-weight: 300;
}

#content span.name
{
    color: #2E353B;
}

.full-text
{
    font-weight: 300;
    font-size: 16px;
    line-height: 20px;
    color: #2E353B;
    padding-top: 26px;
}

.news_item_inhead a
{
    display: block;
    text-decoration: none;
    color:#fff;
}
.event_item_incolomn a
{
    display: block;
    text-decoration: none;
}
h1
{
    display: block;
    font-size: 52px;
    line-height: 72px;
    font-family: ff-good-web-pro, sans-serif;
    text-transform: uppercase;
    font-weight: 300;
    margin:0;
    margin: 0;
    padding: 0;
}
.all_events
{
    display: block;
    position: relative;
    color:#0881FE;
    font-size:15px;
    line-height: 15px;
    text-align: right;
    margin:15px 0 30px 30%;
}

.all_events i
{
    font-size: 12px;
}

/*----------------------------- Подвал ------------------------------------*/
#footer
{
   
    grid-area:footer;
    width:100%;
    box-sizing: border-box;
    color:#fff;
    padding: 17px 0 23px;
    /*padding:27px 51px 23px;*/
    background: linear-gradient(115deg, #55006A 0%, #840047 100%);
}

#footer .stopper
{
     
    display: grid;
    grid-template-columns: 50px 1fr auto 120px;
    width: 1281px;
    padding-left: 1%;
    margin: 0 auto;
}
#footer a 
{
    color:#E5E5EA;
}
#footer_menu a
{
    display: block;
    text-transform: uppercase;
    font-family: ff-good-web-pro, sans-serif;
    color: #E5E5EA;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 1px;
    font-weight: 300;
    padding: 10px 12px;
    border:1px solid transparent;
}

#footer_menu a.selected
{
    border-color: #E5E5EA;
}

#footer #home
{
    font-size: 24px;
    padding-top: 11px;
}
#footer_icons
{
    text-align: right;
    padding-top: 11px;
}
#footer_icons a
{
    font-size: 24px;
}
#copy
{
    grid-column:span 4;
    color:#E5E5EA;
    font-size: 16px;
    line-height: 19px;
    padding-top: 40px;
    font-weight: 300;
}

.olymps
{
    display: block;
}

.olymps .row
{
    display: grid;
    grid-template-columns: repeat(13,1fr);
    grid-gap: 12px;
    margin-bottom: 12px;
}

.olymps .row:nth-child(2n+1) a:first-child, .olymps .row:nth-child(2n) a:last-child
{
    grid-column: span 7;
}

.olymps .row:nth-child(2n+1) a:last-child, .olymps .row:nth-child(2n) a:first-child
{
    grid-column: span 6;
}

#content .olymps .row.one-block a
{
    grid-column: span 13 !important;
}

#content .olymps .row.one-block a.big
{
    line-height: 40px;
}

#content .olymps .row.one-block a.big span
{
    max-width: 420px;
}

#content .olymps .row a
{
    display: grid;
    background-color: #fff;
    box-shadow: 0px 6px 24px #00000017;
    grid-template-columns: auto 42px;
    grid-gap: 10px;
    height: auto;
    font-size: 22px;
    line-height: 25px;
    font-weight: 300;
    height: 110px;
    color: #2E353B;
    border-radius: 8px;
    padding: 14px 20px;
    text-decoration: none;
    letter-spacing: 1.1px;
    box-sizing: border-box;
    text-transform: uppercase;
}

#content .olymps .row a.big
{
    font-size: 24px;
    line-height: 27px;
}

#content .olymps .row a span
{
    box-sizing: border-box;
}

#content .olymps .row a div
{
    display: flex;
    align-items: flex-end;
}

#content .olymps .row a div img
{
    max-width: 100%;
}

.types
{
    display: block;
}

#content .types a
{
    text-transform: uppercase;
    display: inline-block;
    font-size: 20px;
    line-height: 28px;
    font-family: ff-good-web-pro, sans-serif;
    letter-spacing: 1px;
    font-weight: 600;
    margin-right: 50px;
    color:#0C172A;
    text-decoration: none;
    padding: 8px 15px;
    border-bottom: 2px solid #F889C8;
}

.types a.selected
{
    border: 2px solid #F889C8;   
}

.photoblock
{
    display: grid;
    grid-template-columns: 481px auto;
    grid-gap: 20px;
    margin: 15px 0;
}

.photoblock img
{
    max-width: 100%;
    border:1px solid #E5E5EA;
    border-radius: 2px;
}

.photolabel
{
    color: #979BA3;
    font-size: 20px;
    line-height: 24px;
}

.padding
{
    display: block;
    height: 18px;
}

#content .full-text a
{
    color: #2E353B;
}

#content .e-speaker
{
    font-weight: 500;
    text-decoration: none;
}

#content .e-speaker i
{
    font-size: 0.7em;
}

.upper
{
    display: none;
    box-sizing: border-box;
    border-radius: 21px;
    width: 42px;
    height: 42px;
    background: #B9B9B9;
    color:#fff;
    position: fixed;
    bottom: 186px;
    right: 46px;
    text-align: center;
    line-height: 48px;
    font-size: 25px;
}

#content .traditional
{
    display: grid;
    grid-template-columns:210px 628px auto;
    padding-top: 24px;
}

#content .traditional .t-menu
{
    padding-right: 0px;
}

#content .traditional .t-right
{
    padding-left: 34px;
}

#content .traditional .t-right p
{
    margin-top: 0;
}


#content .traditional .t-menu a
{
    display: block;
    font-family: 'ff-good-web-pro';
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 300;
    color: #0C172A;
    text-decoration: none;
    margin-bottom: 10px;
}

#content .traditional .t-menu a.selected
{
    font-weight: 700;
    color: #850078;
}
#content .traditional .t-menu a:hover, #header ul.menu a:hover
{
    color:#850078;
}
#header ul.menu a.selected:hover
{
    color:#fff !important;
}

#content .c-title,  #content .t-content h2
{
    color: #2E353B;
    font-family: 'ff-good-web-pro';
    font-size: 20px;
    line-height: 20px;
    text-transform: uppercase;
    text-decoration: none;
    font-weight: 700;
    letter-spacing: 1px;
    display: block;
}

#content .t-content .c-title, #content .t-content h2, #content h4
{
    margin-top:30px; 
    padding-bottom: 10px;
    margin-bottom: 0;
}

#content .t-right p
{
    margin: 0;
}

#content .t-right .c-title
{
    margin-top:30px; 
}

#content .t-right .all_events
{
    text-decoration: none;
}

#content .t-content>.c-title:first-child, #content .t-content>*:first-child, #content .t-content span+p, #content h4+p, #content .t-content .c-title+p, #content .t-content .c-title+p span.spisok 
{
    margin-top: 0;
}

#content .t-content p+.c-title
{
    margin-top: 14px;
}

#content .c-title.link:after
{
    content: "\e906";
    font-family: 'icomoon' !important;
    font-size: 16px;
    padding-left: 5px;
}

#content span.event_item_incolomn a:after
{
    content: "\e906";
    font-family: 'icomoon' !important;
    font-size: 16px;
    padding-left: 5px;
}

#content span.event_item_incolomn .date, .violet
{
    color: #850078;
    font-weight: 500;
}

#content .t-content
{
    padding-right: 60px;
    line-height: 20px;
}

.hidden
{
    display: none;
}

.arrow_link
{
    text-decoration: none;
    font-family: 'ff-good-web-pro';
    font-weight: 500;
}

#content .arrow_link
{
    font-family: rubik, sans-serif;
    font-weight: 300;
}

#content .arrow_link, #content .t-content .hider
{
    font-family: 'rubik';
    font-weight: 400;
}

.arrow_link.p24
{
    font-size: 24px;
}

.arrow_link.black, #content .arrow_link.black a
{
    font-family: 'ff-good-web-pro';
    text-decoration: none;
    color: #2E353B;
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0.8px;
}

#content a.arrow_link, #content .arrow_link a
{
    text-decoration: none;
}

.arrow_link:after
{
    content: "\e906";
    font-family: 'icomoon' !important;
    font-size: 0.8em;
    line-height: 1em;
    display: inline-block;
    padding-left: 5px;
}

#content a.hider
{
    display: block;
    font-size: 15px;
    text-decoration: none;
    font-weight: 500;
    font-family: 'ff-good-web-pro';
    margin-top: -0.5em;
}

#content a.hider i
{
    font-size: 0.8em;
}

.cities
{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    padding: 0px 0 0px;
}

.cities ul
{
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.classes-wrapper
{
    display: block;
    height: 79px;
    padding: 1px 0;
}
#classes
{
    display: block;
    width: 100%;
    /*padding: 26px 0 17px;*/
    margin:26px -16px 33px;
    position: relative;
    /*background: #fff;*/
}

#prisers_list
{
    position: relative;
}
#classes a.anchor 
{
    display: inline-block;
    padding:9px 15px;
    font-family: 'ff-good-web-pro';
    font-weight: 600;
    font-size:18px;
    line-height:18px;
    letter-spacing: 0.9px;
    border-bottom: 2px solid #F889C8;
    margin-right: 15px;
    color: #2E353B;
    text-decoration: none;
}
#classes a.selected
{
    border: 2px solid #F889C8;
}
h3
{
    font-family: 'ff-good-web-pro';
    font-weight: 600;
    font-size:20px;
    line-height:20px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 10px;
    margin-top:30px;
}
h4
{
    font-family: 'ff-good-web-pro';
    font-weight: 600;
    font-size:20px;
    line-height:20px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin:0 0 10px;
}
h5
{
    font-weight: 500;
    font-size:16px;
    line-height:20px;
    margin-bottom: 10px;
}
.t-content #prizes_text h3
{
    margin-top:30px;
}
.t-content #prizes_text h4
{ 
    margin:26px 0 6px;
}

#select_ol_period 
{
    display: block;
    position: relative;
    margin-top: 16px;
}
#select_ol_period a.select_a
{
    display: block;
    position: relative;
    margin-left:-16px;
    padding:14px 13px 14px 16px;
    box-shadow: 0px 6px 24px #00000017;
    border: 1px solid #EBEBEB;
    border-radius: 8px;
    z-index: 0;
}
#select_ol_period a.select_a,#select_ol_period #all_ol_periods a.period_link
{
    font-weight: 300;
    font-size:22px;
    line-height: 25px;
    letter-spacing: 1.1px;
    color: #2E353B;
    text-decoration: none;
}
#select_ol_period a.select_a .icon-arrow_bottom
{
    display: block;
    float:right;
    font-size:18px;
    margin-top: 4px;
}
#select_ol_period #all_ol_periods
{
    display: none;
    position: absolute;
    background: #fff;
    width: calc(100% + 16px);
    top:55px;
    grid-template-columns: auto 48px;
    margin-left:-16px;
    box-shadow: 0px 6px 24px #00000017;
    border: 1px solid #EBEBEB;
    border-radius: 8px;
    max-height: 212px;
    padding:14px 0;
    box-sizing: border-box;
    z-index: 2;
}
#select_ol_period #all_ol_periods a.period_link
{
    display: block;
    padding:1px 16px;
}
#select_ol_period #all_ol_periods a.period_link.selected, #select_ol_period #all_ol_periods a.period_link:hover
{
    background: #0881FE66;
}
#all_ol_periods_list
{
    display: inline-block;
    float:left;
    max-height: 184px; 
    overflow: auto;
}
#scroll_all_ol_periods
{
    display: block;
    position:relative;
    width:48px;
    border-left: 1px solid #EBEBEB;
    height: calc(100% + 24px);
    margin:-12px 0;
}
#content a.scroll-arrow 
{
    display: block;
    position: absolute;
    width:100%;
    text-decoration: none;
    padding:12px 0;
}
.scroll-arrow i
{
    display: block;
    text-align: center;
    font-size:18px;
}
.to-top i 
{
    transform: rotate(180deg);
}   
.to-top 
{
    top:0;
}
.to-bottom
{
    bottom:0;
}
.t-content .event_item_incolomn
{
    margin: 30px 0 -6px !important;
}
.t-content p:first-child span
    {
        margin-top: 0 !important;
    }
#content .cities_links 
{
    padding-bottom: 20px;
}
#content .cities_links a
{
    font-size:16px;
    line-height:20px;
    letter-spacing: 0px;
    text-decoration: none;
}
#content .cities_links a:hover
{
    text-decoration: underline;
}
.cities_links a i
{
    font-size: 12px;
}
.city_info_div
{
    display: block;
    position: relative;
} 
.city_info_div h3
{
    margin:14px 0 16px;
}

.city_info_with_icons
{
    display: grid;
    grid-template-columns: 24px auto;
    padding-bottom: 16px;
}
.city_info_with_icons i
{
    display: inline-block;
    position: relative;
    font-size: 24px;
    color:#850078;
}
.city_info_with_icons i.icon-info
{
    color:#C17DBA;
}
.city_info_with_icons font 
{
    padding:4px 0 0 12px;
}
.padding
{
    display: block;
    height: 25px;
}
.olymp_link_detail
{
    display: block;
    position:relative;
    font-size:24px;
    line-height:28px;
    font-family: ff-good-web-pro, sans-serif;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-decoration: none !important;
    text-transform: uppercase;
    margin: 14px 0 14px;
}
.olymp_link_detail i 
{
    font-size: 18px;
}
.olymp_detail_h1
{
    margin-top:-30px;
    line-height: 60px;
}
.archive_year_links
{
    display: block;
    margin-top:22px;
}
.small_olymp_h1
{
    text-transform: none;
    font-size:42px;
    line-height: 58px;
}
.for_small_h1
{
    display: block;
    text-transform: uppercase;
    color:#FF0088;
    margin-top:-10px;
    font-size:12px;
    line-height:20px;
    font-family: ff-good-web-pro, sans-serif;
    font-weight: 600;
}
.back
{
    display: block;
    position: relative;
    margin-top: -24px;
    font-size:20px;
    text-decoration: none !important;
}
.back i 
{
    display: inline-block;
    font-size:14px;
    transform: rotate(180deg);
}
#content table 
{
    width:100%;
    border-collapse: collapse;
}
#content table thead tr, #content table caption
{
    font-family: ff-good-web-pro, sans-serif;
    background: #fff;
    font-weight: 600 !important;
    font-size:18px;
}
#content table thead tr .violet
{
    font-weight: 600 !important;
}
#content table tbody tr:nth-child(odd)
{
    background: #EBEBEB;
    text-align: left;
}

#content table tbody tr:nth-child(even)
{
    background: #F6F6F6;
}
#content table td 
{
    padding:4px;
    border:1px solid #fff;
}
strong 
{
    font-weight: 500;
}
#content .t-content h2, #content .t-content h3, #content .t-content h4
{

}
#content .t-content h2
{
    margin-bottom:0;
}