* { box-sizing: border-box; }
*:focus { outline-color: #fa0; }
body { font-family: 'Montserrat', sans-serif!important; background: #fff; padding: 0; overflow-y: scroll; font-size: 16px; min-height: 100vh; }
a { transition: all 0.1s ease-out; text-decoration: none; color: #0180ca; border-bottom: 1px solid #0180ca; }
a:hover { color: #27b0ff; border-bottom-color: #27b0ff; text-decoration: none; }
a:focus { text-decoration: none; color: #0180ca; border-bottom: 1px solid #0180ca; }
.noline a, a.noline { border-bottom: none!important; }
h1, h2, h3, .title { font-family: 'Montserrat', serif!important; }
h1 { font-size: 40px; margin: 0; font-weight: bold; }
h1 a { text-decoration: none; border-bottom-width: 2px; }
h1 a:hover { text-decoration: none; }
h2 { font-size: 28px; margin: 40px 0 10px; font-weight: bold; }
h3 { font-size: 20px; margin: 40px 0 10px; font-weight: bold; }
table { border-collapse: collapse; }
td { vertical-align: top; padding: 0; }
input[type="text"], input[type="password"], textarea, select { width: 280px; padding: .8em 1em; border: 1px solid #ccc; color: #000; font-size: 16px; border-radius: 5px; background: #fff; margin: 0; box-shadow: 2px 2px 1px #0001 inset; }
input[type="text"]:focus, input[type="password"]:focus, textarea:focus, select:focus { border: 1px solid #999; box-shadow: 2px 2px 5px #0002, 2px 2px 0 #0001 inset; outline: none; }
input::-moz-placeholder, textarea::-moz-placeholder { color: #999; }
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #999; }
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder { color: #ccc; }
input:focus::-webkit-input-placeholder, textarea:focus::-webkit-input-placeholder { color: #ccc; }
input[disabled], textarea[disabled] { background: #ddd; box-shadow: none; }
select { cursor: pointer; padding: .5em; }
select[size] { padding: 0; }
option { padding: 3px 10px; font-size: 16px; }
p { margin-top: 1em; }
p:first-child { margin-top: 0; }
.highlight { color: #493f9f; }
/* input[type="submit"], input[type="button"], .button { text-align: center; border-radius: 5px; background: linear-gradient(to top, #0f2d5e, #2f81ff); border: none; padding: .58em 1em; color: #fff; font-size: 18px; display: inline-block; text-decoration: none; } */
input[type="submit"], input[type="button"], .button { font-family: 'Montserrat', serif !important; text-align: center; border-radius: 5px; font-weight: bold; background: linear-gradient(to bottom, #27b0ff, #00436a ); border: none; padding: 1em 1.2em 1em 1em; color: #fff; font-size: 14px; display: inline-block; text-decoration: none; text-shadow: 1px 2px 0 #0002; text-transform: uppercase; box-shadow: 1px 2px 3px #0004, 0 2px 0 #fff4 inset, 0 -2px 0 #0004 inset !important; font-style: italic; }
input[type="submit"]:hover, input[type="button"]:hover, .button:hover { background: linear-gradient( to bottom , #27c2ff, #00516a  ); outline: none; border: none; color: #fff; text-decoration: none; }
input[type="submit"]:focus, input[type="button"]:focus, .button:focus { color: #fff; text-decoration: none; border: none; }
input[type="submit"].loading, input[type="button"].loading, .button.loading { background: url(/i/ajax-bg-50.gif) #eee; color: rgba(0,0,0,0.2); cursor: progress; outline: none; }
input[type="submit"].disabled, input[type="button"].disabled, .button.disabled { background: #eee; color: #ccc; border-bottom-color: #ccc; cursor: default; outline: none; }
input[type="submit"].gray, input[type="button"].gray, .button.gray { background: linear-gradient(to top, #6a6a6a, #ababab); }
input[type="submit"].gray:hover, input[type="button"].gray:hover, .button.gray:hover { background: linear-gradient(to top, #777, #c4c4c4); }
input[type="submit"].silver, input[type="button"].silver, .button.silver { background: linear-gradient(to top, #bbb, #eee); color: #000; text-shadow: 0 -2px #fff3; }
input[type="submit"].silver:hover, input[type="button"].silver:hover, .button.silver:hover { background: linear-gradient(to top, #ccc, #f8f8f8); }
input[type="submit"].green, input[type="button"].green, .button.green { background: #00a72a; }
input[type="submit"].green:hover, input[type="button"].green:hover, .button.green:hover { background: #40b711; }
input[type="submit"].red, input[type="button"].red, .button.red { background: #de2525; color: #fff; }
input[type="submit"].red:hover, input[type="button"].red:hover, .button.red:hover { background: #ff4b2c; color: #fff; }
input[type="submit"].plain, input[type="button"].plain, .button.plain { padding: 15px; border-radius: 5px; line-height: 130%; background: none; color: #0180ca; box-shadow: none!important; font-family: 'Montserrat', sans-serif!important; font-weight: normal; display: inline-block; text-shadow: none; font-style: normal; text-transform: none; font-size: 16px; }
.plain-s { line-height: 40px!important; min-height: 40px; padding: 0 12px!important; font-size: 16px!important; }
.plain-xs { line-height: 30px!important; min-height: 30px; padding: 0 10px!important; font-size: 14px!important; }
input[type="submit"].plain:hover, input[type="button"].plain:hover, .button.plain:hover { background-color: #e6f5ff!important; color: #0180ca; }
.fb_login_btn { width: 500px; font-size: 20px; text-transform: uppercase; border-bottom-color: #283f6f; padding: 15px 0 12px 32px; background: url(/i/fb24w.png) no-repeat 140px 50% #3B5998; }
.fb_login_btn:hover { background: url(/i/fb24w.png) no-repeat 140px 50% #508baf; border-bottom-color: #376886; }
.head-button { display: inline-block; padding: 0 20px; line-height: 45px; background: #00a72a; color: #fff; border-radius: 5px; text-decoration: none; font-size: 20px; vertical-align: middle; margin-left: 30px; border-bottom: 3px solid #008221; font-weight: bold; }
.head-button:hover { background: #40b711; border-bottom: 3px solid #3d8605; color: #fff; }
.head-button:focus { color: #fff; }
.button-s { font-size: 14px; padding: 19px 18px 19px 17px; border-radius: 0; background: #fea; color: #650; }
.button-s:hover { background: #fe6; color: #630; }
.form { margin-top: 50px; width: 100%; }
.flabel { vertical-align: top; padding: 16px 15px 20px 0; width: 200px; color: #666; }
.value { padding: 0 0 20px 0; text-align: left; }
.file-input { margin: 9px 0 15px; }
input.date { transition: all 0.2s ease-out; background: url(/i/calendar.png) no-repeat 7px 50%!important; padding-left: 40px; text-align: center; cursor: pointer; }
input.date:hover { background-color: #e4eff9!important; }
/*label { font-weight: normal; font-size: 16px; color: #666; background: linear-gradient(to bottom, #fff 0%, #eee 100%); padding: 6px 12px 9px; border-top: 1px solid #eee; border-radius: 5px; cursor: pointer; margin: 0; }
label span { margin-left: 5px; vertical-align: middle; }
label input { vertical-align: middle; }
label.disabled { background: #fff; border-color: #fff; color: #999; cursor: progress!important; }
label.disabled * { cursor: progress!important; }*/
label { cursor: pointer; font-weight: normal; }
label input { cursor: pointer; }
label.cbox { font-weight: normal; color: #666; background: #eee; padding: 8px 15px 11px; border-radius: 5px; cursor: pointer; margin: 0; display: inline-block; }
label.cbox span { margin-left: 5px; vertical-align: middle; }
label.cbox input { vertical-align: middle; }
.form-center { width: auto; margin: 50px auto 0; } 
.form-center .flabel { text-align: right; }
.slabel { margin: 15px 0 5px; color: #999; font-size: 12px; }
.result-ok { display: none; background: url(/i/ok64.png) no-repeat 10px 10px #a9eca9; color: #060; padding: 20px 10px 10px 84px; border-radius: 5px; font-size: 16px; min-height: 84px; }

/*.cont { max-width: 1120px; width: 100%; padding: 0 20px; margin: 0 auto; }*/
.cont { max-width: 1120px; width: 100%; padding: 0 0px; margin: 0 auto; }
.errors { border-radius: 3px; padding: 20px; font-size: 20px; border: 1px solid #e69f9f; text-align: center; background: #ffe0e0; color: #e22727; margin-bottom: 40px; }
.notice { border-radius: 3px; padding: 20px; font-size: 20px; border: 1px solid #5eca5e; text-align: center; background: #c6fdc6; color: #090; margin-bottom: 40px; }
.body { padding: 30px 0; background: #fff; }
.menu { width: 240px; padding-left: 40px; border-left: 1px solid #eee; }
.logo { font-size: 30px; display: none; }
.menu .info { font-size: 12px; color: #999; padding-left: 15px; margin: 20px 0 5px; }
.menu .name { font-size: 16px; color: #000; padding-left: 15px; margin-bottom: 30px; }
.menu a.item { display: block; padding: 5px 15px; font-size: 14px; }
.menu a.item.active { background: #eee; color: #000; text-decoration: none; border-radius: 0 3px 3px 0; }
.menu a.item.margin { margin-top: 20px; }
.menu .general a { font-size: 18px; padding: 7px 15px; }
.info-block { background: #eee; border-radius: 3px; padding: 10px 15px; border: 1px solid #ccc; }

.top-menu { float: right; text-align: right; font-size: 16px; height: 70px; line-height: 70px; margin-right: -15px; }
.top-menu a { color: #999; border-bottom: none; padding: 0 15px; display: inline-block; height: 70px; }
.top-menu a:hover { background-color: #fff1; }

.left-menu { width: 200px; margin-top: 20px; border-radius: 3px; overflow: hidden; border: 1px solid #1e64d0; }
.left-menu a { display: block; border-bottom: 1px solid #c9e0ff; background: #e0edff; color: #0d2c5b; padding: 12px 19px; }
.left-menu a:last-child { border: 0; }
.left-menu a:hover { background: #bfd8ff; }
.left-menu a.active { background: #1e64d0; color: #fff; }
.whiteb { margin-top: 20px; background: #fff; padding: 30px; border-radius: 10px; box-shadow: 0 0 10px rgba(0,0,0,0.1); }
.whitebs { margin-top: 20px; background: #fff; padding: 20px; border-radius: 10px; box-shadow: 0 0 10px rgba(0,0,0,0.1); }

/* .goal-link, .goal-link:focus { border-top: 1px solid #ddd; display: block; padding: 10px 5px; border-bottom: none; color: #333; }
.goal-link:hover { background: #eee; color: #333; }
.project-menu-links { float: right; }
.project-menu-links a, .project-menu-links a:focus { height: 79px; color: #666; display: block; float: left; border-bottom-width: 0; line-height: 79px; font-size: 20px; font-weight: bold; padding: 0 30px; }
.project-menu-links a:hover { background: #eee; }
.project-menu-links a.active { background: #ccc; color: #333; }
.add-button, .add-button:focus { padding: 30px; color: #225565; border-bottom: none; width: 100%; display: block; background: #b2d5e0; border-radius: 3px; text-align: center; font-weight: bold; }
.add-button:hover { background: #c1e1ea; color: #124656; } */

.friends-btn { background: url(/i/friends.png?1) no-repeat 50% 55%; background-size: 50%; height: 51px; display: inline-block; border: none; width: 50px; text-align: center; vertical-align: top; }
.friends-btn:hover { background-color: #fff8; }
.friends-btn.active { background-color: #0001; }
.im-btn { background: url(/i/im.png?1) no-repeat 50% 55%; background-size: 50%; height: 51px; display: inline-block; border: none; width: 50px; text-align: center; vertical-align: top; }
.im-btn:hover { background-color: #fff8; }
.im-btn.active { background-color: #0001; }
.notif-btn { background: url(/i/notif.png?1) no-repeat 50% 55%; background-size: 50%; height: 51px; display: inline-block; border: none; width: 50px; text-align: center; vertical-align: top; }
.notif-btn:hover { background-color: #fff8; }
.notif-btn.active { background-color: #0001; }
/* 
.training-title { text-align: center; width: 1040px; margin: 0 auto; padding: 20px; font-size: 34px; background: url(/i/bg12.png?); border: 1px solid; border-color: #fff #ddd #ddd #fff; border-bottom-width: 2px; text-shadow: -1px -1px #fff, 1px 1px #0003; color: #222; } */

.rating-block { display: inline-block; padding: 5px; background: #eee; border-radius: 7px; }
.rating-value { display: inline-block; font-size: 24px; line-height: 40px; height: 40px; vertical-align: top; padding: 0 20px 0 15px; font-weight: bold; }
.rating-btn { vertical-align: top; height: 40px; width: 40px; padding: 0!important; background: no-repeat 50% / 20px #999!important; font-size: 20px; font-weight: bold; }
.rating-btn:hover { background-color: #aaa!important; }
.rating-btn.active { box-shadow: 1px 2px 3px #0004, 0 -2px 0 #fff2 inset, 0 2px 0 #0002 inset !important; background-color: #666 !important; cursor: default; }
.rating-btn.vote-minus.active { background-color: #aa0404 !important; }
.rating-btn.vote-plus.active { background-color: #126f12 !important; }
.rating-loading { width: 120px; height: 40px; display: inline-block; background: url(/i/ajax-bg-50.gif) #fff; vertical-align: top; border-radius: 5px; opacity: .4; display: none; }
.rating-block.rating-mini { padding: 0; background: transparent; }
.rating-block.rating-mini .rating-value { font-size: 14px; line-height: 20px; height: 20px; padding: 0 10px 0 5px; }
.rating-block.rating-mini .rating-btn { height: 20px; width: 20px; background-size: 10px!important; font-size: 14px; }
.rating-block.rating-mini .rating-loading { width: 60px; height: 20px; background-size: 50%; }

/* lists */
.h-filter { margin-top: 20px; }
.h-filter select { font-size: 12px; }
.h-filter .field { font-size: 12px; padding: .5em .8em; border: 1px solid #ccc; color: #000; background: linear-gradient(to bottom, #fff 0%, #eee 100%); border-radius: 3px; cursor: pointer; display: inline-block; }
.top-button { float: right; margin-top: 2px; }
.top-button-2 { float: right; margin-top: 28px; }
.empty-list { background: #eee; padding: 100px 10px; font-size: 20px; color: #999; text-align: center; margin-top: 20px; border-radius: 10px; }
.empty-list-white { background: #fff; padding: 100px 10px; font-size: 32px; color: #999; text-align: center; margin-top: 20px; border-radius: 10px; }

.grid { width: 100%; }
.grid .head { background: #eee; }
.grid td { border: 1px solid #ccc; padding: 10px; }
.grid.lines td { padding: 10px 20px 10px 0; border: 1px dotted #999; border-width: 0 0 1px; }
.grid.lines td:last-child { padding-right: 0; }
.grid.lines .head { background: transparent!important; color: #bbb; border-top: none; }
/* .grid.lines tr {  } */
/* .grid.lines tr:hover { background: #efd; } */
.grid.lines tr.loading { background: url(/i/ajax-bg-50.gif) #eee; color: rgba(0,0,0,0.2); cursor: progress; outline: none; }
.grid.days td { padding: 0; width: 24px; height: 24px; font-size: 11px; text-align: center; }
.grid.days td.manager { width: auto; text-align: left; padding-right: 20px; }
.grid.days td.item { cursor: pointer; background: #eee; color: #fff; }
.grid.days td.item:hover { background-color: #ccc; }
.grid.days td.active { background: url(/i/check16.png) no-repeat 50% 50%; }
.grid.days td.past.active { background-color: #aaa; }
.grid.days td.today.active { background-color: #c90; }
.grid.days td.future.active { background-color: #283; }
.grid.days td.no { background: #eee; }
.grid.days td.loading,
.grid.days td.loading:hover { background: url(/i/ajax16.gif?2) no-repeat 50% 50% #eee; cursor: progress; }
.grid.days td.item-cancel { height: 25px; border: none; background: transparent; }
.grid.days td.item-cancel:hover { background: url(/i/delete16.png) no-repeat 50% 50% #fee; }
.paging { display: flex; justify-content:center; width: 100%; margin-top: 60px; }
.paging-panel { position: fixed; bottom: 20px; background: #0009; padding: 2px; border-radius: 5px; }
.paging-info { color: #fff; text-align: center; font-size: 14px; padding: 5px; background: #0006; margin: 1px 1px 2px; border-radius: 3px; }
.paging-list { display: flex; user-select: none; justify-content: center; }
.paging-list a, .paging-list div { line-height: 40px; min-width: 40px; margin: 2px; text-align: center; background: #fff; border-radius: 3px; padding: 0 5px; color: #000b; border: none; }
.paging-list a:hover { background: #d0f4ff; }
.paging-list div { background: #a3eaff; color: #03161c; }
.paging-list span { color: #fff; padding: 10px 5px 0; }

.overhide { overflow: hidden; }
.overelli { overflow: hidden; text-overflow: ellipsis; }

.dragscroll { overflow-x: auto; max-width: 100%; width: 100%; }

.list-title { margin-top: 20px; color: #bbb; border-bottom: 1px solid #eee; width: 100%; }
.list-title td { padding: 10px 0; }
.list-link, .list-link:focus { display: block; padding: 10px 0; border-bottom: 1px solid #eee; color: #000; }
.list-link:hover { background: #efe; color: #187288; border-bottom: 1px solid #eee; }
.list-link table { width: 100%; }

.grid-values td { padding: 10px; }
.grid-values td:first-child { opacity: 0.6; padding-left: 0; text-align: left!important; }
.grid-values td:last-child { padding-right: 0; }
.grid-values .head { background: #eee; }
.grid-values .head td { opacity: 1; padding: 10px; }
.grid-values.lines td { border-bottom: 1px solid #ccc; }
.grid-values.lines tr:last-child td { border-bottom: none; }

.list-loading { text-align: center; font-size: 30px; color: #ccc; padding: 100px 0; background: url(/i/ajax.svg) no-repeat 50% 50% / 100px; }
.list-loading * { vertical-align: middle; margin: 0 10px; }

.info-block { background: #2f4a52; color: #fff; border-radius: 5px; padding: 20px 30px; }

/* bills */
.bill-edit { margin-top: 20px; }
.bill-edit select[size] { height: 250px; font-size: 14px; }
.bill-edit select[size].big { height: 450px; }
.bill-edit input, .bill-edit select, .bill-edit .ui-datepicker-inline { width: 210px; }
.bill-edit .sum { vertical-align: middle; padding-right: 15px; font-size: 20px; }
.bill-edit input[type="button"] { font-size: 24px; }
.edit-info { margin: 20px 0 -20px; background: #ace; font-size: 20px; text-align: center; padding: 20px; border-radius: 5px 5px 0 0; }
.adress-list { max-height: 125px; margin-top: 2px; overflow: auto; }

.footer { padding: 60px 20px 100px; border-top: 0 solid #ddd; }
.footer .site-link { margin-left: 20px; }
.footer a { color: #444; border-bottom: 1px solid #444; }
.footer a:hover { color: #222;  border-bottom: 1px solid #222; }

.popup-bg { display: none; overflow: auto; z-index: 10000; background: rgba(0,0,0,0.95); position: fixed; top: 0; left: 0; right: 0; bottom: 0; }
.popup { z-index: 11000; width: 600px; margin: 0 auto; background: #fff; overflow: hidden; border-radius: 0 0 5px 5px; }
.popup .title { background: #eee; padding: 10px; font-size: 20px; text-align: center; }
.popup-body { padding: 20px 20px 30px; }

.top-10 { margin-top: -10px; }
.top-5 { margin-top: -5px; }
.top0 { margin-top: 0; }
.top5 { margin-top: 5px; }
.top10 { margin-top: 10px; }
.top20 { margin-top: 20px; }
.top30 { margin-top: 30px; }
.top40 { margin-top: 40px; }
.top60 { margin-top: 60px; }
.top80 { margin-top: 80px; }
.left5 { margin-left: 5px!important; }
.left10 { margin-left: 10px!important; }
.left20 { margin-left: 20px!important; }
.left30 { margin-left: 30px!important; }
.left40 { margin-left: 40px!important; }
.r10 { margin-right: 10px; }
.r20 { margin-right: 20px; }
.r40 { margin-right: 40px; }
.b10 { margin-bottom: 10px; }
.b20 { margin-bottom: 20px; }
.pleft10 { padding-left: 10px!important; }
.pleft20 { padding-left: 20px!important; }
.pleft30 { padding-left: 30px!important; }
.pleft40 { padding-left: 40px!important; }
.pleft60 { padding-left: 60px!important; }
.pleft80 { padding-left: 80px!important; }
.ptop5 { padding-top: 5px!important; }
.ptop10 { padding-top: 10px!important; }
.ptop20 { padding-top: 20px!important; }
.ptop30 { padding-top: 30px!important; }
.ptop40 { padding-top: 40px!important; }
.w50 { width: 50px!important; }
.w80 { width: 80px!important; }
.w100 { width: 100px!important; }
.w120 { width: 120px!important; }
.w150 { width: 150px!important; }
.w200 { width: 200px!important; }
.w240 { width: 240px!important; }
.w260 { width: 260px!important; }
.w300 { width: 300px!important; }
.w400 { width: 400px!important; }
.w500 { width: 500px!important; }
.w600 { width: 600px!important; }
.w800 { width: 800px!important; }
.w1000 { width: 1000px!important; }
.w100p { width: 100%!important; }
.line170 { line-height: 170%; }
.clear { clear: both; }
.vmiddle { vertical-align: middle; }
.black { color: #000; }
a.black  { border-bottom-color: #666; }
a.black:hover { color: #666; border-bottom-color: #bbb; }
.gray6 { color: #666; }
.gray9 { color: #999; }
a.gray9  { border-bottom-color: #bbb; }
a.gray9:hover { color: #666; border-bottom-color: #999; }
.grayb { color: #bbb; }
a.red, a.red:hover { color: #e00; border-color: #900; }
.text-blue { color: #1e64d0; }
.text-red { color: #ca4335; }
.bg-blue { background: #1e64d0; }
.bg-red { background: #ca4335; }
div.green, span.green { color: #090; }
div.red, span.red { color: #f44336; }
.color-blue { color: #03A9F4; }
.color-red { color: #f44336; }
.color-green { color: #4caf50; }
.font12 { font-size: 12px!important; }
.font14 { font-size: 14px!important; }
.font16 { font-size: 16px!important; }
.font16a { font-size: 16px!important; }
.font18 { font-size: 18px!important; }
.font20 { font-size: 20px!important; }
.font24 { font-size: 24px!important; }
.font28 { font-size: 28px!important; }
.font40 { font-size: 40px!important; }
.mono { font-family: 'Courier New', Courier, monospace; }
.tleft { text-align: left; }
.tright { text-align: right; }
.tcent { text-align: center; }
.fleft { float: left; }
.fright { float: right; }
.mcent { margin-left: auto; margin-right: auto; }
.descr { font-size: 11px; color: #999; }
.nobr { white-space: nowrap; }
.cpointer { cursor: pointer; }
.bold { font-weight: bold; }
.unshow { display: none; }
.iblock { display: inline-block; }
.unfade-over { opacity: .2; transition: 500ms; }
.unfade-over:hover { opacity: 1; }
.copy, .copy:hover, .copy:focus { background: #fea; padding: 3px 5px; border-radius: 5px; border: 1px solid #dca; color: #430; cursor: pointer; max-width: 100%; display: inline-block; overflow: hidden; line-height: 130%; }
.icon-inline {
    width: 1.2em; height: 1.2em; margin-right: .2em; vertical-align: -.2em;
}

@keyframes spin {
    from { transform:rotate(0deg); }
    to { transform:rotate(360deg); }
}

.ui-datepicker { padding: 0!important; }
.ui-datepicker a { border: none; }
.ui-widget-header  { border: none!important; background: #fff!important; padding: .2em 0 0!important; color: #999; }
.ui-widget-content { width: 100%; border: none; overflow: hidden; border: 1px solid #ddd; padding: 10px!important; }
.ui-datepicker table { margin: 0!important; }
.ui-datepicker .ui-datepicker-title { margin: 0 2em; font-weight: normal; font-size: 18px; }
.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year { padding: 6px 5px; cursor: pointer; top: 1px; position: relative; margin: -3px 1px 8px; font-size: 14px; }
.ui-datepicker select.ui-datepicker-month { width: 50%; }
.ui-datepicker select.ui-datepicker-year { width: 40%; }
/*.ui-corner-all, .ui-datepicker-header { border-radius: 0; }*/
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { top: 6px; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { border: none; cursor: pointer; top: 2px; background: #eee; top: 6px; }
.ui-datepicker .ui-datepicker-prev-hover { left: 2px; background: #ccc; }
.ui-datepicker .ui-datepicker-next-hover { right: 2px; background: #ccc; }
.ui-datepicker td span, .ui-datepicker td a { padding: .4em .1em; }
.ui-datepicker th { padding: .0em .3em .3em; font-weight: normal; font-size: 12px; color: #ccc; }
.ui-state-default { border: none!important; }
.ui-state-highlight { background: #999!important; }
.ui-priority-secondary { opacity: .3!important; }
.ui-state-active { background: #1e64d0!important; color: #fff!important; }
.ui-datepicker td { border: 1px solid #fff; padding: 0px; }
.ui-datepicker td a { text-align: center!important; }
.ui-datepicker-title option { font-size: 15px; }



.nav a, .dropdown-menu a { text-decoration: none; }
.nav>li.disabled a { cursor: default!important; }

.noUi-handle { transition: none!important; }

.is-countdown { border: none; background: none; }
/*.fr-wrapper div:first-child { display: none; }*/
/*.fr-wrapper div:first-child { height: 0; top: -40px; }*/
.fr-box.fr-basic .fr-element { padding: 20px; }
span.fr-emoticon.fr-deletable.fr-emoticon-img { width: 28px; display: inline-block; }
.CodeMirror-code { font-size: 14px; }
.fr-dropdown-wrapper, .fr-dropdown-content { max-height: 360px!important; }
a.fr-command { border-bottom: none; }
a.fr-command.fr-active { background: #1e88e5!important; color: #fff!important; }
/*.fr-view img.fr-dib { margin: 0; }*/
/*.ugc table { margin-top: 20px; margin-bottom: 20px; }*/
.ugc td { padding: 10px; border: 1px solid #ccc; }

.noUi-handle:after { display: none; left: -20px; top: -49px; background: transparent; width: 70px; height: 30px; font-size: 40px; content: "↔"; }
.noUi-handle:before { background: transparent; border-left: 1px solid #E8E7E6; border-right: 1px solid #E8E7E6; width: 4px; }

.tooltip-inner { font-family: 'Montserrat', sans-serif; font-size: 14px; padding: 10px 15px; line-height: 130%; background: #fff; box-shadow: 0 1px 10px #000; color: #000; transition: none; }
.tooltip-arrow { display: none; }

.rbox { vertical-align: top; margin: 0 3px 0 0; width: 17px; height: 17px; }
.rbox + label { cursor: pointer; }
.rbox:not(checked) { position: absolute; opacity: 0; }
.rbox:not(checked) + label { position: relative; padding: 4px 0 0 38px; margin: 0; }
.rbox:not(checked) + label:before { content: ''; position: absolute; top: 0; left: 0; width: 28px; height: 28px; border-radius: 14px; background: linear-gradient(to bottom, #ececec 0%, #fff 100%); border: 1px solid #ddd; }
.rbox:not(checked) + label:after { content: ''; position: absolute; top: 14px; left: 14px; width: 0; height: 0; border-radius: 10px; background: linear-gradient(to bottom, #fff 0%, #eee 100%); box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: all .2s; border: 1px solid #0b1c4e; opacity: 0; }
.rbox:checked + label:before { background: linear-gradient(to bottom, #2346a9 0%, #3f71ff 100%); border: 1px solid #163898; }
.rbox:checked + label:after { top: 4px; left: 4px; width: 20px; height: 20px; border: 1px solid #0b1c4e; background: linear-gradient(to bottom, #fff 0%, #93afff 100%); opacity: 1; }

.cbox2 { vertical-align: top; margin: 0 3px 0 0; width: 17px; height: 17px; }
.cbox2 + label { cursor: pointer; }
.cbox2:not(checked) { position: absolute; opacity: 0; }
.cbox2:not(checked) + label { position: relative; padding: 4px 0 0 60px; margin: 0; }
.cbox2:not(checked) + label:before { content: ''; position: absolute; top: 0; left: 0; width: 50px; height: 28px; border-radius: 14px; background: linear-gradient(to bottom, #ececec 0%, #fff 100%); border: 1px solid #ddd; }
.cbox2:not(checked) + label:after { content: ''; position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 10px; background: linear-gradient(to bottom, #fff 0%, #eee 100%); box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: all .2s; border: 1px solid #999; }
.cbox2:checked + label:before { background: linear-gradient(to bottom, #2346a9 0%, #3f71ff 100%); border: 1px solid #163898; }
.cbox2:checked + label:after { left: 26px; border: 1px solid #0b1c4e; background: linear-gradient(to bottom, #fff 0%, #93afff 100%); }
/*.cbox2:focus + label:before { box-shadow: 0 0 0 3px rgba(255,255,0,.5); }*/

.check-gr { vertical-align: top; margin: 0 3px 0 0; width: 17px; height: 17px; }
.check-gr + label { cursor: pointer; }
.check-gr:not(checked) { position: absolute; opacity: 0; }
.check-gr:not(checked) + label { position: relative; padding: 4px 0 0 60px; margin: 0; }
.check-gr:not(checked) + label:before { content: ''; position: absolute; top: 0; left: 0; width: 50px; height: 28px; border-radius: 14px; background: linear-gradient(to bottom, #23a966 0%, #3fffaf 100%); border: 1px solid #169861; }
.check-gr:not(checked) + label:after { content: ''; position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 10px; background: linear-gradient(to bottom, #fff 0%, #93ffcd 100%); box-shadow: 0 1px 2px rgba(0,0,0,.3); transition: 200ms; border: 1px solid #0b4e35; }
.check-gr:checked + label:before { background: linear-gradient(to bottom, #a92323 0%, #ff3f3f 100%); border: 1px solid #981616; }
.check-gr:checked + label:after { left: 26px; border: 1px solid #4e0b0b; background: linear-gradient(to bottom, #fff 0%, #ff9393 100%); }
/*.check-gr:focus + label:before { box-shadow: 0 0 0 3px rgba(255,255,0,.5); }*/
.check-gr:disabled + label:after { border: 1px solid #eee; background: #fff; box-shadow: none; cursor: progress; }
.check-gr:disabled + label:before { background: #f8f8f8; border: 1px solid #eee; }

.cbox3 { vertical-align: top; margin: 0 3px 0 0; width: 17px; height: 17px; }
.cbox3 + label { cursor: pointer; }
.cbox3:not(checked) { position: absolute; opacity: 0; }
.cbox3:not(checked) + label { position: relative; padding: 0 0 0 40px; line-height: 32px; margin: 0; }
.cbox3:not(checked) + label:before { content: ''; position: absolute; top: 0; left: 0; width: 32px; height: 32px; background: url(/i/check-confirm.png) no-repeat 0 -32px; }
.cbox3:checked + label:before { background-position-y: 0; }

.cke_textarea_inline { min-height: 500px; }
.cke_textarea_inline:focus { outline: none; }


.public-body { padding: 90px 10px 0; }
.public-footer { display: flex; justify-content: space-between; margin: 100px -10px 30px; }

.booking-nav { position: fixed; background: #fff; width: 100%; left: 0; z-index: 8; top: 70px; padding: 5px 10px 10px; box-shadow: 0 0 5px #0006; }
.booking-scroll-dates { white-space: nowrap; text-align: center; position: relative; margin-top: 5px; }
.booking-scroll-dates a, .booking-scroll-dates span { border: none; border-radius: 5px; margin: 0 2px; padding: 8px 2px; color: #000; font-size: 13px; width: 80px; text-align: center; display: inline-block; }
.booking-scroll-dates a:hover { background: #0001; }
.booking-scroll-dates a.active { background: #000b; color: #fff; }
.booking-scroll-dates.days a, .booking-scroll-dates.days span { width: 30px; padding: 4px 2px; font-size: 16px; }
.booking-scroll-dates .weekday { margin-top: -5px; color: #999; font-size: 12px; }

.booking-dates { display: flex; justify-content: space-between; }
.booking-dates a { border: none; border-radius: 5px; margin: 0 2px; padding: 8px 2px; color: #000; font-size: 13px; width: 8.33%; text-align: center; }
.booking-dates a:hover { background: #eee; }
.booking-dates a.active { background: #444; color: #fff; }
/* .booking-dates a { background: #f8f8f8; border: 1px solid #ddd; border-radius: 5px; margin: 0 2px; padding: 8px 2px; color: #000; font-size: 13px; width: 8.33%; text-align: center; }
.booking-dates a:hover { background: #ddd; border: 1px solid #ccc; }
.booking-dates a.active { background: #444; border: 1px solid #222; color: #fff; } */
.booking-dates.days { margin-top: 5px; justify-content: flex-start; }
/* .booking-dates.days a { width: 3.22%; padding: 4px 2px; font-size: 16px; } */
.booking-dates.days a, .booking-dates.days span { width: 50%; padding: 4px 2px; font-size: 16px; }
.booking-dates .weekday { margin-top: -5px; color: #999; font-size: 12px; }
.booking-time { padding: 0 4px; margin-top: 10px; display: flex; flex-wrap: wrap; justify-content: center; }
.booking-time .time-item { margin: 2px; border-radius: 5px; background: #000c; cursor: pointer; text-align: center; padding: 8px 0; width: 52px; font-size: 14px; color: #fff; white-space: nowrap; user-select: none; border: 2px solid transparent; text-shadow: 1px 1px 1px #0006; }
.booking-time .time-item:hover { background: #684200e3; border: 2px solid #0006; box-shadow: 0 0 5px #000; }
.booking-time .time-item.busy { color: #fffb; background: #6669; box-shadow: none; text-shadow: none; }
.booking-time .time-item.busy:hover { color: #fffb; background: #6669; box-shadow: none; border: 2px solid transparent; }
.booking-time .time-item.selected { color: #fff; background: #f39b01; border: 2px solid #fff; box-shadow: 0 1px 5px #000, 0 1px 3px #0006 inset; }
.day-hall-item { border-radius: 5px; width: 49%; margin-top: 20px; box-shadow: 0 1px 5px #000, 0 0 0 1px #0009; position: relative; }
/*.day-hall-item { border-radius: 5px; width: 49%; margin-top: 20px; box-shadow: 0 1px 5px #000; position: relative; padding-bottom: 190px; }*/
.day-hall-title { background: #000c; color: #fff; padding: 15px 20px; border-radius: 5px 5px 0 0; white-space: nowrap; }
.day-hall-actions { padding: 10px 3px 20px; border-radius: 0 0 5px 5px; text-align: center; }
/*.day-hall-actions { padding: 200px 30px 30px; background: linear-gradient( to top , #000 , #0000 ); border-radius: 0 0 5px 5px; position: absolute; z-index: 1; bottom: 0; right: 0; left: 0; text-align: center; }*/
.day-hall-actions input { font-size: 13px; }
.booking-time-item { box-shadow: 0 1px 5px #0001; padding: 10px 5px; border-radius: 10px; border: 1px dashed #ccc; margin: 10px 10px 0 0; text-align: center; width: 90px; height: 64px; }
.booking-time-delete { background: url(/i/delete16.png) 50% 50% no-repeat #fed; width: 24px; height: 20px; border: 1px solid #ccc; position: relative; top: -56px; left: 64px; border-radius: 5px; cursor: pointer; opacity: .5; }
.booking-time-item:hover .booking-time-delete { opacity: 1; }
.slot-bonus { position: relative; margin-top: -20px; left: 4px; text-align: right; top: -30px; }
.slot-bonus div { background: #090; display: inline-block; font-size: 11px; border-radius: 3px; padding: 1px; box-shadow: 1px 1px 3px #0006; color: #fff; }

.cart-items { text-align: center; }
.cart-items .slot-bonus { top: -6px; left: 10px; }

.mode-button { display: inline-block; line-height: 40px; padding: 5px 10px; background: #eee; border-radius: 5px; cursor: pointer; border: 2px solid #eee; user-select: none; }
.mode-button:hover { border: 2px solid #ccc; }
.mode-button.active { border: 2px solid #51bb66; background: #89e89c; color: #126422; }
.table-time { width: 120px; line-height: 16px; padding: 14px 5px!important; }
.time-reserved { line-height: 16px; padding: 7px 5px 5px!important; background: hsl(0,100%,90%)!important; }
.table-time.editable { cursor: default; user-select: none; }
.table-time.editable:hover { box-shadow: 0 0 0 2px #0002 inset; }
.table-time.has-value { background: #eee; }

.booking-studios-list { max-width: 100%; width: 600px; background: #fff; padding: 10px 10px 50px 20px; height: calc( 100vh - 70px ); overflow: hidden auto; }
.booking-studios-map { background: #eee; height: calc( 100vh - 70px ); width: 100%; border-left: 1px solid #ddd; }
.studios-map-open-link { display: none; position: fixed; bottom: 80px; left: calc( 50% - 100px ); width: 200px; background: url(/i/map.png) 18px 12px / 32px no-repeat #444; color: #fff; cursor: pointer; padding-left: 62px; line-height: 60px; border-radius: 10px; user-select: none; }
.studios-list-open-link { display: none; position: fixed; bottom: 80px; left: calc( 50% - 108px ); width: 216px; background: url(/i/list.png) 18px 14px / 32px no-repeat #444; color: #fff; cursor: pointer; padding-left: 62px; line-height: 60px; border-radius: 10px; user-select: none; }

.div-item { background: url(/i/finished32.png) 0 4px / 16px no-repeat; padding-left: 24px; min-height: 20px; line-height: 170%; margin-top: 10px; }

.public-topmenu { position: fixed; top: 0; left: 0; right: 0; height: 70px; background: #222; z-index: 10; border-bottom: 1px solid #333; box-shadow: 0 1px 5px #000; }

.leftmenu { width: 320px; min-width: 320px; background: #111; color: #999; font-size: 13px; box-shadow: 0 0 10px #000; }
.leftmenu a, .mobile-menu-nav a { color: #ccc; border-bottom: 1px solid #ccc; }
.menu-links { font-size: 16px; margin-top: 30px; }
.menu-links a { display: block; padding: 15px 30px 15px 65px; border-top: 1px solid #333; border-bottom: 1px solid #333; color: #fff; margin-top: -1px; background: url(/i/chat.png) no-repeat 30px 14px / 24px #222; }
.menu-links a:hover { background-color: #333; }
.menu-links a.active { background-color: #666; }

.cabinet-content { padding: 30px 40px 60px; width: calc( 100% - 300px ); overflow: hidden; }

.mobile-menu, .public-mobile-menu { display: none; z-index: 1000; background: #111; height: 60px; position: fixed; bottom: 0; left: 0; right: 0; }

.hall-page-general { display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: 20px; }
.hall-page-general .col-1 { width: 300px; max-width: 100%; }
.hall-page-general .col-2 { width: calc( 100% - 340px ); }
.hall-page-general .col-2 .hall-benefits { display: flex; margin-top: 10px; }
.hall-equip { width: 100%; max-width: 280px; }

.map-info { position: absolute; background: #fff; width: 400px; padding: 40px 10px; z-index: 1; top: 50px; left: calc( 50% - 540px ); box-shadow: 2px 2px 5px #0006; border-radius: 10px; text-align: center; }
#contacts { margin: -190px 0 150px; }

.block1200, .inline1200, .iblock1200 { display: none; }
.block800, .inline800, .iblock800 { display: none; }
.block500, .inline500, .iblock500 { display: none; }

#lz-close { background-position: 0 0; border: none; top: 20px; right: 20px; }
#lz-box:before { height: 0; }
#lz-box img { margin-top: 20px; }

.select2-container--default .select2-selection--single { border: 1px solid #ccc; padding-left: 8px; box-shadow: 2px 2px 1px #0001 inset; }
.select2-container--default .select2-selection--single:focus { border: 1px solid #999; box-shadow: 2px 2px 5px #0002, 2px 2px 0 #0001 inset; outline: none; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 50px; }
.select2-container .select2-selection--single { height: 50px; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; background: #eee; border-left: 1px solid #ddd; border-radius: 0 3px 3px 0; width: 24px; }
.select2-results__option { padding: 10px 16px; }
.select2-search--dropdown .select2-search__field { padding: 8px 10px; }
.select2-container--default .select2-search--dropdown .select2-search__field { border: 1px solid #ddd; }
.select2-search--dropdown { padding: 5px; background: #eee; }
.select2-dropdown { border: 1px solid #ccc; }
.select2-mini .select2-container .select2-selection--single { height: 36px; }
.select2-mini .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 36px; }
.select2-mini .select2-container--default .select2-selection--single .select2-selection__arrow { height: 34px; }

@media (max-width: 1200px) {

    .leftmenu { display: none; }
    .mobile-menu { display: block; }
    .cabinet-content { width: 100%; padding: 20px 20px 100px; }

    .booking-dates { flex-wrap: wrap; }
    .booking-dates a { width: 16%; }
    /* .booking-dates.days a { width: 40px; } */
    .booking-dates.days a, .booking-dates.days span { width: 5.3%; }

    .hall-page-general { display: block; text-align: center; }
    .hall-page-general h1 { margin-top: 20px; }
    .hall-page-general .col-1 { margin: auto; }
    .hall-page-general .col-2 { width: 100%; }
    .hall-page-general .col-2 .hall-benefits { justify-content: center; }
    .hall-equip { max-width: 240px; }

    .map-info { position: static; width: 100%; border-radius: 0; box-shadow: none; border-bottom: 1px solid #ccc; }

    .hide1200 { display: none; }
    .block1200 { display: block; }
    .block1200i { display: block!important; }
    .inline1200 { display: inline; }
    .iblock1200 { display: inline-block; }

    .paging { margin-top: 80px; }
    .paging-panel { bottom: 80px; }

}

@media (max-width: 800px) {

    /* .cabinet-about { font-size: 18px; }
    .cabinet-panel { margin: 20px 0 0; } */

    .public-topmenu { display: none; }
    .public-mobile-menu { display: block; }
    .public-body { padding: 20px 10px 50px; }
    .public-footer { justify-content: center; flex-wrap: wrap; text-align: center; }

    .booking-nav { top: 0; }
    .booking-dates a { width: 24%; }
    .day-hall-item { width: 100%; }
    .booking-dates.days a, .booking-dates.days span { width: 9%; }

    .booking-studios-list { display: none; height: calc( 100vh - 60px ); width: 100%; padding-bottom: 100px; }
    .booking-studios-map { display: none; height: calc( 100vh - 60px ); border-left: none; }
    .booking-studios-list.mobile-active { display: block; }
    .booking-studios-map.mobile-active { display: block; }
    .studios-map-open-link.mobile-active { display: block; }
    .studios-list-open-link.mobile-active { display: block; }

    #contacts { margin: -120px 0 80px; }

    .hide800 { display: none; }
    .block800 { display: block; }
    .block800i { display: block!important; }
    .inline800 { display: inline; }
    .iblock800 { display: inline-block; }

    .font16a { font-size: 14px!important; }

    /* .last-td-800 { padding-right: 0!important; } */

}

@media (max-width: 500px) {

    h1 { font-size: 24px; }
    /*.cont { padding: 0 10px; }*/
    .cabinet-content { width: 100%; padding: 20px 10px 100px; }

    /* .cabinet-benefit { margin: 10px 0; }
    .cabinet-about { font-size: 16px; padding: 0; margin: 20px auto 0; box-shadow: none; }
    .cabinet-panel { margin: 60px 0 0; padding: 0; box-shadow: none; font-size: 14px; }
    .cabinet-panel:first-child { margin-top: 30px; }
    .cabinet-panel h2 { font-size: 20px; margin-bottom: -10px !important; }
    
    .ref-link { font-size: 16px; }

    .respotable { font-size: 14px; } */

    .booking-dates a { width: 30%; }
    .booking-dates.days a, .booking-dates.days span { width: 12.5%; }

    .day-hall-title { padding: 20px 10px; }
    .booking-time { padding: 0 4px; margin-top: 6px; }
    .booking-time .time-item { margin: 2px; padding: 4px 0px; width: 44px; font-size: 13px; }
    /*.day-hall-actions { padding: 0 10px 30px;  }*/
    .day-hall-actions input { padding: 10px; font-size: 11px; }

    /*.hall-page-general .col-1 { margin-top: -30px; }*/

    .hide500 { display: none; }
    .block500 { display: block; }
    .block500i { display: block!important; }
    .inline500 { display: inline; }
    .iblock500 { display: inline-block; }

    .font16a { font-size: 13px!important; }
    
}