
    /* 
      common styles for elements ... 
    */
    * {
      /* wymagane  np. dla elementów "float";
         bez "border-box" są umieszczane dokładnie na krawędzi strony
         bo "padding" rodzica nie jest wliczany do "width: 100%" */
      box-sizing: border-box;
    }
    a {
      text-decoration: none;
    }
    
    .bold {
      font-weight: bold;
    }
    .italized {
      font-style: italic;
    }
    .centered {
      text-align: center;
    }
    .f-left {
      float: left;
    }
    .f-right {
      float: right;
    }
    .t-left {
      text-align: left !important;
    }
    
    html, body {
      margin: 0; padding: 0;
      width: 100%;
      min-height: 100vh;
      font-family: "Quicksand", "Open Sans", sans-serif;
      scroll-behavior: smooth;
    }
    .frame {
      width: 100%;
      padding: 60px 160px;
    }
    
    .active {
      border-bottom: solid 1px white;
      background-color: #2573d4;
      color: white !important;
      font-weight: bold;
    }
    .inactive {
      border-bottom: none;
    }
    .active-panel {
      display: block !important;
    }


    .tabs {
      min-width: 330px;
      margin: auto;
    }
    .tab-switch {
      width: 100%;
      min-height: 46px;
      border-bottom: solid 1px gray;
      text-align: center;
      overflow: auto;
    }
    .tab {
      display: inline-block;
      min-width: 160px;
      min-height: 40px;
      border: solid 1px gray;
      border-radius: 6px;
      text-align: center;
      padding-top: 10px;
      color: gray;
      margin: 6px 0px;
    }
    .tab-content {
      width: 100%;
      border-left: solid 1px gray;
      border-right: solid 1px gray;
      border-bottom: solid 1px gray;
      padding: 40px;
    }
    .tab-content {
      display: none;
    }
    .panel-title {
      font-size: 26px;
      color: gray;
      line-height: 60px;
    }
    
    @media screen and (max-width: 1350px) {
      .inlined {
      }
      .form-field span.label-2 {
        min-width: 250px !important;
        padding-left:0px !important;
      }
    }
    @media screen and (min-width: 1351px) {
      .inlined {
        float: left;
      }
    }
    
    .form-field {
      padding: 10px 0px;
    }
    .form-field span.label, .form-field span.label-2, .form-field span.label-3 {
      display: inline-block;
      margin-bottom: 6px;
      color: gray;
    }
    .form-field span.label {
      min-width: 250px;
    }
    .form-field span.label-2 {
      min-width: 180px;
      padding-left: 20px;
    }
    .form-field span.label-3 {
      min-width: 180px;
      padding: 8px 0px 0px 20px;
    }
    .form-field span.label-3 span {
      font-size: 22px;
    }
    .form-field span.unit {
      display: inline-block;
      min-width: 70px;
      color: gray;
    }
    .form-field span.error, .form-field span.error-2 {
      display: block;
      color: red;
      text-align: left;
    }
    .form-field span.error {
      padding: 5px 0px 0px 260px;
    }
    .form-field span.error-2 {
      padding: 5px 0px 0px 190px;
    }
    
    .form-field input, .form-field select {
      width: 180px;
      height: 36px;
      border: solid 1px gray;
      border-radius: 4px;
      color: gray;
      font-size: 20px;
      text-align: center;
    }
    .form-field input:read-only {
      background: lightgray;
    }
    .form-field select {
      font-size: 18px !important;
    }
    .form-field option.empty {
      font-style: italic;
      font-size: 15px;
    }
    
    .form-button {
      width: 100%;
      text-align: right;
      overflow: auto;
    }

    .btn {
      display: inline-block;
      padding: 6px 60px;
      line-height: 36px;
      background-color: #2573d4;
      color: white;
      font-size: 18px;
      font-weight: bold;
      border: solid 1px #2573d4;
      border-radius: 8px;
      cursor: pointer;
    }
    @media screen and (max-width: 1350px) {
      .form-button .left, .form-button .right {
        float: none;
        width: 100%;
        text-align: center;
        padding: 10px 0px;
      }
    }
    @media screen and (min-width: 1351px) {
      .form-button .left {
        float: left;
        width: 50%;
        text-align: left;
      }
      .form-button .right {
        float: right;
        width: 50%;
        text-align: right;
      }
    }
    
    
    .summary {
      overflow: auto;
    }
    .errors-summary {
      text-align: left;
      padding: 10px 0px;
      color: red;
    }
    
    .panel-image, .panel-parameters {
      text-align: center;
      padding-top: 30px;
    }
    .panel-image img {
      max-width: 500px;
      width: 100%;
    }
    
    @media screen and (max-width: 1350px) {
      .panel-image, .panel-parameters {
        width: 100%;
        float: none;
      }
    }
    @media screen and (min-width: 1351px) {
      .panel-image, .panel-parameters {
        width: 50%;
        float: left;
      }
    }
    
    
    table {
      width: 100%;
      border: solid 1px gray;
      padding-bottom: 4px;
    }
    table input {
      width: 90%;
      text-align: center;
      font-size: 15px;
      color: gray;
    }
    table input:read-only {
      border: solid 1px gray;
      border-radius: 3px;
      background: lightgray;
      min-width: 50px;
    }
    table th {
      text-align: center;
      font-weight: bold;
      color: gray;
      padding: 8px 0px;
    }
    table td {
      text-align: center;
      color: gray;
      padding: 4px 0px;
    }
    table td span.error {
      display: block;
      color: red;
      text-align: center;
    }
    
