span.blue {
    color: var(--main-color);
}

.head-menu-bars {
    display: none;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2000;
    padding-top: 120px;
    transition: var(--transition-time);
    padding-bottom: 40px;
}

header.onscroll {
    background: var(--black-color);
    padding-top: 40px;
}

header nav {
    flex: 1 auto;
}

header nav a {
    display: block;
    color: var(--white-color);
    text-decoration: none;
    font-weight: 500;
    font-size: var(--medium-text-size);
    padding: 10px;
    transition: var(--transition-time);
}

header nav ul li:hover a, header nav ul li.current-menu-item a, header nav ul li.current-menu-parent a {
    color: var(--main-color);
}

header .logo-block {
  flex: 0 1 auto; /* logo ma naturalny rozmiar */
  display: flex;
  align-items: center;
}

header .menu-block {
  flex: 1 1 auto; /* menu zajmuje resztę przestrzeni */
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

header .cta-block {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}

header .button-box {
    padding-top: 0;
}

.hero-module {
    height: calc(100vh - 80px);
    background: var(--black-color);
    position: relative;
}

.hero-module .motto-block {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    text-align: center;
}

.hero-module .motto-block .name {
    padding: 24px 52px;
    color: var(--white-color);
    font-size: 2rem;
}

.hero-module .motto-block .name br {
    display: none;
}

.hero-module .motto-block .inside-box {
    flex-basis: 100%;
}

body.home .hero-module .motto-block .inside-box {
    flex-basis: auto;
}

.hero-module .button-box {
    opacity: 0;
    animation: fade-in 1s 6s both;
}

.hero-module.opera .button-box {
    animation-delay: 1.75s;
}

.button {
    display: inline-block;
    width: 280px;
    color: var(--white-color);
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 600;
    transition: var(--transition-time);
}

.button.white {
    color: var(--gray-color);
}

.button:hover {
    color: var(--gray-color);
}

.button .col-flex {
    gap: 5px;
}

.button .col {
    background: var(--main-color);
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition-time);
}

.button.gray .col {
    background: var(--gray-color);
}

.button.white .col {
    background: var(--white-color);
}

.button.white:hover .col {
    color: var(--white-color);
}

.button:hover .col {
    background: var(--white-color);
}

.button.white:hover .col {
    background: var(--main-color);
}

.button .col:first-child {
    flex: 1 0;
}

.button .col:last-child {
    flex: 0 1;
    aspect-ratio: 1 / 1;
}

.button svg {
    width: 30px;
    height: 30px;
    fill: var(--white-color);
    transition: var(--transition-time);
}

.button.gray svg {
     transform: rotate(90deg);
}

.button.white svg {
    fill: var(--gray-color);
}

.button:hover svg {
    fill: var(--gray-color);
}

.button.white:hover svg {
    fill: var(--white-color);
}

.aboutus-module {
    position: relative;
}

.aboutus-module .top-block .col.n {
    display: flex;
    align-items: center;
    flex: 1 1 calc(50% - var(--gap));
}

.aboutus-module .top-block .col:first-child img {
    display: block;
    width: 80%;
}

.aboutus-module .bottom-block {
    padding-top: calc(var(--section-padding) / 2);
    color: var(--white-color);
    font-size: 1.20rem;
}

.aboutus-module .decorative-block, #content .decorative-block {
    top: 60px;
    right: 0;
}

.services-module {
    background: var(--black-color);
    text-align: center;
    position: relative;
}

.services-module .icon img {
    max-width: 125px;  
}

.services-module .decorative-block:first-child {
    top: 0;
    right: 0;
}

.services-module .decorative-block:nth-child(2) {
    bottom: 0;
    left: 0;
    flex-direction: row-reverse;
}

.txt.small {
    max-width: 55%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: calc(var(--gap) * 3);
}

.services-list .item {
    background: var(--gray-color);
    padding: 75px var(--inside-padding);
    display: flex;
    flex-direction: column;
    height: 100%;
}

.services-list .item .info-block {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.services-list .item .info-block .button-box {
    margin-top: auto;
}

.services-list .item h3 {
    margin: calc(var(--gap) * 2);
}

.services-list .item .button-box {
    padding-top: calc(var(--gap) * 2);
}

.services-list .item h3 a {
    color: var(--white-color);
    text-decoration: none;
    transition: var(--transition-time);
}

.services-list .item h3 a:hover {
    color: var(--main-color);
}

.services-list .item .txt {
    font-size: var(--large-text-size);
}

.whyus-module {
    text-align: center;
    position: relative;
}

.whyus-module .decorative-block {
    top: 0;
    left: 0;
}

.cta-module .img-block {
    aspect-ratio: 16 / 6;
    background: var(--black-color) url(../img/infilab-torun-dedykowane-aplikacje-webowe.webp) no-repeat;
    background-position: center bottom;
    background-attachment: fixed; 
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.cta-module .img-block .img-box {
    position: absolute;
    width: 100%;
    height: 100%;
}

.cta-module .logo-box img {
    width: 350px;
}

.cta-module .subtitle {
    font-weight: 600;
    font-size: var(--h4-text-size);
    color: var(--white-color);
}

.cta-module .bottom-block {
    gap: 0;
}

.cta-module .bottom-block .col.l {
    flex: 1 0 auto;
    background: var(--main-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--h4-text-size);
    font-weight: 600;
    color: var(--gray-color);
    padding: var(--inside-padding);
}

.cta-module .bottom-block .col.r {
    flex: 1 1 30%;
    background: var(--black-color);
    display: flex;
    align-items: center;
    justify-content: center;
}

.cta-module .button-box {
    padding: 0;
}

.blog-module {
    padding-top: 0;
}


.blog-module h2 {
    text-align: center;
}

.blog-list article {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    margin-bottom: calc(var(--gap) * 2);
}

.blog-list article .button-box {
    margin-top: auto;
}

.blog-list article .img-box {
    aspect-ratio: 16 / 12;
    position: relative;
    margin-bottom: calc(var(--gap) * 2);
}

.blog-list article .img-box img {
    opacity: 0.5;
    transition: var(--transition-time);
}

.blog-list article .img-box:hover img {
    opacity: 1;
}

.blog-list article .date, .article-page article .date {
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 0;
    background: var(--main-color);
    font-size: var(--medium-text-size);
    padding: 12px 24px;
    color: var(--white-color);
    z-index: 50;
}

.blog-list article h3 a {
    text-decoration: none;
    color: var(--gray-text-color);
    transition: var(--transition-time);
}

.blog-list article h3 a:hover {
    color: var(--main-color);
}

footer {
    background: var(--black-color);
    padding: var(--inside-padding);
}

footer .footer-module {
    color: var(--white-color);
}

footer .footer-module strong {
    text-transform: uppercase;
    color: var(--main-color);
    font-size: var(--h2-text-size);
    font-weight: 400;
}

footer .footer-module .col:last-child {
    text-align: right;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.logo-carousel {
    padding: var(--inside-padding) 0;
}

.logo-carousel .item {
    background: var(--white-color);
    height: 80px;
    overflow: hidden;
}

.logo-carousel .item a {
    display: block;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.logo-carousel .item img {
    display: block;
    max-width: 80%;
    height: auto;
}

.copyright-block {
    border-top: 4px solid var(--gray-text-color);
}

.decorative-block {
  position: absolute;
  display: flex;
  align-items: flex-start;
  z-index: 200;
}

.decorative-block.left {
  flex-direction: row;
}

.decorative-block.right {
  flex-direction: row-reverse;
}

.decorative-block .square,
.decorative-block .rectangle {
  width: 60px;
}

.decorative-block .square {
  height: 60px;
  background: var(--main-color);
  transform: translateY(-60px);
  z-index: 1;
}

.decorative-block .rectangle {
  height: 0;
  background: var(--white-color)
}

.map {
    height: 70vh;
    overflow: hidden;
    margin-top: var(--section-padding);
}

.map iframe {
    width: 100%;
    height: 100%;
}

#content {
    opacity: 0;
    animation: fade-in 1s 2.5s both;
    padding-top: calc(var(--section-padding) / 2);
    padding-bottom: 0;
}

body.post-template-default #content {
    animation-delay: 1s;
}

#content .inside-content {
    padding-bottom: var(--section-padding);
}

#subpage .hero-module {
    height: 65vh;
}

#content .socialmedia-block {
    text-align: center;
    padding-top: var(--inside-padding);
}

#content .socialmedia-block img {
    width: 40px;
}

#subpage .services-module {
    margin-bottom: var(--section-padding);
}

.cta-single {
    padding-top: var(--section-padding);
    text-align: center;
}

.infilab-icon {
    max-width: 125px;
    margin-left: auto;
    margin-right: auto;
}

.casestudy-list article {
    margin-bottom: calc(var(--gap) * 2);
}

.casestudy-list .casestudy-header {
    background: var(--black-color);
    margin-bottom: var(--gap);
    text-align: center;

}

.casestudy-list .casestudy-header .info-block {
    padding: var(--inside-padding);
}

.casestudy-list .casestudy-header h2 {
    background: var(--main-color);
    padding: var(--inside-padding);
    text-align: var(--gray-color);
    margin-bottom: 0;
    color: var(--gray-color);
}

.casestudy-list .casestudy-content .info-block {
    margin-bottom: var(--gap);
}

.casestudy-list .casestudy-content .item {
    background: var(--black-color);
    padding: var(--inside-padding);
    font-size: var(--medium-text-size);
}

.casestudy-list .casestudy-content .item:first-child {
    flex: 1 0 calc(25% - var(--gap));
}

.casestudy-list .casestudy-content .item:nth-child(2) {
    flex: 0 0 calc(50% - var(--gap));
}

.casestudy-list .casestudy-content .item:last-child {
   flex: 1 0 calc(25% - var(--gap));
}

.casestudy-list .review-block {
    text-align: center;
    font-size: var(--medium-text-size);
    background: var(--black-color);
    padding: var(--inside-padding);
}

.casestudy-list .author {
    font-size: var(--white-color);
    font-size: var(--large-text-size);
    margin-top: var(--gap);
    color: var(--main-color);
}

.casestudy-list ul {
    margin: 0;
    padding: 0 0 0 20px;
}

.article-page {
    padding-top: var(--section-padding);
}

.article-page article {
    flex: 0 0 calc(65% - var(--gap));
}

.article-page aside {
    flex: 0 0 calc(35% - var(--gap));
}

.article-page article .h1 {
    background: var(--black-color);
    padding: var(--inside-padding);
    margin-bottom: 0;
}
.article-page article .img-box {
    aspect-ratio: 16 / 9;
    margin-bottom: var(--inside-padding);
    position: relative;
}

.article-page article .txt {
    padding: var(--inside-padding);
    background: var(--black-color);
}

.article-page article .txt ul {
    margin-left: 0;
}

.article-page article .txt h2 {
    font-size: var(--h3-text-size);
    margin: 0;
}

.article-page aside {
    position: relative;
}

.article-page aside .latest-module {
    background: var(--black-color);
    padding: var(--inside-padding);
    position: sticky;
    top: 166px;
}

.article-page aside .latest-module h5 {
    margin-bottom: 0;
}

.article-page aside .latest-module h5 a {
    color: var(--white-color);
    text-decoration: none;
    transition: var(--transition-time);
}

.article-page aside .latest-module h5 a:hover  {
    color: var(--main-color);
}

.article-page aside .latest-module .item {
    border-bottom: 1px solid var(--main-color);
    padding-bottom: calc(var(--gap));
    margin-bottom: calc(var(--gap));
}

.article-page aside .latest-module .button-box {
    padding-top: calc(var(--gap));
}

.article-page aside .latest-module .button-box .button {
    width: 200px;
}

.remote-assistance-module {
    background: var(--black-color);
    text-align: center;
}

.remote-assistance-module .name {
    background: var(--main-color);
    padding: calc(var(--gap) * 2);
    font-size: var(--h3-text-size);
    color: var(--gray-color);
    font-weight: 500;
}

.remote-assistance-module .button-box {
    padding: calc(var(--gap) * 2);
}

.rodo a {
    color: var(--main-color);
}

