/*
Theme Name: Odontic
Author: RECT. Studio | rect.pl
*/

:root {
  --white: #FFFFFF;
  --primary: #000;
  --medium: #848484;
  --light: #F2F2F2;
  --black: #000;
  --text: #000;
}

* {
  scrollbar-width: auto;
  scrollbar-color: var(--primary) var(--light);
}

*::-webkit-scrollbar {
  width: 10px;
  border-radius: 10px;
}

*::-webkit-scrollbar-track {
  background: var(--light);
  border-radius: 10px;
}

*::-webkit-scrollbar-thumb {
  background-color: var(--primary);
  border-radius: 10px;
  border: 0px none var(--light);
}

html {
  scroll-behavior: smooth;
}

html, body {
  padding: 0;
  margin: 0;
  overflow-x: hidden;
}

body {
  background: var(--white);
  color: var(--text);
  font-family: "Poppins", sans-serif;
  font-optical-sizing: auto;
  font-size: 16px;
  overflow-x: hidden;
  line-height: 1.44;
  font-weight: 400;
  font-optical-sizing: auto;
  font-style: normal;
}

.container {
  -webkit-transition: all .6s ease-in-out;
	-moz-transition: all .6s ease-in-out;
	-o-transition: all .6s ease-in-out;
	transition: all .6s ease-in-out;
  position: relative;
  z-index: 2;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    border: 0 !important;
}


@media (min-width: 1600px) {
  .container {
      max-width: 1400px;
  }
}

::-moz-selection {
  background-color: var(--primary);
  color: var(--white);
}

::selection {
  background-color: var(--primary);
  color: var(--white);
}

/* PARAGRAPH */

a {
  color: inherit;
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
  display: inline-block;
  text-decoration: underline;
}

.no-underline {
  text-decoration: none;
}

.text-underline {
  text-decoration: underline;
}

a:hover,
a:active,
a:focus {
  color: inherit;
  outline: none;
  text-decoration: none;
}

button, button:hover, button:focus {
  background-color: transparent;
  border: none;
  outline: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  cursor: pointer;
  color: inherit;
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

input, input:hover, input:focus, select, textarea {
  border: none;
  outline: none;
  background-color: var(--white);
  border-bottom: 2px solid var(--black);
  box-shadow: none;
  padding: .5em 0;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
  display: block;
  width: 100%;
}

textarea {
  min-height: 200px;
}

::placeholder {
  color: var(--text);
  font-weight: 400;
}

:-ms-input-placeholder {
  color: var(--text);
  font-weight: 400;
}

::-ms-input-placeholder {
  color: var(--text);
  font-weight: 400;
 }

.align-right {
  text-align: right;
}

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

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

.align-right[class*="button"], .align-right[class*="read-more"] {
  text-align: center;
  float: right;
}

.align-center[class*="button"], .align-center[class*="read-more"] {
  text-align: center;
  float: none;
  display: table;
  margin-left: auto;
  margin-right: auto;
}

img.alignright {
  float:right;
  margin: 0 0 1em 1em;
}

img.alignleft {
  float:left;
  margin: 0 1em 1em 0;
}

img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

a img.alignright {
  float:right;
  margin: 0 0 1em 1em;
}

a img.alignleft {
  float:left;
  margin: 0 1em 1em 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.text-normal {
  font-size: 1em;
}

.text-smaller {
  font-size: 0.9em;
  line-height: 1.4em;
}

.text-smallest {
  font-size: 0.8em;
  line-height: 1.4em;
}

.text-bigger {
  font-size: 1.1em;
  line-height: 1.4em;
}

.text-biggest {
  font-size: 1.2em;
  letter-spacing: 0.1em;
  line-height: 1.4em;
}

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

.text-right {
  text-align: right;
}

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

footer ul, header ul {
  list-style: none;
}

strong, b {
  font-weight: bold;
}

.invert {
  color: var(--white);
}

/* HEADINGS */

h1, .h1 {
  font-size: 3.75em;
  font-weight: 500;
  display: table;
  margin-bottom: 30px;
}

h2, .h2 {
  font-size: 3.5em;
  font-weight: 600;
  display: table;
  margin-bottom: 30px;
}

h3, .h3 {
  font-size: 1.75em;
  font-weight: 600;
  display: table;
  margin-bottom: 30px;
}

h4, .h4 {
  font-size: 1.5em;
  font-weight: 600;
  display: table;
  margin-bottom: 30px;
}

h5, .h5 {
  font-size: 1.35em;
  font-weight: 700;
  display: table;
  margin-bottom: 30px;
}

h6, .h6 {
  font-size: 1.25em;
  font-weight: 700;
  display: table;
  margin-bottom: 30px;
}

/* SPACES */

section {
  padding-top: 40px;
  padding-bottom: 40px;
}

/* OTHER */

.break-after:after {
  content: '\A';
  white-space: pre;
}

.break-before:before {
  content: '\A';
  white-space: pre;
}

.va-middle {
  vertical-align: middle;
}

.va-top {
  vertical-align: top;
}

.va-bottom {
  vertical-align: bottom;
}

.no-border {
  border: none;
}

.inline-block {
  display: inline-block !important;
}

.block-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.vertical-middle {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: relative;
}

.overflow-hidden {
  overflow: hidden;
}

.navbar-toggler {
  display: none;
}

.screen-reader-text {
  font-size: 0;
}

.invert .section-title {
  color: var(--white);
}

/* HEADER */

header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 99;
  font-size: 1.15em;
  background-color: var(--white);
}

header.header-scrolled {
  border-bottom: 3px solid var(--primary);
}

.navbar-toggler {
  display: none;
}

header .container {
  display: flex;
  width: 100%;
  justify-content: space-between;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

header.header-scrolled .container {
  padding-top: 1em;
  padding-bottom: 1em;
}

header .logo {
  width: 2/0px;
}

header .logo img {
  max-width: 100%;
}

header .main-nav {
  padding-left: 55px;
  display: flex;
  gap: 30px;
}

header .main-nav ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

header .main-nav ul li {
  margin: 0 1em 0 1em;
  position: relative;
}

header .main-nav ul li a {
  text-decoration: none;
  position: relative;
  padding: 10px 0;
  font-weight: 400;
  white-space: nowrap;
}

header .main-nav ul.social-media li a {
  padding: 3px 0;
}

header .main-nav ul li.current-menu-item a {
  font-weight: 600;
}

header .main-nav ul li a:hover {
  color: var(--primary);
}

header .main-nav ul li a:before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  background: var(--medium);
  height: 2px;
  width: 100%;
  transform: scaleX(0);
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
  transform-origin: center;
}

header .main-nav ul li a:hover:before, header .main-nav ul li.current-menu-item a:before {
  transform: scaleX(1);
}

header .social-media img {
  height: 35px;
  width: auto;
}


#top-spacer {
  content: "";
  position: relative;
  height: 0;
  display: block;
}

/* MAIN TOP */

.main-carousel .item {
  justify-content: space-between;
  align-items: center;
  min-height: 470px;
  display: flex;
  flex-wrap: wrap;
}

.main-carousel .item .text-inner {
  padding-left: 15px;
  border-left: 6px solid var(--primary);
  width: calc(100% - 30px);
  padding-right: 60%;
  position: relative;
  z-index: 2;
  margin-left: 30px;
}

.main-carousel .item .image {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  background-size: 0 100%;
  background-position: center;
}

.main-carousel .item .image > img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.main-carousel .item .image > img.mobile-image {
  display: none;
}

.main-carousel .item .text-inner h1, .main-carousel .item .text-inner h2, .main-carousel .item .text-inner h3, .main-carousel .item .text-inner h4, .main-carousel .item .text-inner h5, .main-carousel .item .text-inner h6, .main-carousel .item .text-inner p {
  padding: 0;
  margin: 0;
}

.main-carousel .item .text-inner h1 {
  line-height: 1;
  text-transform: uppercase;
  font-weight: 600;
}

.main-carousel .item .text-inner h4 {
  text-transform: uppercase;
  font-weight: 400;
}

/* ABOUT MODULE */

.about-module {
  display: flex;
  width: 100%;
  gap: 30px;
}

.about-module > .column:nth-child(1) {
  width: calc(60% - 15px);
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.about-module > .column:nth-child(2) {
  position: relative;
  width: calc(40% - 15px);
}

.about-module > .column:nth-child(2) > .image {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-size: cover;
  background-position: center;
}

.about-module > .column:nth-child(1) > .text {
  padding: 30px;
  background-color: var(--white);
  border: 3px solid var(--primary);
  width: 100%;
}

.service-ul {
  columns: 3;
  -webkit-columns: 3;
  -moz-columns: 3;
  list-style: none;
  padding-left: 0;
  font-weight: 500;
}

.service-ul li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 0.5em;
}

.service-ul li::before {
  content: "–";
  position: absolute;
  left: 0;
}

.element-round-text {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
}

.element-round-text svg {
  width: 100%;
  height: 100%;
  display: block;
}

.element-round-text textPath {
  font-size: 1em;
  text-transform: lowercase;
  letter-spacing: 1px;
  fill: black;
}

.element-round-text-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  text-indent: -9999px;
  background: transparent;
  cursor: pointer;
}

.element-round-text-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.element-round-text-icon svg {
  width: 100%;
  height: auto;
  display: block;
}

.element-round-text svg g {
  animation: rotateText 10s linear infinite;
  transform-origin: 50% 50%;
}

.element-round-text:hover .element-round-text-icon {
  animation: pulse 0.6s ease-in-out;
}

@keyframes rotateText {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}

@keyframes pulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.15);
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
  }
}

.about-module .column .round-text {
  width: calc(40% - 15px);
}

.about-module .column .testimonials {
  background-color: var(--light);
  padding: 30px;
  width: calc(60% - 15px);
}

.rating {
  width: auto;
  display: table;
  margin-left: auto;
}

/* MODULE TITLE */

h1.module-title, h2.module-title {
  display: block;
  position: relative;
  font-size: 3.75em;
  text-transform: lowercase;
  padding-bottom: 0.20em;
}

.module-title:before {
  width: 100%;
  height: 3px;
  content: "";
  background-color: var(--black);
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
  transform-origin: left;
}

.module-title:hover:before {
  transform: scaleX(70%);
}

.invert .module-title:before {
  background-color: var(--white);
}

.invert {
  color: var(--white);
}

/* NUMBERS MODULE */

.numbers-module {
  padding: 30px;
  background-size: cover;
  background-position: center;
  background-color: var(--black);
}

.numbers-module .module-title {
  margin-bottom: 160px;
}

.numbers-module .numbers {
  display: flex;
  gap: 40px;
  font-weight: 500;
  flex-wrap: wrap;
}

.numbers-module .numbers .counter {
  font-size: 5em;
  font-weight: 600;
  display: block;
  line-height: 1;
}

/* SERVICES CAROUSEL */

.services-carousel .item {
  padding: 45px;
  border-top: 3px solid var(--primary);
  border-bottom: 3px solid var(--primary);
  border-right: 3px solid var(--primary);
  padding-bottom: 150px;
  position: relative;
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.services-carousel .item:before {
  position: absolute;
  bottom: 25px;
  width: calc(100% - 50px);
  right: 35px;
  height: 25px;
  background-size: contain;
  background-position: right center;
  background-repeat: no-repeat;
  background-image: url(../img/icon_arrow-right-long.svg);
  content: "";
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.services-carousel .item:hover:before {
  filter: invert(1);
  right: 25px;
}

.services-carousel .item:hover {
  background-color: var(--primary);
  color: var(--white);
}

.services-carousel .owl-item.has-left-border .item {
  border-left: 3px solid black;
}

.services-carousel a {
  text-decoration: none;
}

.services-carousel .item .invisible-button {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2;
  opacity: 0;
  top: 0;
  left: 0;
}

/* TEAM CAROUSEL */

.team-carousel {
  display: block;
  padding-left: 20%;
}

.team-carousel a {
  text-decoration: none;
}

.team-carousel .item .text {
  display: block;
}

.team-carousel .item .text .position, .team-carousel .item .text h1, .team-carousel .item .text h2, .team-carousel .item .text h3, .team-carousel .item .text h4 {
  padding: 0;
  margin: 0;
}

.team-carousel .item .text .name, .team-carousel .item .text .image {
  display: block;
}

.team-carousel .item .text .image {
  margin-top: 15px;
  margin-bottom: 15px;
  position: relative;
}

.team-carousel .item .text .image:before {
  position: absolute;
  bottom: 25px;
  width: calc(100% - 50px);
  right: 35px;
  height: 25px;
  background-size: contain;
  background-position: right center;
  background-repeat: no-repeat;
  background-image: url(../img/icon_arrow-right-long.svg);
  content: "";
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
  opacity: 0;
  z-index: 2;
}

.team-carousel .item .text .image:hover:before {
  opacity: 1;
  right: 25px;
}

.team-carousel .item .text .image img {
  display: block;
  width: 100%;
}

.team-carousel .item .text .person-bottom {
  display: flex;
  justify-content: space-between;
}

.team-carousel .item .text .person-bottom img.instagram {
  height: 28px;
  width: 28px;
}

/* SLIDE TEXT MODULE */

.slide-text-module {
  overflow: hidden;
  width: 100%;
  background: var(--white);
}

.text-track {
  display: flex;
  white-space: nowrap;
  font-size: 4.5em;
}

.text-line {
  display: flex;
  animation: scrollLoop linear infinite;
}

.text-line span {
  display: inline-block;
  margin-right: 0.5em;
  font-weight: 800;
}

.text-line span:nth-child(odd) {
  color: var(--primary);
}

.text-line span:nth-child(even) {
  color: white;
  -webkit-text-stroke: 2px var(--primary);
  text-stroke: 2px var(--primary);
}

@keyframes scrollLoop {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* CONTACT FORM */

.contact-form {
  display: block;
  width: 800px;
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
  position: relative;
}

.contact-form input:first-child {
  padding-right: 145px;
}

.contact-form input.send {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  font-weight: 500;
  padding: 0;
  width: auto;
  border: none;
  padding-right: 70px;
  background-image: url(../img/icon_arrow-right.svg);
  background-size: contain;
  background-position: 95% center;
  background-repeat: no-repeat;
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

input.send {
  cursor: pointer;
}

.contact-form .send:hover {
  background-position: 100% center;
}

.wpcf7-list-item label input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.wpcf7-list-item label {
  cursor: pointer;
  display: inline-block;
  padding: 10px 20px 10px 40px;
  border: 2px solid #000;
  color: #000;
  background-color: #fff;
  border-radius: 5px;
  user-select: none;
  transition: background-color 0.3s, color 0.3s;
  margin-right: 10px;
  position: relative;
}

.wpcf7-list-item label:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #000;
  border-radius: 50%;
  background-color: #fff;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  box-sizing: border-box;
}

.wpcf7-list-item label.label-selected {
  background-color: #000;
  color: #fff;
  border-color: #000;
}

.wpcf7-list-item label.label-selected:before {
  background-color: #fff;
}

.wpcf7-list-item label:hover:before {
  background-color: #000;
  color: #fff;
}

.wpcf7-list-item label.label-selected:hover:before {
  background-color: #FFF;
}

.wpcf7-list-item.first {
  margin-left: 0;
}


/* NEWS LIST MODULE */

.news-list-module > .module-desc {
  padding-left: calc(33.33% + 7px);
}

.news-list-module .news-list {
  display: flex;
  gap: 80px 30px;
  flex-wrap: wrap;
}

.news-list-module .news-list .news-item {
  width: calc(33.33% - 20px);
}

.news-list-module .news-list .news-item:nth-child(4n+1) {
  margin-left: calc(33.33% + 7px);
}

.news-list-module .news-list .news-item:nth-child(4n+4) {
  margin-right: calc(33.33% + 7px);
}

.news-list-module .news-item a {
  text-decoration: none;
}

.news-list-module .news-item h3, .news-list-module .news-item h4 {
  margin-bottom: 15px;
}

.news-list-module .news-item {
  position: relative;
  padding-bottom: 60px;
  border-bottom: 3px solid var(--primary);
}

.news-list-module .news-item:after {
  content: "";
  width: 50px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../img/icon_arrow-right.svg);
  position: absolute;
  bottom: 15px;
  right: 10px;
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.news-list-module .news-item:hover:after {
  right: 0;
}

/* CONTACT MODULE */

.contact-module {
  color: var(--white);
  display: flex;
  gap: 40px;
  justify-content: space-between;
}

.contact-module > .column {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.contact-module > .column > img {
  width: 35px;
}

.contact-module > .column h4, .contact-module > .column h3 {
  margin-bottom: 10px;
}

.contact-module a {
  text-decoration: none;
}

/* FOOTER */

.footer-inner {
  display: flex;
  gap: 60px;
  justify-content: space-between;
  margin-top: 40px;
  padding-bottom: 15px;
  margin-bottom: 40px;
  border-bottom: 3px solid var(--primary);
}

.footer-inner .logo > img {
  max-width: 300px;
}

.footer-inner .main-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 2em;
}

.footer-inner .main-nav li {
  display: inline-block;
}

.footer-inner .main-nav a {
  text-decoration: none;
  color: inherit;
  font-weight: 500;
}

.footer-inner .main-nav, .footer-inner .copyright {
  padding-top: 1em;
}

/* GALLERY MODULE */

.gallery-module {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: repeat(3, auto);
  gap: 30px;
  width: 100%;
}

.gallery-module .photo,
.gallery-module .video {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.gallery-module img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gallery-module > :nth-child(1) {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}

.gallery-module > :nth-child(2) {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}

.gallery-module > :nth-child(3) {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.gallery-module > :nth-child(4) {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
  aspect-ratio: 4 / 1.5;
}

.gallery-module > :nth-child(5) {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
  aspect-ratio: 4 / 1.5;
}

.gallery-module a {
  position: absolute;
  width: 100%;
  height: 100%;
}

.gallery-module .video {
  border: 3px solid var(--primary);
}

.gallery-module .video > .round-text {
  width: auto;
  display: block;
  margin: 0 auto;
  height: 100%;
}

.gallery-module .video > .round-text .element-round-text {
  height: 100%;
  width: auto;
}

.element-round-text-icon svg {
  width: 100%;
  height: auto;
  display: block;
}

/* SERVICES LIST MODULE */

.services-list-module {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
}

.services-list-module .item {
  padding: 45px;
  border-bottom: 3px solid var(--primary);
  border-right: 3px solid var(--primary);
  padding-bottom: 150px;
  position: relative;
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
  width: 33.33%
}

.services-list-module .item .invisible-button {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2;
  opacity: 0;
  top: 0;
  left: 0;
}

.services-list-module .item:nth-child(3n + 1) {
  border-left: 3px solid var(--primary);
}

.services-list-module .item:nth-child(1), .services-list-module .item:nth-child(2), .services-list-module .item:nth-child(3) {
  border-top: 3px solid var(--primary);
}

.services-list-module .item:before {
  position: absolute;
  bottom: 25px;
  width: calc(100% - 50px);
  right: 35px;
  height: 25px;
  background-size: contain;
  background-position: right center;
  background-repeat: no-repeat;
  background-image: url(../img/icon_arrow-right-long.svg);
  content: "";
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.services-list-module .item:hover:before {
  filter: invert(1);
  right: 25px;
}

.services-list-module .item:hover {
  background-color: var(--primary);
  color: var(--white);
}

.services-list-module .owl-item.has-left-border .item {
  border-left: 3px solid black;
}

.services-list-module a {
  text-decoration: none;
}

/* TEAM LIST MODULE */

.team-list-module {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  padding-left: 20%;
}

.team-list-module .item {
  width: calc(33.33% - 20px);
}

.team-list-module a {
  text-decoration: none;
}

.team-list-module .item .text {
  display: block;
}

.team-list-module .item .text .position, .team-list-module .item .text h1, .team-list-module .item .text h2, .team-list-module .item .text h3, .team-list-module .item .text h4 {
  padding: 0;
  margin: 0;
}

.team-list-module .item .text .name, .team-list-module .item .text .image {
  display: block;
}

.team-list-module .item .text .image {
  margin-top: 15px;
  margin-bottom: 15px;
  position: relative;
}

.team-list-module .item .text .image:before {
  position: absolute;
  bottom: 25px;
  width: calc(100% - 50px);
  right: 35px;
  height: 25px;
  background-size: contain;
  background-position: right center;
  background-repeat: no-repeat;
  background-image: url(../img/icon_arrow-right-long.svg);
  content: "";
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
  opacity: 0;
  z-index: 2;
}

.team-list-module .item .text .image:hover:before {
  opacity: 1;
  right: 25px;
}

.team-list-module .item .text .image img {
  display: block;
  width: 100%;
}

.team-list-module .item .text .person-bottom {
  display: flex;
  justify-content: space-between;
}

.team-list-module .item .text .person-bottom img.instagram {
  height: 28px;
  width: 28px;
}

/* PRICELIST */

.pricelist-full {
  display: flex;
  gap: 60px;
  flex-wrap: wrap;
}

.pricelist-full .pricelist-section {
  width: calc(50% - 30px);
}

.pricelist-section .pricelist-section-header {
  display: block;
  position: relative;
  margin-bottom: 15px;
  padding-bottom: 5px;
}

.pricelist-section .pricelist-section-header h3 {
  font-size: 1.5em;
  text-transform: uppercase;
  margin-bottom: 0;
}

.pricelist-section .pricelist-section-header:before {
  width: 100%;
  height: 3px;
  content: "";
  background-color: var(--black);
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
  transform-origin: left;
}

.pricelist-section:hover .pricelist-section-header:before {
  transform: scaleX(70%);
}

.pricelist-section .pricelist-item {
  display: flex;
  border-bottom: 1px solid var(--medium);
  margin-bottom: 15px;
}

.pricelist-section .pricelist-item .text {
  width: calc(100% - 150px);
}

.pricelist-section .pricelist-item .price {
  width: 150px;
  text-align: right;
}

/* CONTACT */

.location-contact {
  display: flex;
  gap: 45px;
  flex-wrap: wrap;
}

.location-contact .location-item {
  width: 100%;
  display: flex;
  gap: 45px;
}

.location-contact .location-item a {
  text-decoration: none;
}

.location-contact .location-item .text {
  width: calc(50% - 45px);
}

.location-contact .location-item .map {
  width: 50%;
}

.bigger-link {
  font-size: 1.25em;
  font-weight: 600;
}

.go-to-button {
  padding-right: 150px;
  display: table;
  position: relative;
  font-size: 1.25em;
  line-height: 1;
  text-decoration: none;
}

.go-to-button:after {
  content: "";
  width: 100px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../img/icon_arrow-right-long.svg);
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.go-to-button:hover:after {
  right: 0;
}

.location-contact .location-item .go-to-button {
  margin-top: 60px;
}

/* FILE LIST MODULE */

.file-list-module {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}

.file-list-module a {
  text-decoration: none;
}

.file-list-module .file-list-item {
  width: 100%;
  position: relative;
  display: flex;
  align-items: flex-end;
  gap: 20px;
}

.file-list-module .file-list-item h4 {
  margin-bottom: 0;
  padding-bottom: 5px;
  position: relative;
  width: calc(100% - 200px);
}

.file-list-module .file-list-item h4:before {
  width: 100%;
  height: 3px;
  content: "";
  background-color: var(--black);
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
  transform-origin: left;
}

.file-list-module .file-list-item:hover h4:before {
  transform: scaleX(70%);
}

.file-list-module .file-list-item .download {
  display: flex;
  align-items: flex-end;
  gap: 20px;
}

.file-list-module .file-list-item .download img {
  height: 90px;
}

.file-list-module .file-list-item:nth-child(odd) .download img {
  order: 1;
}

.file-list-module .file-list-item:nth-child(odd) .download span {
  order: 2;
}

.file-list-module .file-list-item:nth-child(even) .download {
  order: 1;
}

.file-list-module .file-list-item:nth-child(even) h4 {
  order: 2;
}

.file-list-module .file-list-item:nth-child(even) {
  padding-left: 20%;
}

.file-list-module .file-list-item:nth-child(odd) {
  padding-right: 20%;
}

/* PRICELIST OFFER MODULE */

.pricelist-module {
  display: flex;
  gap: 60px;
}

.pricelist-module > .text {
  width: calc(70% - 60px);
}

.pricelist-module > .image {
  width: 30%;
}

.pricelist-module > .image img {
  width: 100%;
}

.pricelist-module .text .pricelist {
  margin-top: 50px;
  max-width: 600px;
}

/* OWL CAROUSEL */

.owl-carousel .owl-dots {
  width: 100%;
  display: block;
  margin-top: 30px;
  text-align: center;
}

.owl-carousel .owl-dots button.owl-dot {
  width: 100px;
  height: 3px;
  background-color: var(--medium);
  background: var(--medium);
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
  display: inline-block;
  margin: 0 5px;
  opacity: 0.7;
}

.owl-carousel .owl-dots button.owl-dot.active, .owl-carousel .owl-dots button.owl-dot:hover {
  background-color: var(--primary);
  background: var(--primary);
  opacity: 1;
}

/* TEAM PERSON */

.team-person {
  display: flex;
  gap: 60px;
}

.team-person > .image {
  width: calc(50% - 60px);
}

.team-person > .image img {
  width: 100%;
}

.team-person > .text {
  width: 50%;
}

.person-services {
  padding: 50px 30px;
  background-color: var(--primary);
  color: var(--white);
}

.team-person > .text .person-services {
  margin-top: 50px;
}

.team-person > .text .go-to-button {
  margin-top: 50px;
}

.team-person > .text .advanced-button {
  margin-top: 50px;
}

.advanced-button {
  padding: 50px 30px;
  background-color: var(--primary);
  color: var(--white);
  display: flex;
  gap: 40px;
  position: relative;
  width: 100%;
  align-items: flex-end;
  text-decoration: none;
}

.advanced-button:hover {
  color: var(--white);
}

.advanced-button h1, .advanced-button h2, .advanced-button h3, .advanced-button h4 {
  margin-bottom: 0;
}

.advanced-button:after {
  content: "";
  width: 100px;
  height: 20px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../img/icon_arrow-right-long.svg);
  position: absolute;
  bottom: 15px;
  right: 40px;
  filter: invert(1);
  -webkit-transition: all .2s ease-in-out;
	-moz-transition: all .2s ease-in-out;
	-o-transition: all .2s ease-in-out;
	transition: all .2s ease-in-out;
}

.advanced-button:hover:after {
  right: 30px;
}

/* NEWS SINGLE */

.news-single {
  display: flex;
  gap: 60px;
}

.news-single > .image {
  width: calc(50% - 60px);
}

.news-single > .image img {
  width: 100%;
}

.news-single > .text {
  width: 50%;
}

.news-single > .image .advanced-button {
  margin-top: 15px;
}

.news-single > .text .go-to-button {
  margin-top: 60px;
}

/* ANIMATIONS */

@keyframes fadeInFromLeft {
  0% {
    opacity: 0;
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes fadeInFromRight {
  0% {
    opacity: 0;
    transform: translateX(40px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.animate-fade-left {
  animation: fadeInFromLeft 0.8s ease both;
}

.animate-fade-right {
  animation: fadeInFromRight 0.8s ease both;
}

.main-carousel .item .text-inner,
.main-carousel .item .image {
  /*opacity: 0;*/
}

/* LIGHTRBOX */

.odtic-lightbox-overlay {
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.7);
	z-index: 9998;
}

.odtic-lightbox-content {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 90%;
	max-width: 960px;
	background: #000;
	padding: 0;
	z-index: 9999;
}

.odtic-lightbox-content iframe {
	width: 100%;
	height: 540px;
	display: block;
}

.odtic-lightbox-close {
	position: absolute;
	top: -20px;
	right: -20px;
	font-size: 32px;
	color: #fff;
	cursor: pointer;
}

body.odtic-lightbox-open {
	overflow: hidden;
}

/* PAGINATION */

.news-pagination ul {
	display: flex;
	justify-content: center;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin-top: 40px;
}

.news-pagination li a,
.news-pagination li span {
	display: inline-block;
	padding: 10px 16px;
	background: var(--white);
	color: var(--primary);
	text-decoration: none;
	font-weight: 500;
}

.news-pagination li .current {
	background: var(--primary);
	color: var(--white);
}

/* BEAVER BUILDER */

.fl-row .fl-row-content {
  width: 100%;
  max-width: 1140px; /* np. jak container-xl */
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.fl-module-content, .fl-module:where(.fl-module:not(:has(> .fl-module-content))) {
  margin: 0;
}

.fl-row-content-wrap {
  padding: 0;
}

.container {
  padding-left: 15px;
  padding-right: 15px;
}

.fl-row .fl-row-content {
  padding-left: 15px;
  padding-right: 15px;
}

.location-contact .map iframe {
  filter: saturate(0);
}

@media (min-width: 576px) {
    .container, .fl-row .fl-row-content, .fl-row-fixed-width {
        max-width: 540px;
    }
}

@media (min-width: 768px) {
    .container, .fl-row .fl-row-content, .fl-row-fixed-width {
        max-width: 720px;
    }
}

@media (min-width: 992px) {
    .container, .fl-row .fl-row-content, .fl-row-fixed-width {
        max-width: 960px;
    }
}

@media (min-width: 1200px) {
    .container, .fl-row .fl-row-content, .fl-row-fixed-width {
        max-width: 1140px;
    }
}

@media (min-width: 1600px) {
  .fl-row .fl-row-content, .fl-row-fixed-width .fl-row-content, .container, .fl-row .fl-row-content, .fl-row-fixed-width {
    max-width: 1400px;
  }
}

@media (max-width: 1200px) {
  body {
    font-size: 14px;
  }
  
  header .social-media img {
    height: 30px;
  }
}

@media (max-width: 992px) {
  .about-module, .contact-module, .footer-inner {
    flex-wrap: wrap;
  }
  
  .contact-module {
    gap: 30px;
  }
  
  .about-module > .column:nth-child(1), .about-module > .column:nth-child(2), .footer-inner .copyright {
    width: 100%;
  }
  
  .contact-module > .column {
    width: calc(50% - 15px);
  }
  
  .news-list-module > .module-desc {
    padding-left: 0;
  }
  
  .news-list-module .news-list .news-item:nth-child(4n+1) {
    margin-left: 0;
  }
  
  .news-list-module .news-list .news-item:nth-child(4n+4) {
    margin-right: 0;
  }
  
  .gallery-module {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: unset;
  }

  .gallery-module > * {
    grid-column: span 1 !important;
    grid-row: auto !important;
    aspect-ratio: 16 / 9 !important;
  }

  .gallery-module > :nth-child(4),
  .gallery-module > :nth-child(5) {
    aspect-ratio: 4 / 1.5 !important;
  }
  
  .services-list-module .item {
    width: 50%;
  }

  .services-list-module .item:nth-child(3n + 1) {
    border-left: none;
  }

  .services-list-module .item:nth-child(1), .services-list-module .item:nth-child(2), .services-list-module .item:nth-child(3), .services-list-module .item:nth-child(3) {
    border-top: none;
  }

  .services-list-module .item:nth-child(2n + 1) {
    border-left: 3px solid var(--primary);
  }

  .services-list-module .item:nth-child(1), .services-list-module .item:nth-child(2) {
    border-top: 3px solid var(--primary);
  }
  
  .team-list-module .item {
    width: calc(50% - 15px);
  }

  .navbar-toggler {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 100;
  }

  .navbar-toggler .text {
    font-size: 0;
  }

  .navbar-toggler .burger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
  }

  .navbar-toggler .burger span {
    display: block;
    width: 24px;
    height: 2px;
    background-color: var(--primary);
    transition: 0.3s ease;
  }

  header .container {
    flex-wrap: wrap;
  }

  header .main-nav {
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: var(--white);
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
    padding: 1em 0;
    z-index: 98;
  }

  header .main-nav.active {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  header .main-nav ul {
    flex-direction: column;
    align-items: center;
    gap: 1em;
  }

  header .main-nav ul li {
    margin: 0;
  }

  header .main-nav ul.social-media {
    flex-direction: row;
    gap: 20px;
    margin-top: 1em;
  }
  
  .navbar-toggler {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    border: none;
    background: none;
    cursor: pointer;
    z-index: 100;
  }

  .navbar-toggler .burger span {
    display: block;
    width: 24px;
    height: 2px;
    background-color: var(--primary);
    transition: all 0.3s ease;
  }

  .navbar-toggler.open .burger span:nth-child(1) {
    transform: rotate(45deg) translate(2px, 2px);
  }

  .navbar-toggler.open .burger span:nth-child(2) {
    transform: rotate(-45deg) translate(3px, -3px);
  }

  header .main-nav {
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: var(--white);
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
    z-index: 99;
    padding: 1em 0;
  }

  header .main-nav.open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  header .main-nav ul {
    flex-direction: column;
    align-items: center;
    gap: 1em;
  }

  header .main-nav ul li {
    margin: 0;
  }

  header .main-nav ul.social-media {
    flex-direction: row;
    gap: 20px;
    margin-top: 1em;
  }
}

@media (max-width: 720px) {  
  .about-module .column .round-text {
    width: 100%;
  }
  
  .about-module .column .testimonials {
    width: 100%;
  }
  
  .news-list-module .news-list .news-item {
    width: calc(50% - 15px);
  }
}

@media (max-width: 640px) {
  .about-module .column .round-text {
    width: 100%;
  }
  
  .about-module .column .testimonials {
    width: 100%;
  }
  
  .service-ul {
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
  }
  
  .gallery-module {
    grid-template-columns: 1fr;
  }

  .gallery-module > * {
    grid-column: span 1 !important;
    grid-row: auto !important;
    width: 100%;
    aspect-ratio: 16 / 9 !important;
  }

  .gallery-module > :nth-child(4),
  .gallery-module > :nth-child(5) {
    aspect-ratio: 4 / 1.5 !important;
  }
  
  .services-list-module .item {
    width: 100%;
  }
  
  .location-contact .location-item, .news-single, .team-person, .pricelist-module {
    flex-wrap: wrap;
  }
  
  .footer-inner {
    gap: 30px;
  }
  
  .team-list-module {
    padding-left: 0;
  }
  
  .services-list-module .item:nth-child(2n + 2) {
    border-left: 3px solid var(--primary);
  }

  .services-list-module .item:nth-child(1) {
    border-top: 3px solid var(--primary);
  }

  .services-list-module .item:nth-child(2) {
    border-top: none;
  }
  
  .location-contact .location-item .text, .location-contact .location-item .map, .contact-module > .column, .footer-inner .main-nav, .footer-inner .copyright, .news-list-module .news-list .news-item, .news-single > .image.news-single > .text, .pricelist-full .pricelist-section, .team-list-module .item, .team-person > .image, .team-person > .text, .services-list-module .item, .pricelist-module > .image, .pricelist-module > .text {
    width: 100%;
  }
  
  .pricelist-module > .image {
    margin-bottom: 40px;
  }
  
  .main-carousel .item .text-inner,
  .main-carousel .item .image {
    opacity: 1;
  }
  .team-carousel {
    padding-left: 0;
  }
  
  body {
    font-size: 16px;
  }
  
  .owl-carousel .owl-dots {
    margin-top: 10px;
    margin-bottom: 20px;
  }
  
  .main-carousel .item .image > img.mobile-image {
    display: block;
  }
  
  .main-carousel .item .image > img.desktop-image {
    display: none;
  }
  
  .owl-carousel .owl-dots button.owl-dot {
    width: 20px;
  }
  
  h1, h1.module-title, h2.module-title {
    font-size: 2.25em;
  }
  
  h2 {
    font-size: 2.25em;
  }
  
  .main-carousel .item .text-inner h1 {
    font-size: 2.5em;
  }
  
  .text-track {
    font-size: 3em;
  }
  
  h4, .h4 {
    font-size: 1.3em;
  }
}
