html, body {
  height: 100%;
  min-width: 380px;
}

body {
  margin: 0;
  font-family: Nunito, sans-serif;
  font-size: 18px;
}

h1 {
  font-size: 28px;
}

h2 {
  font-size: 24px;
  text-transform: uppercase;
  font-weight: normal;
  color: #03783d;
}
h3 {
  font-size: 20px;
}
h4 {
  font-size: 18px;
}

.even h2 {
    color: #00b75b;
}

a h3,
h3 {
  text-transform:uppercase;
  font-weight: normal;
  color: #1e3888;
}
.even h3 {
  color: #3e68b9;
}

h4 {
  text-transform: uppercase;
  color: #343434;
}

a, a:visited, a:hover {
  color: #213b8b;
}
.even a, .even a:visited, .even a:hover {
  color: #f47f00;
}

a > [data=price] {
  color: black;
}

a p,
p {
  text-align: justify;
  color: black;
}

ul {
  margin-bottom: 2em;
}

.del {
  text-decoration: line-through;
  text-decoration-color: gray;
}

blockquote {
  font-size: 125%;
  color: #404040;
  font-weight: bold;
  font-style: italic;
  padding: 0 20px;
  margin: 24px;
}

button {
  color: white;
  background: #008b45;
  border: 0;
  border-bottom: 3px solid #03783d;
  border-radius: 5px;
  text-transform: uppercase;
  font-size: 1em;
  padding: 0.2em 1em;
  margin: 0 0.1em;
  cursor: pointer;
}
button:active {
  border: 0;
  border-top: 3px solid #03783d;
}
button[price="0"] {
  visibility: hidden;
}

table {
  width: 100%;
  border-spacing: 0;
  color: #343434;
  margin-bottom: 3em;
}
.even table {
  color: white;
}
td {
  margin: 0;
  padding: 1em 0;
  border-bottom: 1px solid #c2c3c5;
  white-space: nowrap;
}
tr:first-child > td {
  border-top: 1px solid #c2c3c5;
}
th:nth-child(2), /* price */
td:nth-child(2) {
  text-align: right;
  width: 7em;
}
th:nth-child(3), /* discount */
td:nth-child(3) {
  text-align: right;
  width: 7em;
}
th:nth-child(4), /* count */
td:nth-child(4){
  text-align: right;
  width: 3em;
}
th:nth-child(5), /* summary */
td:nth-child(5){
  text-align: right;
  width: 7em;
}
td:nth-child(6){
  text-align: right;
  padding-right: 0em;
  padding-left: 0em;
  width: 8em;
}

img.right {
  display: block;
  float: right;
  padding-left: 2em;
  padding-bottom: 2em;
}

#menu {
  height: 64px;
  width: 100%;
  border-bottom: 3px solid #03783d;
  position: fixed;
  top: 0;
  z-index: 100;
  font-size: 22px;
  line-height: 64px;
  background: #008b45;
}
#menu a {
  color: white;
  margin: 0 5px;
  text-decoration: none;
}
#menu a:visited { color: white; }
#menu a:hover { color: yellow; }
#menu a.selected { font-weight: bolder; }

#menu .service {
  text-transform: uppercase;
  font-size: 20px;
}
#menu .service.selected {
  border-bottom: 2px solid white;
  font-weight: normal;
}

.dropdown {
  position: relative;
  display: inline-block;
}
.dropdown .menu {
  display: none;
  position: absolute;
  left: 0;
  background-color: #008542;
  border: 1px solid #03783d;
  border-radius: 3px;
  /*padding: 8px 0px;*/
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,1);
  line-height: 32px;
  z-index: 1;
  text-align: left;
}
.dropdown.right .menu {
  right: 0;
  left: auto;
}
.dropdown .menu a {
  display: block;
  padding: 8px 16px;
  border-bottom: 3px solid #03783d;
  white-space: nowrap;
}
.dropdown:hover .menu { display: block; }


a.anchor {
  display: block;
  position: relative;
  top: -64px;
  visibility: hidden;
}

.logo {
  padding: 2px 0; /* need by burger-menu fix */
  line-height: 20px;
  float: left;
}
#menu img {
  width: 32px;
  transform: translateY(6px);
  filter: invert(99%) sepia(0%) saturate(0%) hue-rotate(168deg) brightness(104%) contrast(103%);
}
#menu .logo img {
  width: 60px;
  height: 60px;
  transform: translateY(0);
}

#upnav {
  position: fixed;
  display: none;
  bottom: 2em;
  right: 2em;
  width: 2em;
  height: 1.7em;
  border: 1px solid #1e3888;
  border-bottom: 3px solid #1e3888;
  border-radius: 2px;
  background: #3e68b9;
}
#upnav a, #upnav a:visited {
  color: white;
  text-decoration: none;
}
#upnav .arrow {
  width: 0.6em;
  height: 0.6em;
  border-top: 0.25em solid white;
  border-left: 0.25em solid white;
          transform: rotate(45deg);
      -ms-transform: rotate(45deg); /* IE 9 */
  -webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
  margin: auto;
  margin-top: 0.6em;
  margin-bottom: -0.2em;
}


.page-width {
  max-width: 1024px;
  margin: auto;
}

.page-height {
  min-height: calc(100vh - 160px);
}

.page {
    padding: 16px;
}

.page.odd {
  background: white;
}
.page.even {
  background: #343434;
  color: white;
}

.top {
  height: 64px;
}
.fix-fixed {
  height: 67px;
  border: 0px solid red;
}
.top .page-width {
  position: relative;
}

a.button, a:visited.button {
  line-height: 1.5em;
  padding: 0.4em 1em 0.1em 1em;
  border-bottom: 3px solid #03783d;
  border-radius: 2px;
  background: #008b45;
  color: white;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}
a.delete, a:visited.delete {
  background: #dd0000;
  border-bottom: 3px solid #be0000;
}
a.info, a:visited.info {
  background: #213b8b;
  border-bottom: 3px solid #132459;
}
a.warning, a:visited.warning {
  background: #f47400;
  border-bottom: 3px solid #b05c00;
}

.container {
  /*max-width: 1369px;*/
  max-width: 100%;
  display: flex;
  min-height: calc(100vh - 234px);
  flex-direction: row;
}
.sidebar {
    width: 334px;
    background-color: #f5f5f5;
    padding: 20px;
    box-sizing: border-box;
    flex-shrink: 0;
}
.content {
    flex-grow: 1;
}
.content > p {
  padding: 12px;
  font-size: 120%;
  font-style: italic;
  color: #404040;
}

.tree-view, .tree-view ul {
    list-style-type: none;
    padding-left: 15px;
    margin-bottom: 0;
}

.tree-view li {
    margin: 5px 0;
}

.container h1 {
  margin-top: 0;
  margin-left: 20px;
  margin-bottom: 12px;
}
.container h2 {
  margin-top: 0;
}
.container h3 {
  margin-top: 5px;
  margin-left: 12px;
  margin-bottom: 12px;
}

.item .price,
.item .order,
.right-panel .price {
    text-align: right;
    font-weight: bold;
    font-size: 130%;
}


.content .item { /* nový výpis produktů */
width: 334px;
  float: left;
  margin-left: 11px;
  margin-bottom: 11px;
  background: #f0f0f0;
}
.content .frame {
  width: 300px;
  height: 300px;
  margin: auto;
  align-items: center;
  justify-content: center;
  display: flex;
  background: white;
}
.content img {
  max-width: 300px;
  max-height: 300px;
  display: block;
}
.content .item p {
  padding: 12px;
  margin: 0;
  height: 5em;
}

.content .actions {
  padding-left: 12px;
  padding-right: 12px;
  padding-bottom: 12px;
  color: black;
}
.content .actions s,
.right-panel .actions s { /* old price */
  font-weight: bold;
  font-size: 130%;
  color: gray;
}
.content .actions .discount,
.right-panel .actions .discount {
  color: #dc3545;
}

.content button,
.right-panel button {
  display: block;
  float: right;
}

.right-panel ul {
  list-style: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
.right-panel ul li {
  position: relative;
  padding-left: 2em;
  padding-top: 6px;
  padding-bottom: 6px;
  margin: 0 0;
  color: #1e3888;
}
.right-panel ul li:hover {
  box-shadow: inset 0 -2px 2px rgba(0, 0, 0, 0, 0.12);
  text-decoration: underline;
}

.right-panel ul li::before {
  content: "";
  position: absolute;
  left: 0.25em; /* posun kolečka od levého okraje položky */
  top: 50%;
  transform: translateY(-50%);
  width: 1em;
  height: 1em;
  border-radius: 50%;
  border: 1px solid gray;
  box-shadow: inset 0 -2px 2px rgba(0,0,0,0.12);
  display: block;
}
.right-panel ul li.active {
  font-weight: bold;
}
.right-panel ul li.active::after {
  content: " ✓";
  font-weight: bold;
}

li.red::before {
  background: red;
}
li.green::before {
  background: green;
}
li.blue::before {
  background: blue;
}
li.yellow::before {
  background: yellow;
}
li.orange::before {
background: orange;
}
li.purple::before {
background: purple;
}
li.black::before {
  background: black;
}
li.white::before {
 background: white;
}
li.silver::before {
  background: silver;
}
li.gold::before {
  background: gold;
}
li.rainbow::before {
  background:
    /* průhledné střed + barevný prstenec */
    radial-gradient(circle, transparent 0.0, transparent 60%, rgba(0,0,0,0) 60%) ,
    conic-gradient(
      red 0deg 45deg,
      orange 45deg 90deg,
      yellow 90deg 135deg,
      lime 135deg 180deg,
      cyan 180deg 225deg,
      blue 225deg 270deg,
      magenta 270deg 315deg,
      red 315deg 360deg
      );
}

.breadcrumb {
  padding: 8px 15px;
  margin-top: 0;
  margin-bottom: 0;
  list-style: none;
  background-color: #f5f5f5;
}
.breadcrumb>li {
  display: inline-block;
}
.breadcrumb>li+li:before {
  padding: 0 5px;
  color: #ccc;
  content: "/\00a0";
}
.breadcrumb>.active {
  color: #777;
}

.right-panel {
  float: right;
  width: 334px;
  background: linear-gradient(180deg, #f5f5f5 0px, #ffffff 20px);
  padding-top: 25px;
  padding-left: 12px;
  padding-right: 12px;
  padding-bottom: 12px;
}
.right-panel > h1 {
  margin-top: 0;
}

.figure p.caption {
  text-align: center;
  font-style: italic;
}

/*
.figure img,
#gallery img {
  mask-image: url('/images/mask.svg');
  mask-size: 100% 100%;
  mask-repeat: no-repeat;

  -webkit-mask-image: url('/images/mask.svg');
  -webkit-mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
}
*/

#gallery {
  width: 666px;
  height: 520px;
  margin: auto;
  align-items: center;
  justify-content: center;
  display: flex;
  background: linear-gradient(180deg, #f5f5f5 0px, #ffffff 20px);
}
#gallery img {
  display: none;
  max-width: 654px;
  max-height: 490px;
}
#gallery img:first-child {
  display: inline-block;
}
.gallery-controls {
  width: 666px;
  margin: auto;
  text-align: center;
  font-size: 44px;
  line-height: 24px;
  display: inline-block;
}
.gallery-controls span {
  padding: 0 100px;
  cursor: pointer;
}

ol > li {
    font-weight: normal;
}

.offer {
  float: left;
  width: 310px;
  height: 310px;
  margin-right: 44px;
  text-align: center;
  border: 1px solid #c2c3c5;
}
.offer:nth-child(4) {
  margin-right: 0;
}
.offer .image {
  width: 200px;
  height: 200px;
  margin: auto;
  line-height: 210px;
}
.offer .image img {
  max-width: 200px;
  max-height: 200px;
  vertical-align: middle;
}

.basket_view input,
.mail-us .inputs {
  float: left;
}
.basket_view input,
.basket_view textarea,
.mail-us .inputs input,
.mail-us textarea,
.login input {
  display: block;
  font-size: 1em;
  margin-bottom: 1em;
  padding: 0.5em;
  border: 0;
  border-radius: 5px;
  color: #3e68b9;
  width: 14em;
  background: #eee;
  border-right: 2px solid transparent;
  border-bottom: 2px solid transparent;

}

.mail-us .inputs input[type=checkbox] {
  display: inline;
}

.login {
  margin: auto;
  max-width: 30%;
  min-width: 20em;
}
.login input {
  width: 100%;
}

.basket_view input {
  width: 45%;
}
.basket_view input:nth-child(2),
.basket_view input:nth-child(4),
.basket_view input:nth-child(6){
  margin-left: 1em;
}
.basket_view input[name=postal_code] {
  max-width: 5em;
}
.basket_view input[name=city] {
  max-width: 19em;
  margin-left: 1em;
}
.basket_view textarea {
  width: 95%;
}
.basket_view input[type=checkbox] {
  width: 2em;
}

input.missing {
  border-right: 2px solid red;
  border-bottom: 2px solid red;
}
tr.missing td, tr.missing th {
  border-bottom: 2px solid red;
}
.basket_view label[for=condition].missing {
  color: red;
}

section.contact {
  line-height: 1.6;
}

section.contact a {
  font-weight: bold;
}

section.contact p strong {
  display: inline-block;
  width: 120px;
}

.mail-us textarea {
  font-family: Nunito, sans-serif;
  font-size: 1em;
  width: 30em;
  height: 7em;
  float: right;
  border: 0;
  border-radius: 5px;
  padding: 0.5em;
  color: #3e68b9;
}
.mail-us button {
  margin-top: 1em;
  padding: 0.5em 3em;
  float: right;
}

.application {
  font-size: 1em;
}
.application .inputs {
  width: 100%;
}
.application label {
  text-transform: uppercase;
  font-weight: normal;
  color: #1e3888;
}

.application input {
  border: 1px solid #c2c3c5;
  border-radius: 0.3em;
  margin: 0 0 1em 0;
  padding: 1em 0;
  font-family: 'Roboto Slab', serif;
  font-size: 1em;
  width: 99%;
}
.application input[type=radio] {
  width: auto;
  margin: 1.5em 1em;
}
.application .note {
  font-size: 90%;
  font-style: italic;
  color: gray;
}

.basket_view {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(128,128,128,0.5);
  z-index: 100;
  overflow: auto;
}
.basket_view > .body {
  margin: auto;
  margin-top: 1em;
  padding: 0 1em;

  background: white;
  opacity: 0.95;
  border: 1px solid gray;
  border-bottom: 3px solid gray;
  border-right: 3px solid gray;
  border-radius: 5px;

  max-width: 1024px;
  /*
  margin: 0;
  margin: auto;
  /*
  min-width: 10em;
  min-height: 2em;
  */
}
.basket_view a[data=close] {
  float: right;
  margin: 0.5em;
}
.basket_view th {
  border-bottom: 1px solid #c2c3c5;
}
.basket_view tr[type=total] {
  font-weight: bold;
}
.basket_view tr[type=total] td {
  border-top: 1px solid #c2c3c5;
}
.basket_view tr[type=payment] td {
  border-bottom: 0px;
  padding: 0.2em 0 0 0;
}
.basket_view tr[type=payment] td input {
  margin-top: 0.25em;
}


.message {
  clear: both;
  background: white;
  margin: 1em 0;
  padding: 0.5em;
  padding-bottom: 0;
  border-radius: 5px;
  min-height: 3.5em;
}
.message .symbol {
  float: left;
  font-size: 2em;
  margin-top: -0.1em;
  margin-right: 0.2em;
  color: #3e68b9;
}
.message .content {
  font-size: 1.2em;
  margin-top: 0.5em;
  padding: 0 1em;
}
.message a[data=close] {
  float: right;
  cursor: pointer;
  color: black;
  width: 1em;
  text-align: center;
  margin-top: -1em;
  margin-right: -1em;
}
.info {
  color: black;
  background: lightgray;
}
.info .symbol {
  color: white;
  border: 0.1em solid blue;
  border-radius: 5px;
  font-size: 1em;
  padding: 0.2em 0.5em;
  background: blue;
}

.error {
  color: red;
  background: lightgray;
}
.error .symbol {
  color: white;
  border: 0.1em solid red;
  border-radius: 1em;
  font-size: 1em;
  font-weight: bold;
  width: 1.3em;
  text-align: center;
  margin-right: 0.5em;
  background: red;
}

.clear {
  clear: both;
}

.col-50 {
    width: 50%;
    float: left;
}
.right {
  text-align: right;
  float: right;
}

.uppercase {
  text-transform: uppercase;
}
.bold {
  font-weight: bold;
}

.template-info {
  max-width: 100%;
  overflow-x: scroll;
}

@media (max-width: 1074px) {
  .container { flex-direction: column; }
  .sidebar { width: 100%; }
  .content { width: 100%; }
  }
@media (max-width: 1067px) {
  #menu .logo { padding-left: 16px; }
  nav .right:last-of-type { padding-right: 16px; }
}

@media (max-width: 850px) {
  #menu a {
    margin: 0;
    padding-left: 5px;
    padding-right: 5px;
  }

  /*  dropdown fill whole page width */
  /* .dropdown .menu { position: fixed; width: 100%; } */

  /* space for .burger:before icon */
  #menu .right:last-of-type{ padding-right: 64px; }

  .burger:before {
    /* positioning to most right corner (to space from #menu a:nth-child(2) */
    position: fixed; clear: right; top: 0; right: 0;

    float: right;
    width: 68px;
    height: 64px;

    /*vertical-align: middle;*/
    content: "";
    background: no-repeat center center;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
    background-size: 32px 32px;
  }
  .burger {
    line-height: 48px;
  }
  .burger:hover a,
  .burger:hover span {
    display: block;
  }
  .burger a {
    display: none;
    background-color: #008542;
    border-bottom: 3px solid #03783d;
    padding-left: 16px;
    padding-right: 16px;
  }
  #menu .burger a {
    padding-left: 16px;
    padding-right: 16px;
  }
  .burger > a:first-child {
    clear: both;
  }

  .burger .dropdown .menu {
    width: calc(100% - 4.5em);
    text-align: left;
    left: 4em;
    right: auto;
  }

  .page.odd { min-height: calc(100% - 282px); }
}

@media (max-width: 880px) {
  .mail-us textarea { width: 23em; }
}

@media (max-width: 760px) {
  .mail-us .inputs { float: none; }
  .mail-us .inputs input { width: 95%; margin-bottom: 1em; }
  .mail-us textarea {
    width: 95%;
    float: none;
  }
  .mail-us { float: none; }
  .mail-us button { margin-top: 1em; }
}
