/*=================================
//                                 
//    ###     ####   ###    ###  
//   ## ##   #   ##  ## #  # ##  
//  ##   ##    ###   ##  ##  ##  
//  #######  #   ##  ##      ##  
//  ##   ##   ####   ##      ##  
//                                 
//=================================*/

.page-content .figure {
  text-align: center;
  width: 100%;
  margin-bottom: 4vw;
}

.page-content .figure img {
  width: 50%;
  height: auto;
}

.page-content .kontaktform {
  margin-bottom: 3%;
}

.in-template {
  width: 100%;
}

.sekcje .sec-title {
  padding: 1rem 0;
}

.blocks {
  flex-wrap: wrap;
  align-items: normal;
  justify-content: space-between;
  margin: 3% 0;
}

.blocks .item {
  width: calc(33.33% - 1rem);
  margin: .5rem;
  border: 1px solid green;
}

.blocks .item {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-grow: 111;
  min-width: 14rem;
  max-width: 19rem;
  word-wrap: break-word;
  background-color: #dff;
  background-clip: border-box;
}

.blocks .item-picture {
  position: relative;
  overflow: hidden;
}

.blocks .item-picture img {
  margin-bottom: 2rem;
}

.blocks .item p {
  margin: 0;
  line-height: 1.25rem;
}

.blocks .k-opt1 {
  font-weight: 300;
  font-size: 0.825rem;
  color: var(--text2);
  margin-bottom: .725rem;
}

.blocks .email {
  font-size: 1.125rem;
  margin-bottom: .5rem;
}

.blocks .telefon {
  font-size: 1.125rem;
  margin-bottom: .5rem;
}

.template-7 h5 {
  border-left: 5px solid #64a70f;
  padding-left: .75rem;
}

#googleMaps {
  overflow: hidden;
  margin-top: 1rem;
}

#googleMaps iframe {
  margin-left: -15%;
  margin-top: -130px;
  margin-bottom: -130px;
  pointer-events: none;
}

.kontakty {
  padding: 0;
  background-color: var(--bkg4);
  margin: 1vw 0 2vw;
  border-radius: 2rem;
  overflow: visible;
}

.kontakty .block {
  width: 30%;
  padding: 2% 3%;
  margin: 2% 0;
  box-shadow: 0 0 3rem rgba(0, 0, 0, 0.1)
}

.block {
  color: var(--color1);
}

.head-block {
  font-size: 1.75rem;
  line-height: 2.5rem;
  color: rgba(136, 136, 136, 0.15);
  margin-bottom: 2rem;
}

.block .i-opt {
  display: inline-block;
  margin-bottom: 1rem;
}

.block .i-opt>div {
  display: inline-block;
  width: calc(100% - 36px);
  font-size: 1.125rem;
}

.block .i-opt span {
  display: inline-block;
}

.block .ico {
  margin-top: 2px;
  margin-right: 12px;
  vertical-align: top;
  height: 1.5rem;
  width: 1.5rem;
}

.block .i-desc {
  font-size: 0.825rem;
  color: var(--color8);
  line-height: 1.5rem;
}

.block.postac-0 .i-desc {
  color: var(--color1);
  line-height: 1.5;
  font-size: 1.125rem;
}

.block.postac-4 .i-opt {
  cursor: pointer;
}

.block .desc {
  margin: 1rem 0;
  font-size: .75rem;
  color: var(--text2);
}

.block p {
  margin-bottom: 0;
}



@media (max-width: 768px) {
  .kontakty .block {
    width: 100%
  }

  block .i-opt {
    display: block;
  }
}


.kontakt {
  justify-content: space-between;
}

.kontakt .s-desc {
  margin-right: 2%;
}

.kontakt .a3m-map {
  width: 99%;
  flex-grow: 1;
}








/* ------------------ formularz kontaktowy ------------------ */
.full-bkg {
  margin-top: calc(4vw + 2rem);
  background-color: var(--bhg4);
}

.full-bkg .container {
  position: relative;
}

.full-bkg h2 {
  margin: 1.5rem 0 .75rem;
  text-align: center;
  text-align: left;
  width: 100%;
}

.kontaktform h2 {
  color: var(--text5);
  font-size: 2.25rem;
  font-weight: 700;
}

.kontaktform h2 b {
  color: var(--text3);
}

.kontaktform {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  margin-right: 0;
  padding-top: calc(1.5vw + 1rem);
  padding-bottom: 1vw;
  box-shadow: 0 0 3rem rgba(0, 0, 0, 0.1);
}

.kontaktform .form-main {
  padding: 1vw 5vw .5vw;
}

.kontaktform .d-flex {
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 0;
  gap: 2%;
}

.kontaktform .d-flex>div {
  flex-grow: 111;
  width: 48%;
  min-width: 20rem;
  margin-bottom: .5rem;
}

.kontaktform .h2 {
  font-size: calc(1.25rem + .5vw);
  font-weight: 700;
  color: var(--text5);
}

.kontaktform .d-flex .form-check {
  margin-right: 2%;
}

.kontaktform .d-flex .form-button {
  width: auto;
}

.kontaktform #formDesc {
  height: 117px;
  resize: none;
}

.kontaktform .comm {
  max-width: 33%;
  overflow: visible;
  background: none;
  background-size: cover;
}

.kontaktform .comm .header {
  font-size: calc(1rem + 1vw);
  padding: 0 0 2vw 0;
}

.kontaktform .comm .text {
  text-align: left;
}

.kontaktform a {
  color: var(--link4);
}

.kontaktform .send {
  margin: 1vw 0;
  text-align: center;
}

.kontaktform .contactBtn {
  transition: all ease-in-out 250ms;
}

.kontaktform .contactBtn:hover {
  background-color: var(--bkg7);
  color: var(--text);
  transition: all ease-in-out 250ms;
}

.kontaktform #send svg {
  color: #000;
}

.kontaktform label {
  font-size: 1rem;
  line-height: 1rem;
  padding-left: 2%;
  margin-bottom: 0.25rem;
  font-weight: 600;
  color: var(--color9);
}

.kontaktform .form-group.error span {
  position: absolute;
  color: var(--text6);
  font-size: 0.75rem;
  line-height: 1rem;
  margin-top: -1rem;
  right: 4rem;
}

.kontaktform .form-check.error span {
  margin: -.75rem;
}

.grecaptcha-badge {
  z-index: 123;
  width: 250px !important;
  bottom: 140px !important;
}

.kontaktform .form-area {
  width: 100%;
}

.formular {
  display: flex;
  padding: 1.5vw 1vw;
}

.formcode {
  margin-top: .5rem;
}

.kontaktform .form-check label {
  display: block;
  text-align: justify;
  /* font-size: .625rem; */
  color: var(--text1);
  cursor: pointer;
  line-height: 1.25rem;
  margin-left: 4px;
}
.kontaktform .form-check label.form-check-label {
  font-weight: 500;
  font-size: .825rem;
}

.kontaktform .p-text {
  font-size: 20px;
  font-weight: 600;
  width: 100%;
  margin: 1rem 0 3rem;
}

.kontaktform .s-title {
  font-weight: 600;
  color: var(--text3);
  margin-top: 1.5vw;
}

.kontaktform .comm img {
  display: block;
  margin: auto;
  width: 100%;
  min-width: 15rem;
}

.kontaktform .form-group {
  margin-bottom: 1.75rem;
}

.kontaktform .form-control {
  line-height: 2rem;
  font-weight: 300;
  font-size: 13px;
  border-radius: 4px;
}

.kontaktform .form-switch input[type="checkbox"] {
  width: 2.25rem;
  ;
}

.kontaktform input[type="checkbox"] {
  width: 1.25rem;
  height: 1.25rem;
  cursor: pointer;
}

.kontaktform .btn {
  border-radius: .25rem;
  border: 1px solid var(--border1);
  color: var(--text5);
  background: var(--bkg5);
  font-size: .875rem;
  font-weight: 400;
  padding: .375rem;
  width: 13rem;
  
}

#btn-pp {
  border-radius: 1rem;
  width: 13rem;
  margin: -1rem auto 0.5rem;
}

.kontaktform .btn:hover {
  /*
  box-shadow: 0 0 5px 2px rgba(0, 0, 0, .25);
  */
}


.contactBtn {
  background-color: var(--bkg3);
  color: #FAFAFA;
  font-weight: 600;
  text-transform: uppercase;
  padding: .75rem 3rem;
  border: none;
  margin: 1vw 0;
}






.kontaktform .btn img {
  left: -4px;
  margin: 0 5px 0 0;
  max-width: 18px;
  opacity: 0.95;
  position: relative;
  top: -1px;
}

.confirm.alert {
  padding: 0;
  margin-bottom: 0;
}

.confirm.alert.alert-success,
.confirm.alert.alert-error {
  padding: 1rem;
  margin-bottom: 1rem;
}


.form-check-input.is-invalid,
.was-validated .form-check-input:invalid {
  border-color: #f86c7a;
}

.form-check-input.is-invalid~.form-check-label,
.was-validated .form-check-input:invalid~.form-check-label {
  color: #f86c7a;
}


.formcode .form-check-input {
  color: #6d6d6d;
  font-size: 13px;
  font-style: italic;
  font-weight: 100;
  line-height: 1rem;
  margin-right: .5rem;
  padding: 20px 0 0 0;
}

.formcode input[type="checkbox"] {
  width: 20px !important;
  cursor: pointer;
}

.formcode .text-muted {
  padding-left: .5rem;
  display: block;
}

.confirm {
  background: var(--bkg9);
  border: 1px solid var(--border2);
  position: absolute;
  left: 5%;
  top: 0;
  height: 90%;
  width: 90%;
  text-align: center;
  z-index: 999;
  box-shadow: 15px 10px 10px 10px rgba(0, 0, 0, 0.5);
}

.confirm h3 {
  margin-top: 8%;
}

.kontaktform .comm .confirm h3 {
  font-size: 1.4em;
  font-weight: bold;
  margin-top: 1rem;
}

.container .dual {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 2rem;
}

.container .dual>.box {
  width: 50%;
  padding-right: 5%;
}

.container .dual .box-grow {
  flex-grow: 111;
  height: auto;
  min-width: 25rem;
}

.container .dual .box-rest {
  flex-grow: 111;
  min-width: 50%;
  position: relative;
}

.container .dual .box-rest a {
  color: #333;
  display: block;
  width: fit-content;
  padding: .125rem 0;
}

.dual .box-rest .figure {
  display: block;
}

.dual .box-rest .in-template {
  position: absolute;
  width: 50%;
  top: 0;
  right: 0;
}

.dual .box-rest .in-template img {
  width: 20px;
}

.dual .box-rest .in-template a {
  color: unset;
}

.box .item-picture {
  display: initial;
}

.box .item-picture img {
  width: 100%;
  max-width: 300px;
  margin-bottom: 3rem;
}

.box .p-title {
  font-size: 1.5rem;
  font-weight: 600;
}


.sec-kontakt {
  background: #efefef url(gfx/template/boxes.svg) no-repeat top center;
  margin-top: 4vw;
  padding: 2rem 0;
}

.page-cnt .a3m-map {
  width: 62%;
  display: inline-block;
}

.page-cnt .template-7 {
  width: 38%;
  float: right;
  background-color: var(--bkg4);
  background-color: var(--bkg4);
  height: 500px;
  padding: 5rem 5% 3rem;
  overflow: hidden;
}

.page-cnt .template-7 p:first-of-type {
  margin-left: -1.5rem;
}

.page-cnt .template-7 img {
  margin-left: -1.5rem;
  margin-right: .25rem;
}

.page-cnt .wini>p {
  margin-bottom: .25rem;
  line-height: 1.25rem;
}

@media (max-width: 992px) {
  .page-cnt .a3m-map .map {
    height: 350px;
  }

  .page-cnt .template-7 {
    height: 350px;
    padding: 2rem 6% 1rem;
  }

  .kontaktform {
    flex-direction: column;
  }

  .contact-box .dual>.box {
    width: 100%;
    padding: 0;
  }

  .kontaktform .formular {
    justify-content: center;
    padding: 0 2rem;
    flex-direction: column;
  }

  .kontaktform .comm {
    padding-right: 2rem;
    margin-bottom: 2vw;
  }

  .kontaktform .comm .text {
    width: 70%;
    display: inline-block;
    vertical-align: text-bottom;
  }

  /*
  .kontaktform .form-img {display: inline-block;}
  */
}

@media (max-width: 768px) {
  .page-cnt .a3m-map {
    width: 100%;
  }

  .page-cnt .a3m-map .map {
    height: 300px;
  }

  .page-cnt .template-7 {
    height: 300px;
    width: 100%;
    padding: 1rem 6% 1rem;
  }

  .kontaktform .comm .text {
    width: 100%;
  }

  .kontaktform h2,
  .kontaktform .h2 {
    font-size: 1.625rem;
  }

  .kontaktform .p-text {
    font-size: 16px;
  }

  .kontaktform .form-img {
    display: block;
  }
}