/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* Utility */

.invisible {
   display: none;
}

.button-delete {}

.disabled {
   opacity: 0.5;
   pointer-events: none;
   transition: all 0.3s;
}

#page-content ul {
   list-style-type: circle;
}

#page-content ul.no-list-type {
   list-style-type: none;
}

div.clear {
   clear: both;
}

div.clearLine {
   display: block;
   width: 100%;
   clear: both;
}

em {
   font-style: italic;
}

.underlined {
   text-decoration: underline;
}

/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* Colour assignment */

.input-bad {
   background: var(--bmi-red-20pc);
}

.input-good {
   background: var(--bmi-green-20pc);
}


/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* */

#page-content input,
#page-content select:not(.select-product-for-warranty) {
   font-size: 130%;
   line-height: 130%;
   width: 100%;
   box-sizing: border-box;
   float: left;
   clear: both;
   padding: 5px;
}


label {
   font-size: 17px;
   margin-top: 20px;
   margin-left: 8px;
   float: left;
   clear: left;
   font-weight: bold;
}

#page-content select.select-product-for-warranty {
   font-size: 110%;
   line-height: 110%;
}

#page-content input[type='checkbox'] {
   min-width: auto;
   width: auto;
}

.selection-button {
   display: inline-block;
   border: 1px solid rgb(100, 100, 100);
   padding: 10px;
}

.input-product label,
.input-product input {
   display: inline-block;
}

.input-product label:not(:first-child) {
   margin-top: 6px;
}

.button {
   color: var(--bmi-green);
   border: 2px solid var(--bmi-green);
   background: #fff;
   padding: 7px 7px;
   text-align: center;
   text-decoration: none;
   display: inline-block;
   font-size: 16px;
   min-width: 100px;
   transition: all 0.4s;
   box-sizing: border-box;

   cursor: pointer;
}

.button:hover {
   background-color: var(--bmi-green); /* Green */
   border: 2px solid var(--bmi-green);
   color: #fff;
   transition: all 0.4s;
}

.button-delete,
.button-cancel {
   color: var(--bmi-red);
   border: 2px solid var(--bmi-red); /* Red */
   background: #fff;
   transition: all 0.4s;
}

.button-delete:hover,
.button-cancel:hover {
   background-color: var(--bmi-red); /* Red */
   border: 2px solid var(--bmi-red); /* Red */
   color: #fff;
   transition: all 0.4s;
}



 .sgi-table {
   width: 100%;
   border: none;
   margin-top: 20px;
   margin-bottom: 30px;
}

.sgi-table td, .sgi-table th {
   border: 1px solid #eee;
   padding: 5px 9px;
}

.sgi-table td .button {
   padding: 8px 1px;
   width: 100%;
}

.sgi-table tbody td,
.sgi-subtable tbody td {
   padding-top: 8px;
}

.sgi-table td.product-list {
   text-align: center;
}


.sgi-table th {
   font-weight: bold;
   background: var(--main-color);
   color: #fff;
   vertical-align: middle;
   padding: 10px 0px;
}

.sgi-table td.system-years {
   font-size: 200%;
   line-height: 200%;
   text-align: center;
   vertical-align: middle;
}

.sgi-table h4 {
   font-size: 130%;
   font-weight: bold;
   margin-top: 20px;
   margin-bottom: 4px;
   margin-left: 15px;
   font-family: Arial;
}

.sgi-subtable {}

.table-grupa {
   width: 100%;
}

.sgi-table .col-min,
.sgi-subtable .col-min {
   width: 1% !important;
   white-space: nowrap !important;
}

.sgi-subtable td, .sgi-subtable th {
   border: 1px solid #ddd;
   padding: 1px 3px;
}

.sgi-subtable th {
   font-weight: bold;
   background: #eee;
   color: #000;
   vertical-align: middle;
   padding: 6px 3px 3px 3px;
}

.sgi-table td.system-years {
   font-size: 200%;
   line-height: 200%;
   text-align: center;
}



#selected-warranty-list th:nth-child(3) {
   min-width: 150px;
}


.separator {
   width: 100%;
   height: 30px;
   clear: both;
}

.product-input,
.client-input,
.location-input {
   width: 400px;
   padding: 3px;
   margin: 5px 0px;
}



#gwarancje,
#sugestie,
#produkty {
   margin-top: 30px;
}

#suggested-warranty-list th:first-child() {
   max-width: 50%;
}


#added-product-list .reusable-product {
   font-size: 80%;
   line-height: 80%;
   color: rgba(0,0,0,0.4);
}

.claimed-product-info {
   font-size: 60%;
}


/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* */

.bootbox-alert div div div button.btn-primary,
.bootbox-alert div div div button.btn-primary:hover,
.bootbox-alert div div div button.btn-primary:visited {
   /* background-color: var(--primary-color) !important;
   border-color: var(--primary-color) !important; */
   box-shadow: none !important;
}

.bootbox-alert div div div button.btn-primary:focus,
.bootbox-alert div div div button.btn-primary:active:focus {
   box-shadow: 0 0 0 0.2rem var(--bmi-dark-blue) !important;
}

.bootbox button {
   /* color: var(--bmi-dark-blue) !important; */
}




/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* */

.policy-article {
   margin-top: 60px;
}

#page-content ul li {
   margin-left: 20px;
   font: 13px/16px "Effra Light";
}

#page-content p,
#page-content ul li,
#page-content ol li {
   margin-top: 8px;
   font: 16px/19px "Effra Light";
}



/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* Scaling */

#page-content {
   padding-left: 10px;
   padding-right: 30px;
}

h1 {
   font-size: 30px;
   line-height: 33px;
   margin-top: 40px;
   margin-bottom: 35px;
   font: 30px/30px "Effra Bold";
}

h2 {
   font-size: 22px;
   line-height: 24px;
   margin-top: 33px;
   margin-bottom: 26px;
   font: 22px/22px "Effra Bold";
}

h3 {
   font-size: 17px;
   line-height: 19px;
   margin-top: 25px;
   margin-bottom: 20px;
   font: 17px/17px "Effra Bold";
}

strong {
   font-family: "Effra Bold";
}

@media screen and (max-width: 500px){
   /* small screens, below display size */
}

@media screen and (max-width: 564px){
   /* */
}

@media screen and (min-width: 501px) and (max-width: 750px){
   /* */
}

@media screen and (min-width: 751px) and (max-width: 960px){
   /* */
}

@media screen and (min-width: 961px){
   /* */
   #page-content p {
      margin-bottom: 15px;
   }

}

@media screen and (min-width: 1000px){
   #page-content input,
   #page-content select:not(.select-product-for-warranty) {
      font-size: 130%;
      line-height: 130%;
      width: 60%;
      box-sizing: border-box;
   }

}

@media screen and (min-width: 970px){
   /* small screens */
   #page-content {
      padding-left: inherit;
      padding-right: inherit;
   }
}

.input-button-clear {
   margin-left: 50px;
}

/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* Instruction steps */

.registration-step-explanation {
   overflow: auto;
   display: flex;
   align-items: stretch;
   background: var(--bmi-grey-10pc);
   min-height: 180px;
}

/* COMMON */
.registration-step-explanation .registration-step-title {
   background: var(--bmi-cyan);
   width: 33%;
   float: left;
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding: 20px 30px 20px 30px;
}

.registration-step-explanation .registration-step-title h1 {
   margin: 0;
   color: #fff;
   margin-bottom: inherit;
}
.registration-step-explanation .registration-step-title hr {
   border: none;
   background: none;
   border-top: 4px solid var(--bmi-yellow);
   width: 20%;
   margin: 13px 0px;
}
.registration-step-explanation .registration-step-title h2 {
   margin: 0;
   margin-top: inherit;
   color: #fff;
}

.registration-step-explanation .registration-step-title h1,
.registration-step-explanation .registration-step-title hr,
.registration-step-explanation .registration-step-title h2 {
}


.registration-step-explanation .registration-step-description {
   float: right;
   width: calc(100% - 33%);
   display: flex;
   align-items: center;
}

.registration-step-explanation .registration-step-description p {
   color: var(--bmi-dark-blue);
   padding: 10px;
   font-weight: bold;
}

/* option: LEFT */
.registration-step-explanation,
.registration-step-explanation.step-left {}

/* option: RIGHT */
.registration-step-explanation.step-right {}



/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* Table styles */

.sgi-table th {
   padding-left: 5px;
   padding-right: 5px;
   font-size: 130%;
}

.sgi-subtable tr:not(.table-header):nth-child(even) td {
   background: #f9f9f9;
}

.sgi-table.table-system tr td:nth-child(3),
.sgi-table.table-products tr td:nth-child(2) {
   width: 100px;
}

.sgi-table.table-system tr:not(.table-header) td:nth-child(1) {
   max-width: 50%;
   width: 50%;
}


/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* Rulesets */

.sgi-rules h1:not(:first-child) {
   margin-top: 70px;
}

.sgi-rules ol {
   list-style-type: decimal;
}

.sgi-rules ol li {
   margin: inherit;
   padding: inherit;
}

/* counters */
.sgi-rules {
   counter-reset: ol_level0;
}

.sgi-rules > h1:not(:first-child) {
   counter-increment: ol_level0;
}

.sgi-rules > ol,
.sgi-rules > ul > li > ol,
.sgi-rules > ul > li > ul > li > ol {
   counter-reset: ol_level1;
}

.sgi-rules > ol > li,
.sgi-rules > ul > li > ol > li,
.sgi-rules > ul > li > ul > li > ol > li {
   counter-increment: ol_level1;
}

.sgi-rules > ol > li::marker,
.sgi-rules > ul > li > ol > li::marker,
.sgi-rules > ul > li > ul > li > ol > li::marker {
   content: counter(ol_level0) "." counter(ol_level1) ". ";
}

.sgi-rules > ol > li > ol,
.sgi-rules > ul > li > ol > li > ol {
   counter-reset: ol_level2;
}

.sgi-rules > ol > li > ol > li,
.sgi-rules > ul > li > ol > li > ol > li {
   counter-increment: ol_level2;
}

.sgi-rules > ol > li > ol > li::marker,
.sgi-rules > ul > li > ol > li > ol > li::marker {
   content: counter(ol_level0) "." counter(ol_level1) "." counter(ol_level2) ". " ;
}

.sgi-rules > ol > li > ol > li > ol,
.sgi-rules > ol > li > ol > li > blockquote > ol {
   counter-reset: ol_level3;
}

.sgi-rules > ol > li > ol > li > ol > li,
.sgi-rules > ol > li > ol > li > blockquote > ol > li {
   counter-increment: ol_level3;
}

.sgi-rules > ol > li > ol > li > ol > li::marker,
.sgi-rules > ol > li > ol > li > blockquote > ol > li::marker {
   content: counter(ol_level0) "." counter(ol_level1) "." counter(ol_level2) "." counter(ol_level3) ". ";
}

/* vertical spacing */
.sgi-rules > ol > li {
   margin-top: 45px !important;
}

.sgi-rules > ol > li > ol > li {
   margin-top: 20px !important;
}

.sgi-rules > ol > li > ol > li > ol > li {
   margin-top: 10px !important;
}


/* horizontal spacing */
.sgi-rules > ol,
.sgi-rules > ul {
   margin-left: 20px;
}

.sgi-rules > ol > li > ol,
.sgi-rules > ol > li > ul,
.sgi-rules > ul > li > ol,
.sgi-rules > ul > li > ul,
.sgi-rules > ol > li > blockquote > ol,
.sgi-rules > ol > li > blockquote > ul,
.sgi-rules > ul > li > blockquote > ol,
.sgi-rules > ul > li > blockquote > ul {
   margin-left: 25px;
}

.sgi-rules > ol > li > ol > li > ol,
.sgi-rules > ol > li > ul > li > ol,
.sgi-rules > ul > li > ol > li > ol,
.sgi-rules > ul > li > ul > li > ol,
.sgi-rules > ol > li > ol > li > ul,
.sgi-rules > ol > li > ul > li > ul,
.sgi-rules > ul > li > ol > li > ul,
.sgi-rules > ul > li > ul > li > ul,
.sgi-rules > ol > li > blockquote > ol > li > ol,
.sgi-rules > ol > li > blockquote > ul > li > ol,
.sgi-rules > ul > li > blockquote > ol > li > ol,
.sgi-rules > ul > li > blockquote > ul > li > ol,
.sgi-rules > ol > li > blockquote > ol > li > ul,
.sgi-rules > ol > li > blockquote > ul > li > ul,
.sgi-rules > ul > li > blockquote > ol > li > ul,
.sgi-rules > ul > li > blockquote > ul > li > ul,
.sgi-rules > ol > li > ol > li > blockquote > ol,
.sgi-rules > ol > li > ul > li > blockquote > ol,
.sgi-rules > ul > li > ol > li > blockquote > ol,
.sgi-rules > ul > li > ul > li > blockquote > ol,
.sgi-rules > ol > li > ol > li > blockquote > ul,
.sgi-rules > ol > li > ul > li > blockquote > ul,
.sgi-rules > ul > li > ol > li > blockquote > ul,
.sgi-rules > ul > li > ul > li > blockquote > ul,
.sgi-rules > ol > li > blockquote > ol > li > blockquote > ol,
.sgi-rules > ol > li > blockquote > ul > li > blockquote > ol,
.sgi-rules > ul > li > blockquote > ol > li > blockquote > ol,
.sgi-rules > ul > li > blockquote > ul > li > blockquote > ol,
.sgi-rules > ol > li > blockquote > ol > li > blockquote > ul,
.sgi-rules > ol > li > blockquote > ul > li > blockquote > ul,
.sgi-rules > ul > li > blockquote > ol > li > blockquote > ul,
.sgi-rules > ul > li > blockquote > ul > li > blockquote > ul {
   margin-left: 30px;
}

.sgi-rules li > blockquote > p {
   margin-left: -32px;
}

.sgi-rules table {
   width: 95%;
   border: none;
   margin-top: 20px;
   margin-bottom: 30px;
}

.sgi-rules table td,
.sgi-rules table th {
   border: 1px solid #eee;
   padding: 5px 9px;
}

.sgi-rules table td .button {
   padding: 8px 1px;
   width: 100%;
}


.sgi-rules table th {
   font-weight: bold;
   background: var(--main-color);
   color: #fff;
   vertical-align: middle;
   padding: 10px 0px;
}

.sgi-rules table th {
   padding-left: 5px;
   padding-right: 5px;
   font-size: 110%;
}

.sgi-rules table tbody:tr:nth-child(even) td {
   background: #f9f9f9;
}


/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* Overrides */

#page-content-inner a {
   text-decoration: underline;
}

#date-updated {
   display: none;
   position: absolute;
   top: 70px;
   right: 35px;
}

.bootbox-body {
   margin: 20px 5px;
   font-size: 120%;
   line-height: 120%;
}

sup {
   font-size: 70%;
   vertical-align: super;
}

.bottom-spot h2 {
   height: 30px;
}

/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* Language switcher */

div#page-header-social-media {
   right: 5px;
}

.lang-selector {
   padding: 2px 20px;
   border: 1px solid #c4c4c4;
   border-radius: 10px;
   display: flex;
   justify-content: center;
   align-items: center;
   cursor: pointer;
}

#page-header-social-media a:last-of-type {
   margin-right: 14px;
}

#lang-picker .country-flag {
   height: auto;
   aspect-ratio: 3/2;
   border: 1px solid #aaa;
   box-sizing: border-box;
   margin: 0;
   padding: 0;
}

#lang-picker {
   width: 51px; /* calculate this so that this/1.5 = int value */
   position: absolute;
   top: 0px;
   right: 0px;
   overflow: hidden;
   height: 0px;
}

#lang-picker a {
   margin: 0;
   padding: 0;
   display: block;
   border: none;
}


@media screen and (max-width: 1050px){
   div#page-header-social-media {
      right: 35px;
   }
}

span.missing-translation {
   color: #fff;
   background: #f00;
   padding: 3px;
   display: inline-block;
}

/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* Single product: sub-form; */

#sgi-main .sub-form {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   flex-wrap: wrap;
   align-content: flex-start;
   justify-content: center;
}

#sgi-main .sub-form .input-holder {
   width: 99%;
}

#sgi-main .sub-form input {
   width: 100%;
}

@media screen and (min-width: 650px){
   #sgi-main .sub-form {
      flex-direction: row;
      justify-content: space-evenly;
      align-items: center;
      align-content: center;
      flex-wrap: wrap;
   }

   #sgi-main .sub-form .input-holder {
      width: 33%;
   }
}

.equal-button-holder {
   display: flex;
   justify-content: space-evenly;
   align-items: center;
}

.equal-button-holder-left {
   justify-content: flex-start;
}

#sgi-main button, #sgi-main .button {
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 13px 20px;
   font-weight: normal;
   font-size: 120%;
}

#sgi-main a {
   text-decoration: none !important;
}

#button-wroc-do-wyboru-drogi {
   margin-top: 30px;
   display: inline-block !important;
   padding: 10px 25px !important;
}

#product-input-component h3 {
   margin-bottom: 5px;
}

#product-input-component .produkty-obligatoryjne {
   clear: both;
   width: 55%;
   margin-top: 50px;
   margin-left: 20px;
   font-weight: bold;
}
#product-input-component .produkty-obligatoryjne h4 {
   margin-top: 10px;
   font-size: 110%;
   line-height: 125%;
}
#product-input-component .produkty-obligatoryjne li {
   font-size: 110%;
}

#sub-form-holder {
   margin-top: 70px;
   border-top: 2px solid #b9b9b9;
}

#pending-warranties-table tbody td{
   vertical-align: middle;
}

#pending-warranties-table tbody td:nth-child(2){
   font-weight: bold;
   font-size: 150%;
}

#copy-data-from-previous-step {
   margin-top: 10px;
   width: 50%;
}



div#navigation-top ul li a {
   padding: 0px 14px;
}

.frontpage-block img {
   position: absolute;
   top: 0px;
   right: 0px;
}

.frontpage-block.frontpage-block-right img {
    left: 0px;
    right: auto;
}

.frontpage-inside-block > hr {
   border-top: 4px solid var(--bmi-cyan);
}


/* ------------------------------------------------------------------------ */
/* Overrides */
div#navigation-top {
    background: #fff;
}

#bmi-icopal-header-logo {
   top: 40px !important;
}

div#navigation-top ul li a {
    text-shadow: none;
    color: #000;
    font-weight: 100;
}

div#navigation-top ul li a:hover, div#navigation-top ul li a:active {
    background-color: #ccc;
}

.menu-underline {
    width: 100%;
    height: 6px;
    background: var(--main-color);
}

div#page-header {
    height: 100px;
}

input[type=checkbox] {
   width:  25px !important;
   height: 25px !important;
   position: relative;
   top:  -9px;
   left: -3px;
   cursor: pointer;
}

a.button {
   font-family: Arial;
}

#copy-data-from-previous-step {
   font-size: 130% !important;
}

div.bootbox-body {
   margin-top: 36px;
}

.bootbox button {
   border-radius: 0 !important;
   box-sizing: border-box;
   -moz-box-sizing: border-box;
   -webkit-box-sizing: border-box;

   cursor: pointer;
   border: 2px solid var(--bmi-green) !important;
   background-color: white;
   color: var(--bmi-green) !important;

   transition: all 0.2s;
}

.bootbox button:hover {
   background-color: var(--bmi-green);
   color: #fff !important;
   transition: all 0.2s;
}

.bootbox button.bootbox-close-button.close {
   float: right;
   border: 2px solid var(--bmi-red) !important;
   background: #fff;
   color: var(--bmi-red) !important;
}

.bootbox button.bootbox-close-button.close:hover {
   background-color: var(--bmi-red);
   color: #fff !important;
   transition: all 0.2s;
}

.sgi-table h4 {
   background: var(--bmi-dark-blue);
   color: #fff;
   display: inline-block;
   padding: 12px;
   margin-top: 35px;
   margin-bottom: 15px;
   margin-left: 0px;
}

.sgi-table.table-system > tbody > tr.table-header > th {
   padding: 20px 0px;
   font-size: 170%;
   font-family: Arial;
}


/* -------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* SGI rules: colour display classes */

.sgi-table.table-system {
   margin-top: 50px;
}

.sgi-table.class-dachy_plaskie .table-header th /*, .sgi-table.class-dachy_plaskie h4*/ {
   background-color: #bf0f4c;
}

.sgi-table.class-tarasy .table-header th /*, .sgi-table.class-tarasy h4*/ {
   background-color: #ebb100;
}

.sgi-table.class-dachy_zielone .table-header th /*, .sgi-table.class-dachy_zielone h4*/ {
   background-color: #3eb6a4;
}

.sgi-table.class-fundamenty .table-header th /*, .sgi-table.class-fundamenty h4*/ {
   background-color: #005f91;
}
