img {
    border: none;
    vertical-align: middle;
}

pre {
    text-align: left;
}

/*label {
    padding: 2px;
}*/

label:hover {
    background-color: #ccffcc;
}

#main {
    margin: 30px auto;
    border: 1px solid #ccccff;
    border-radius: 20px;
    /*width: 800px;*/
    padding: 50px;
}

p.float_p {
    width: 33%;
    float: left;
}

#add_form input[type=text], #add_form input[type=number],
#edit_form input[type=text], #edit_form input[type=number],
#search_form input[type=number]{
    width: 50px;
}

input, button, select, textarea {
    font-size: 13px;
}

button:focus {
    outline: none;
}

input[type=text], input[type=password], input[type=number], input[type=date], textarea {
    border-radius: 5px;
    border: 1px solid #A7A5A5;
    padding: 2px;
    outline: none;
}

input[type=text]:focus, input[type=password]:focus, textarea:focus {
    box-shadow: 10px 10px 8px rgba(200,200,200,0.9);
}

.long_input {
    width: 100%!important;
}

.medium_input {
    width: 170px!important;
}

.b {
    font-weight: bold;
}

hr {
    clear: both;
    color: #ccccff;
}

.clear {
    clear: both;
    float: none!important;
    width: 100%!important;
    height: 0!important;
    padding: 0!important;
    border: none!important;
    outline: none!important;
    margin: 0!important;
}

.nofloat {
    float: none !important;
    width: 100% !important;
    clear: both;
}

ol.room_prop {
    background-color: white;
    padding: 15px;
    padding-left: 35px;
    border-radius: 10px;
    display: none;
}

ol.room_prop li {
    padding: 5px;
    border-radius: 5px;
}

ol.room_prop li:nth-child(odd) {
    background-color: #ccccff
}


.level {
    padding: 15px;
    margin-top: 15px;
    background-color: #ccccff;
    border-radius: 20px;
}

#add_form select, #edit_form select {
    width: 50px;
}

textarea {
    width: 100%;
}

.error_block, #validator_message {
    border: 2px solid red;
    padding: 15px;
    background-color: #ffcccc;
    margin: 5px;
    border-radius: 10px;
}

#validator_message {
    display: none;
}

#loading_shield {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .9) url('/images/squareloading.gif') center center no-repeat;
    display: none;
    z-index: 100;
}

#status_block {
    position: absolute;
    left: 50%;
    top: 50%;
    margin-top: -274px;
    margin-left: -374px;
    width: 700px;
    height: 500px;
    background: #99ccff;
    border: 4px solid white;
    border-radius: 20px;
    box-shadow: 40px 40px 8px rgba(200,200,200,0.9);
    padding: 20px;
    overflow: auto;
}

span.uploader_preview, span.uploader_preview_big {
    border: 4px solid #4040CF;
    margin: 0 5px 5px 0;
    display: inline-block;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
}

span.uploader_preview a, span.uploader_preview_big a {
    position: absolute;
    top: 3px;
    right: 3px;
    display: none;
}

span.uploader_preview img {
    max-height: 200px;
    max-width: 200px;
}

span.uploader_preview_big img {
    max-width: 100%;
    margin: 0;
}

.photos {
    visibility: hidden;
    width: 0;
    height: 0;
    padding: 0;
}

p.validator_ok, p.validator_error {
    border-radius: 10px;
    padding: 10px;
    border: 2px solid;
}

p.validator_ok {
    background-color: #99ff99;
    border-color:  #00ff00;
}

p.validator_error {
    background-color: #ff9999;
    border-color:  #ff0000;
}

.input_red_shadow {
    box-shadow: 10px 10px 8px rgba(255,0,0,0.9);
    outline:  1px solid red;
}

.input_green_shadow {
    /*box-shadow: 0 0 8px rgba(0,255,0,0.9);*/
    outline:  1px solid green;
}

input[type=text].validator_error, input[type=password].validator_error, textarea.validator_error {
    background: #ffffff url("/images/icon-fail.png") no-repeat 100% 50%;
    border: 1px solid #FF0000;
}

input[type=text].validator_valid, input[type=password].validator_valid, textarea.validator_valid {
    background: #ffffff url("/images/icon-ok.png") no-repeat 100% 50%;
    border: 1px solid #96B796
}

#admin_bar {
     padding-top: 20px;
}

#admin_bar ul {
    margin: 0;
    padding: 0;
}

#admin_bar li {
    list-style: none;
    padding: 3px;
}

.template, .hidden {
    display: none;
}

.green {
    color: green;
}

.red {
    color: red;
}

.relative {
    position: relative;
}

.section {
    padding: 20px 0px;
}

.section img {
    float: left;
    margin-right: 15px;
}

.section ul {
    padding: 0;
    list-style: none;
}

.section li {
    padding: 0px;
}

#additional_photos_block img {
    margin: 0 15px 15px 0;
    float: left;
}

#additional_photos_block img:hover {
    box-shadow: 0px 0px 15px rgba(0,0,255,1);
}

#area_nav {
    padding: 0 0 0 10px;
    font-size: 0;
    line-height: 0;
    letter-spacing: -1px;
    width: 100%;
    margin-bottom: 20px;
    border-bottom: 3px solid #eb4c08;
}

#area_nav li {
    list-style: none;
    display: inline-block;
    width: 25%;
    height: 35px;
    border: 1px solid #eb4c08;
    border-bottom: none;
    margin-left: -10px;
    background-color: #eb4c08;
    line-height: normal;
    letter-spacing: normal;
    border-radius: 20px 20px 0 0;
    overflow: hidden;
    /*padding-top: 7px;*/
    padding-bottom: 0px;
}

#area_nav li:hover {
    background-color: #eb4c08;
}

#area_nav a {
    font-size: 16px;
    font-weight: bold;
    color: #eb4c08;
    vertical-align: middle;
    display: block;
    width: 100%;
    height: 100%;
    line-height: 100%;
    text-align: center;
    border-radius: 20px 20px 0 0;
    /*margin-top: -7px;*/
/*    padding-top: 7px;*/
    padding: 5px;
    background-color: white;
}

#area_nav a:hover {
    background-color: #ff9e58;
    text-decoration: none;
}

#area_nav .active {
    background: none;
    color: white;
}

#area_nav .active:hover {
    background: none;
    cursor: default;
}

#content_column {
    width: 800px;
    float: left;
}

ul.left_menu {
    margin: 0;
    padding: 0;
}

ul.left_menu li {
    list-style: none;
}

ul.left_menu label {
    display: block;
}

.object_catalog_view {
    position: relative;
    float: left;
    width: 208px;
    margin: 0 15px 15px 0;
}

.object_catalog_view img {
    display: block;
    position: relative;
    top: 0;
    width: 100%;
    margin: 0;
}

.object_catalog_view .title {
    display: block;
    position: absolute;
    width: 100%;
    height: 18px;
    overflow: hidden;
    z-index: 2;
    background-color: rgba(0, 0, 0, .5);
    color: #ffffff;
    font-size: 12px;
    text-indent: 3px;
    -webkit-transition: scaleY(0);/*height 0.5s ease-out 0s;*/
    -moz-transition: scaleY(0);
    -o-transition: scaleY(0);
    transition: scaleY(0);
    text-overflow: ellipsis;
	-webkit-transform-origin: top;
	-o-transform-origin: top;
	-ms-transform-origin: top;
	transform-origin: top;

	-webkit-transition: -webkit-transform 0.26s ease-out;
	-o-transition: -o-transform 0.26s ease;
	-ms-transition: -ms-transform 0.26s ease;
	transition: transform 0.26s ease;
}

/*
.object_catalog_view .title:after {
    content: "...";
    position: absolute;
    top: 0;
    right: 0;
    background-image: linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0.1),
        rgba(0,0,0,0.2), rgba(0,0,0,0.3), rgba(0,0,0,0.7), rgba(0,0,0,0.9));
    padding-left: 50px;
    width: 15px;
}*/

.object_catalog_view .title:hover {
    height: auto;
    -webkit-transition: scaleY(1);
    -moz-transition: scaleY(1);
    -o-transition: scaleY(1);
    transition: scaleY(1);
}

.object_catalog_view .title:hover:after {
    content: "";
}

.project_catalog_view {
    position: relative;
    float: left;
    /*margin: 0 20px 20px 0;*/
    margin-bottom: 20px;
    min-height: 150px;
    /*min-width: 240px;*/
    width: 32%;
    overflow: hidden;
    text-align: center;
    background-color: lightgray;
    border-radius: 5px;
}

.project_catalog_view:hover, .object_catalog_view:hover {
    box-shadow: 0px 0px 15px rgba(0,0,255,1);
}

.project_catalog_view img.thumb{
/*    width: 246px;*/
    margin: 0;
    min-height: 100%;
    max-width: none;
}

.project_catalog_view a.edit_btn {
    display: none;
    position: absolute;
    top: 4px;
    right: 4px;
}

.project_catalog_view span, .object_catalog_view .square {
    display: table-cell;
    vertical-align: middle;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .5);
    color: white;
    width: 100%;
    text-align: center;
    min-height: 40px;
}

.object_catalog_view .square {
    height: 20px;
    min-height: 20px;
}

.project_catalog_view strong {
    padding: 5px;
}

.pages {
    padding: 15px 10px;
    margin: 0;
    text-align: center;
    width: 100%;
}

.pages a {
    border: 1px solid #eb4c08;
    padding: 2px 6px;
    border-radius: 5px;
    display: inline-block;
    margin-bottom: 3px;
}

.pages a:hover {
    color: red;
}

.pages span {
    padding: 2px 3px;
    font-weight: bold;
}

.nowrap {
    white-space: nowrap;
}

.projects_search_link {
    padding: 20px 0px;
}

.projects_search_link a {
    font-size: 20px;
}

.flash_message, .message {
    border: 2px solid #00cc00;
    padding: 10px;
    border-radius: 15px;
    background-color: #ccffcc;
    margin-bottom: 10px;
}

.message {
    background-color: #ffffff;
}

#table, .table {
    border: 1px solid #ccccff;
    width: 100%;
    border-spacing: 0;
}

#table th, .table th {
    padding: 2px 10px;
    background-color: #ccccff;
}

#table td, .table td {
    border-right: 1px solid #ccccff;
    padding: 2px 10px;
}

#table td:last-child, .table td:last-child  {
    border: none;
}

#table tr:hover {
    background-color: #ffff66;
}

.right {
    float: right;
    padding-bottom: 15px;
}

#project_loading {
    width: 100%;
    height: 200px;
}

#project_loading img {
    display: block;
    margin: 145px auto;
}

#preloading_block {
    position: absolute;
    top: 0;
    left: -1000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.big_btn, .round_btn {
    background-color: white;
    border: 3px outset #00cc00;
    color: green;
    font-weight: bold;
    font-size: 18px;
    padding: 5px 10px;
    border-radius: 10px;
    outline: none;
    box-shadow: 10px 10px 8px rgba(200,200,200,0.9);
    cursor: pointer;
}

.big_btn img, .round_btn img {
    float: none;
    margin: 0;
}

.big_btn:active, .round_btn:active {
    color: #00cc00;
    border-style: inset;
    box-shadow: -3px -3px 8px rgba(200,200,200,0.9);
}

.left_search_block div {
    padding-bottom: 8px;
}
.italic {
    font-style: italic;
}

.underline {
    text-decoration: underline;
}

#show_exists_project {
    position: absolute;
    border: 1px solid #ff0000;
    border-top: none;
    padding: 10px 2px;
    width: 570px;
    background-color: #ffffff;
    display: none;
    border-radius: 0 0 5px 5px;
    outline: none;
    box-shadow: 10px 10px 8px rgba(200,200,200,0.9);
}

#show_exists_project img {
    max-width: 90px;
    margin: 0 10px 5px 3px;
}

.validator_loading {
    background: url(/images/loading.gif) no-repeat 100% 50%;
}

input.photo_description {
    display: block;
    position: absolute;
    bottom: 5px;
    left: 5px;
    width: 50% !important;
    opacity: .8;
}

input.photo_description:focus {
    opacity: 1;
    box-shadow: none;
    border: 1px solid #4040CF;
}

.form_block {
    margin: 10px 0;
}

input.datepicker {
    width: 85px !important;
    display: none;
}

span.date {
    font-weight: bold;
    font-style: italic;
    text-decoration: underline;
}

#send_mail_form input[type=text], #send_mail_form textarea {
    width: 100%;
}

.small_input {
    width: 50px;
}

.round_btn {
    width: 45px;
    height: 45px;
    border-radius: 40px;
    font-size: 40px;
    padding: 0;
    line-height: 100%;
    text-align: center;
}

.widget_preview {
    position: absolute;
    width: 300px;
    overflow: hidden;
    background-color: #FFF;
    border: 1px solid #ccccff;
    padding: 10px;
    z-index: 1000;
    left: -10000px;
    box-shadow: 15px 15px 10px rgba(0, 0, 0, .5);
}

label.validator_error {
    color: white;
    position: absolute;
    border: 1px solid red;
    border-top: none;
    border-radius: 0 0 10px 10px;
    background-color: red;
    padding: 2px;
    box-shadow: inset -12px -5px 15px  rgba(0, 0, 0, .2), 12px 5px 15px  rgba(0, 0, 0, .4);
    margin: -1px 0 0 2px;
    font-weight: normal;
}

#status_block_content input, #status_block_content textarea {
    display: block;
}

.spoiler {
    cursor: pointer;
}

.spoiler>.arrow {
    font-size: 10px;
}

.spoiler:hover {
    color: red;
}

.vertikal_text {
    writing-mode: tb-rl;
    -o-transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    position: fixed;
    right: 0px;
    top: 28%;
    font-size: 18px;
    width:80px;
    height:308px;
    pointer-events: none;
}

#block1 {
    margin-bottom: 20px;
    padding: 0 5px 0 10px;
    border: 1px solid #eb4c08;
}

.marggin_left_10 {
    margin-left: 10px;
}

.height_25 {
    height: 25px;
}

#projects {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

#projects div:first-child {
    width: 100%;
}

.flex {
    display: flex;
    flex-wrap: wrap;
}

.space-around {
    justify-content: space-around;
}

.replaced_table {}

.replaced_table_flex img {
    max-width: calc(100% - 10px);
}

.replaced_table_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.replaced_table_flex > div {
    padding: 5px;
}

.replaced_table_flex.col2 > div {
    width: 50%;
}

.replaced_table_flex.col3 > div {
    width: 33%;
}

.replaced_table_flex.col4 > div {
    width: 25%;
}

.replaced_table_flex.col5 > div {
    width: 20%;
}

.replaced_table_flex.col6 > div {
    width: 16%;
}

a.green_btn, a.green_btn:visited, a.green_btn:active, a.green_btn:hover {
    display: inline-block;
    color: #008000;
    font-family: Arial;
    font-size: 21px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2em;
    text-decoration: none;
    min-width: 200px;
    padding: 5px 13px;
    border: 3px solid #00cc00;
    border-bottom-color: #007800;
    border-right-color: #007800;
    border-radius: 10px;
    margin: 10px 0;
}








/*main.css*/
.table_calc {
	text-align: center;
	font-size: 16px;
/*	margin-top: 0px;
	margin-bottom: 0px;
	padding-top: 0px;
	padding-bottom: 0px;*/
}

.table_calc p {
    padding: 0;
}

.table_calc > div {
    padding-bottom: 20px;
}

.photo3 {
    font-family: Arial, Helvetica, sans-serif;
    float: right;
    padding-top: 5px;
    padding-right: 0px;
    padding-bottom: 5px;
    padding-left: 10px;
}

.photo1 {
	font-family: Arial, Helvetica, sans-serif;
	float: left;
	padding-top: 5px;
	padding-right: 30px;
	padding-bottom: 5px;
	padding-left: 30px;
}
.photo2 {
	font-family: Arial, Helvetica, sans-serif;
	float: right;
	padding-top: 5px;
	padding-right: 15px;
	padding-bottom: 5px;
	padding-left: 30px;
}
.object_photo {
	float: right;
	margin: 5px;
}

/* скрываем чекбоксы и блоки с содержанием */
.hide,
.hide + label ~ div {
    display: none;
}
/* вид текста label */
.hide + label {
    margin: 0;
    padding: 0;
    color: #b22222;
    cursor: pointer;
    display: inline-block;
    font-size: 22px;
}
/* вид текста label при активном переключателе */
.hide:checked + label {
    color: blue;
    border-bottom: 0;
    font-size: 22px;
}
/* когда чекбокс активен показываем блоки с содержанием  */
.hide:checked + label + div {
    display: block;
    /*background: ;*/
    padding: 10px;
    /* чуточку анимации при появлении */
     -webkit-animation:fade ease-in 0.5s;
     -moz-animation:fade ease-in 0.5s;
     animation:fade ease-in 0.5s;
}
/* анимация при появлении скрытых блоков */
@-moz-keyframes fade {
    from { opacity: 0; }
to { opacity: 1 }
}
@-webkit-keyframes fade {
    from { opacity: 0; }
to { opacity: 1 }
}
@keyframes fade {
    from { opacity: 0; }
to { opacity: 1 }
}
.hide + label:before {
    background-color: #1e90ff;
    color: #fff;
    content: "\002B";
    display: block;
    float: left;
    font-size: 26px;
    font-weight: bold;
    height: 26px;
    line-height: 29px;
    margin: -3px 6px 2px 0;
    text-align: center;
    width: 26px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}
.hide:checked + label:before {
    content: "\2212";
}

@media (max-width: 550px) {
    .vertikal_text,
    .uptolike-buttons {
        display: none;
    }

    a.green_btn {
        font-size: 16px;
        min-width: 0;
    }

    #area_nav li {
        display: block;
        width: auto;
    }

    .project_catalog_view {
        width: 90%;
    }

    .replaced_table_flex.col2 > div,
    .replaced_table_flex.col3 > div,
    .replaced_table_flex.col4 > div,
    .replaced_table_flex.col5 > div,
    .replaced_table_flex.col6 > div {
        width: 50%;
    }
}