* {
    margin: 0;
    padding: 0;
    outline: 0;
    border: 0;
    box-sizing: border-box;
}

ul {
    list-style-type: none;
    margin: 0 30px;
    padding: 0 5px;
}

ul > li {
    background: url("ul1.gif"/*tpa=https://mayskoe.ru/images/ul1.gif*/) no-repeat left top;
    margin: 3px 0;
    padding: 3px 0 3px 30px;
    font-size: 20px;
}

ul > li > ul > li {
    background: url("ul2.gif"/*tpa=https://mayskoe.ru/images/ul2.gif*/) no-repeat left top;
    padding: 0 0 0 23px;
    font-size: 17px;
}

ul > li > ul > li > ul > li {
    background: url("ul3.gif"/*tpa=https://mayskoe.ru/images/ul3.gif*/) no-repeat left top;
    padding: 0 0 0 17px;
    font-size: 14px;
}

a {
    color: #000000;
}

a:hover {
    text-decoration: none;
}

h1 {
    margin: 0 0 0 20px;
    color: #322601;
}

h2 {
    margin: 0 0 5px;
}

p {
    margin: 5px 0;
}

label, .container .label {
    display: inline-block;
    width: 140px;
    padding: 6px 0;
    text-align: left;
    vertical-align: top;
}

input + label {
    margin-left: 19px;
}

input, textarea, select, iframe, .input-file, .input {
    display: inline-block;
    background: #ffffff;
    border: 1px solid #5B4502;
    border-radius: 3px;
    padding: 5px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 100%;
}

input[readonly] {
    background: #ffffde;
}

.required {
    position: relative;
}

.required:after {
    position: absolute;
    right: 0;
    padding: 0 5px;
    content: '*';
    font-size: 150%;
    color: #644b02;
}

.required.label {
    width: auto;
    padding: 5px 20px;
}

input[type=submit]:active, input[type=button]:active {
    border-width: 2px;
    line-height: 12px;
    padding: 6px 5px 4px 5px;
}

input[type=button]:active {
    padding: 0;
}

input[type=submit], .input-file, button[type=submit] {
    border-radius: 14px;
    width: 100px;
    height: 27px;
    padding: 5px;
    text-align: center;
    cursor: pointer;
}

input[type=submit].restore {
    background: #00dd00;
    width: 17px;
    height: 17px;
    padding: 0 0 0 1px;
}

input[type=submit].delete, button[type=submit].delete {
    background: #dd0000;
    width: 17px;
    height: 17px;
    padding: 0;
}

input[type=file] {
    position: absolute;
    top: 0;
    left: -120px;
    opacity: 0;
    cursor: pointer;
}

input[type=checkbox] {
    margin: 7px 0 0 0;
}

span.checkbox {
    background: #456;
    width: 15px;
    height: 15px;
}

input[type=checkbox] ~ label {
    width: 137px;
    margin: 0;
    text-align: right;
}

.input-file {
    display: inline-block;
    position: relative;
    overflow: hidden;
}

input[disabled] {
    background: transparent;
    border-color: transparent;
    color: #000000;
}

input[type=password] + input {
    margin: 0 0 0 10px;
}

input[type=password]:disabled + input {
    display: none;
}

input:invalid {
    border-color: #CC0000;
}

.enabler {
    position: absolute;
    background: transparent;
    border: transparent;
    color: transparent;
}

textarea, iframe {
    width: 100%;
    height: 200px;
    resize: vertical;
}

.errorSummary > ul {
    margin: 0;
    color: #ff0000;
}

.errorSummary > ul > li {
    background: none;
    font-size: inherit;
}

.errorMessage {
    color: #ff0000;
}

div.captcha > input {
    position: absolute;
    margin: 0 0 0 140px;
}

div.captcha > a {
    position: absolute;
    margin: 38px 0 0 30px;
}

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 100%;
}

table tr td, table tr th {
    border: 1px solid #5B4502;
    padding: 5px 10px;
}

table tr.odd td {
    background: #ffffb3;
}

table tr:hover td {
    background: #eecc77;
}

.pull-left {
    float: left;
}

.pull-right {
    float: right;
    margin-left: 10px;
}

.pull-center {
    text-align: center;
}

.fall-left {
    float: left;
    clear: left;
}

.fall-right {
    float: right;
    clear: right;
}

.clearing {
    display: block;
    clear: both;
}

.clearing-right {
    display: block;
    clear: right;
}

.reduced {
    display: inline;
}

.reduced:after {
    content: '\2026';
    display: inline-block;
}

.reduced-begin:before {
    content: '\2026';
    display: inline-block;
}

.reduced-begin:after {
    content: '';
}

.input-small {
    width: 38px;
    text-align: center;
}

input.input, .input {
    width: 160px;
    text-decoration: none;
}

.input-medium {
    width: 230px;
}

.label-large {
    width: 210px;
}

.input-large {
    width: 619px;
}

.input-huge {
    width: 749px;
}

input[type=submit].is-favorite {
    background: #ffffff url("favorite-star.png"/*tpa=https://mayskoe.ru/images/favorite-star.png*/) no-repeat 15px -31px;
    padding-left: 35px;
}

input[type=submit].to-favorite {
    background: #ffffff url("favorite-star.png"/*tpa=https://mayskoe.ru/images/favorite-star.png*/) no-repeat 15px 2px;
    padding-left: 35px;
}

input[type=submit].is-favorite:active, input[type=submit].to-favorite:active {
    padding-left: 20px;
}

.spinner {
    background: #ffffb3;
    border: solid #644b02;
    border-width: 1px 0 1px 1px;
    border-radius: 7px 0 0 7px;
    display: inline-block;
    content: '-';
    width: 15px;
    height: 19px;
    padding: 0;
    font-size: 110%;
    text-align: center;
    cursor: default;
}

.toggle {
    width: auto !important;
    font-size: 90%;
}

.toggle.On:before {
    content: 'Включить ';
}

.toggle.Off:before {
    content: 'Выключить ';
}

input[type=text] + .spinner {
    border-width: 1px 1px 1px 0;
    border-radius: 0 7px 7px 0;
}

textarea.input-huge, iframe.input-huge {
    height: 100px;
}

img {
    border: 5px ridge #957104;
    object-fit: contain;
}

.content > p {
    text-align: justify;
    text-indent: 20px;
}

.row {
    margin: 0;/* 12px 0 0;*/
    padding: 10px 0;
    min-height: 25px;
}

.row.fall-right {
    width: 300px;
}

.preview {
    margin: 10px;
}

form.preview {
    display: inline-block;
    position: relative;
}

form.preview > span {
    position: absolute;
    display: none;
    right: 0;
    width: 100%;
    height: 100%;
    padding: 5px;
}

form.preview > span > span {
    background: #644b02;
    position: absolute;
    display: inline-block;
    width: 80%;
    bottom: 8px;
    padding: 3px 10px;
    color: #ffffff;
    opacity: 0.8;
}

.thumb {
    margin: 5px;
}

.price {
    font-size: 130%;
    font-weight: bold;
    color: #5B4502;
    text-indent: 0;
}

.num {
    text-align: center;
}

.frame {
    position: relative;
    border: 1px solid #644b02;
    margin: 15px 0 10px 0;
    padding: 20px 10px 10px;
}

.frame > .caption {
    background: #ffffde;
    position: absolute;
    border: 1px solid #644b02;
    left: 10px;
    top: -12px;
    padding: 3px 5px;
}

.author-link {
    padding: 5px;
    font-size: 80%;
    font-style: italic;
}

.product {
    display: inline-block;
    border: 1px solid #644b02;
    width: 182px;
    height: 225px;
    margin: 5px;
    padding: 5px;
    vertical-align: bottom;
}

.product > a {
    display: block;
    position: relative;
    height: 165px;
}

.product > a > .price {
    background: rgba(255, 255, 222, 0.7);
    position: absolute;
    top: 10px;
    right: 10px;
    margin: 0;
}

.product > a > img {
    width: 160px;
    margin: 5px;
    max-height: 122px;
}

.product > a + span {
    display: inline-block;
    margin: 0 0 5px 0;
    font-size: 80%;
}

.product.medium {
    width: 243px;
    height: 211px;
    margin: 7px;
}

.product.medium > a {
    height: 197px;
}

.product.medium > a > img {
    width: 221px;
    max-height: 168px;
}

.gallery > a {
    display: inline-block;
    width: 23%;
    margin: 1%;
    text-align: center;
    vertical-align: top;
}

.gallery > a > img {
    width: 99%;
    height: 134px;
    box-sizing: border-box;
    object-fit: contain;
}

.tooltip { /* стиль текста, наведя или нажав на который появится пояснение */
    position: absolute;
    color: #5B4502;
}

.tooltip > span { /* стиль появляющейся подсказки */
    position: absolute;
    background: #ffffff;
    border: 1px solid #5B4502;
    bottom: 1px;
    left: -300px;
    right: -200px; /* = max-width */
    width: max-content;  /* ширина подсказки может быть не более содержимого */
    max-width: 400px;  /* ширина подсказки может быть не более 20em */
    max-height: 80vh; /* необязательное ограничение по высоте подсказки, 1vh — это 1% от ширины окна */
    overflow: auto;
    visibility: hidden;
    margin: 0 auto .4em; /* поднята на .4em над текстом, наведя или нажав на который появится пояснение */
    padding: 7px;
    font-weight: normal;
    font-size: 90%;
    line-height: normal;
    cursor: auto;
}

.tooltip:after { /* треугольничек под подсказкой; тут тоже везде .4em */
    content: "";
    position: absolute;
    top: -6px;
    left: -7px;
    visibility: hidden;
    margin: 0 0 0 -6px;
    border: 6px solid;
    border-color: #5B4502 transparent transparent;
    cursor: auto;
}

input:focus + .tooltip > span, input:focus + .tooltip:after {
    visibility: visible;
    opacity: 1;
    transition: .6s .2s;
    transform: translateY(0);
}

.tooltip > span,
.tooltip:after { /* анимация */
    opacity: 0;
    transform: translateY(1.5em) scale(.3);
    transform-origin: center bottom;
}

.tooltip:after {
    transform-origin: right top;
}

.input-large + .tooltip {
    right: 200px;
}

.marker {
    background: #957104;
    border-radius: 50%;
    margin: 0 0 0 3px;
    padding: 0 4px 1px;
    font-size: 70%;
    vertical-align: super;
    color: #ffffff;
}