.hero-expo {
position: relative;
min-height: 600px;
overflow: hidden;
color: #fff;
display: flex;
flex-direction: column;
background-size: cover;
background-position: center;
}
.hero-expo__video {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
height: 100%;
object-fit: cover;
transform: translate(-50%, -50%);
z-index: 1;
}
.hero-expo__bg-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
z-index: 1;
}
.hero-expo__overlay {
position: absolute;
inset: 0;
display: none;
background: rgba(0,0,0,0.35);
z-index: 2;
} .hero-expo:has(.hero-expo__video) .hero-expo__overlay {
display: block;
} .hero-expo__inner {
position: relative;
z-index: 3;
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 9rem 0rem 0rem 1rem;
}
.hero-expo__heading {
padding-top:50px;
font-family: var(--typography-family-main);
font-weight: var(--typography-weight-medium);
font-size: 3em;
line-height: 1.5;
letter-spacing: 0;
margin: 0 0 1.5rem 0;
color: #fff;
}
.hero-expo__heading strong {
font-weight: var(--typography-weight-semibold);
}
.hero-expo__tagline {
font-family: var(--typography-family-main);
font-weight: var(--typography-weight-regular);
font-size: 2.2em;
line-height: 1.2;
margin: 0;
color: #fff;
white-space: nowrap;
}
.hero-expo__tagline strong {
font-weight: var(--typography-weight-semibold);
color: #fff;
}
.hero-expo__footer {
position: relative;
z-index: 2;
padding: 2rem 0;
}
.hero-expo__footer-content {
display: flex;
justify-content: flex-end;
gap: 1.5rem;
}
.hero-expo__cta {
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none;
transition: transform 0.3s ease;
}
.hero-expo__cta:hover {
transform: scale(1.05);
}
.hero-expo__cta svg {
width: 100%;
height: 90px;
fill: var(--color-science-blue);
} @media (max-width: 768px) {
.hero-expo {
min-height: 500px;
}
.hero-expo__inner {
padding: 6rem 0rem 0rem 1rem;
}
.hero-expo__heading {
font-size: 2.2em;
margin-bottom: 1rem;
}
.hero-expo__tagline {
white-space: normal;
font-size: var(--typography-size-h3);
}
.hero-expo__footer-content {
justify-content: center;
gap: 1rem;
width: 250px;
margin: 0 auto;
}
.hero-expo__cta svg {
width: 250px;
height: 100px;
}
} @media (max-width: 480px) {
.hero-expo {
min-height: 400px;
}
.hero-expo__inner {
padding: 4rem 0rem 0rem 0.5rem;
}
.hero-expo__heading {
font-size: 1.8em;
margin-bottom: 0.8rem;
}
.hero-expo__tagline {
font-size: var(--typography-size-h4);
}
.hero-expo__footer-content {
width: 250px;
margin: 0 auto;
}
.hero-expo__cta svg {
width: 250px;
height: 100px;
}
}.fancy-heading {
margin: 0;
line-height: 1.2;
} .fancy-heading.align-left {
text-align: left;
}
.fancy-heading.align-center {
text-align: center;
}
.fancy-heading.align-right {
text-align: right;
} .fancy-heading.font-main {
font-family: var(--typography-family-main);
}
.fancy-heading.font-secondary {
font-family: var(--typography-family-secondary);
} .fancy-heading.weight-400 {
font-weight: var(--typography-weight-regular);
}
.fancy-heading.weight-800 {
font-weight: 900;
} .fancy-heading.size-standard {
font-size: inherit;
}
.fancy-heading.size-2em {
font-size: 2em;
}
.fancy-heading.size-3em {
font-size: 3em;
}
.fancy-heading.size-4em {
font-size: 4em;
}
.fancy-heading.size-5em {
font-size: 5em;
}
.fancy-heading.size-6em {
font-size: 6em;
}
.fancy-heading.size-7em {
font-size: 7em;
}
.fancy-heading.size-8em {
font-size: 8em;
} .fancy-heading.color-standard {
color: var(--color-heading);
}
.fancy-heading.color-white {
color: var(--color-white);
}
.fancy-heading.color-blue {
color: var(--color-science-blue);
} .fancy-heading.transform-standard {
text-transform: none;
}
.fancy-heading.transform-uppercase {
text-transform: uppercase;
} @media (max-width: 768px) {
.fancy-heading.align-right {
text-align: left;
}
.fancy-heading.size-2em {
font-size: 1.5em;
}
.fancy-heading.size-3em {
font-size: 2em;
}
.fancy-heading.size-4em {
font-size: 2.5em;
}
.fancy-heading.size-5em {
font-size: 3em;
}
.fancy-heading.size-6em {
font-size: 3.5em;
}
.fancy-heading.size-7em {
font-size: 4em;
}
.fancy-heading.size-8em {
font-size: 4.5em;
}
} @media (max-width: 480px) {
.fancy-heading.align-right {
text-align: left;
}
.fancy-heading.size-2em {
font-size: 1.3em;
}
.fancy-heading.size-3em {
font-size: 1.6em;
}
.fancy-heading.size-4em {
font-size: 2em;
}
.fancy-heading.size-5em {
font-size: 2.5em;
}
.fancy-heading.size-6em {
font-size: 3em;
}
.fancy-heading.size-7em {
font-size: 3.5em;
}
.fancy-heading.size-8em {
font-size: 4em;
}
} @media (max-width: 360px) {
.fancy-heading.size-2em {
font-size: 1.2em;
}
.fancy-heading.size-3em {
font-size: 1.4em;
}
.fancy-heading.size-4em {
font-size: 1.8em;
}
.fancy-heading.size-5em {
font-size: 2.2em;
}
.fancy-heading.size-6em {
font-size: 2.6em;
}
.fancy-heading.size-7em {
font-size: 3em;
}
.fancy-heading.size-8em {
font-size: 3.4em;
}
}.expandable-text-block {
position: relative;
color: var(--color-paragraph);
font-family: var(--typography-family-main);
font-size: var(--typography-size-body);
line-height: 1.6;
}
.main-text { margin-bottom: 1rem; }
.expanded-text {
opacity: 0;
max-height: 0;
overflow: hidden;
transition: all 0.3s ease-in-out;
}
.expanded-text.show {
opacity: 1;
max-height: 1000px;
}
.expandable-text-toggle {
position: absolute;
bottom: -2rem;
right: 0;
} .expandable-text-block .toggle-button {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
background: transparent;
border: none;
color: var(--color-link-text);
font-family: var(--typography-family-main);
font-size: var(--typography-size-small);
font-weight: var(--typography-weight-medium);
cursor: pointer;
padding: 0;
max-width: none;
overflow: visible;
white-space: normal;
transition: color 0.3s ease;
}
.expandable-text-block .toggle-button:hover,
.expandable-text-block .toggle-button:focus {
background: transparent;
border: none;
color: var(--color-link-text-hover);
}
.expandable-text-block .toggle-button:focus {
outline: 2px solid var(--color-link-text);
outline-offset: 2px;
} .toggle-icon-container {
position: relative;
width: 32px;
height: 32px;
}
.toggle-icon {
position: absolute;
top: 0;
left: 0;
display: flex;
align-items: center;
justify-content: center;
transition: opacity 0.3s ease;
}
.toggle-icon svg {
fill: currentColor;
width: 32px;
height: 32px;
}
.toggle-icon-more { opacity: 1; }
.toggle-icon-less { opacity: 0; } @media (max-width: 768px) {
.expandable-text-toggle {
position: relative;
bottom: auto;
right: auto;
margin-top: 1rem;
text-align: right;
}
} @media (max-width: 480px) {
.expandable-text-block {
font-size: var(--typography-size-small);
}
.expandable-text-block .toggle-button {
font-size: var(--typography-size-small);
}
.toggle-icon-container {
width: 28px;
height: 28px;
}
.toggle-icon svg {
width: 28px;
height: 28px;
}
} @media (max-width: 360px) {
.expandable-text-block {
font-size: var(--typography-size-small);
line-height: 1.5;
}
.expandable-text-block .toggle-button {
font-size: var(--typography-size-small);
}
.toggle-icon-container {
width: 24px;
height: 24px;
}
.toggle-icon svg {
width: 24px;
height: 24px;
}
} .expandable-text-block.color-standard {
color: var(--color-paragraph);
}
.expandable-text-block.color-white p {
color: var(--color-white);
} .expandable-text-block.color-white .toggle-button {
color: var(--color-white);
}
.expandable-text-block.color-white .toggle-icon-container {
color: var(--color-link-text);
}
.expanded-text.show p {
margin-top: 36px;
}.section-divider {
position: relative;
height: var(--divider-height);
z-index: 1;
pointer-events: none;
overflow: visible;
margin-top: calc(-1 * var(--divider-height) / 2);
margin-bottom: calc(-1 * var(--divider-height) / 2);
padding: 0;
}
.section-divider__triangle {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 100%;
height: 100%;
} .section-divider--right .section-divider__triangle {
right: 0;
width: 6vw;
} .section-divider--left .section-divider__triangle {
left: 0;
width: 6vw;
}
.section-divider__triangle .fil0 {
fill: var(--color-science-blue);
} @media (max-width: 768px) {
.section-divider--right .section-divider__triangle {
width: 8vw;
}
.section-divider--left .section-divider__triangle {
width: 8vw;
}
} @media (max-width: 480px) {
.section-divider--right .section-divider__triangle {
width: 12vw;
}
.section-divider--left .section-divider__triangle {
width: 12vw;
}
} @media (max-width: 360px) {
.section-divider--right .section-divider__triangle {
width: 15vw;
}
.section-divider--left .section-divider__triangle {
width: 15vw;
}
}.process-steps {
padding: 20px 0;
background: #fff;
overflow: visible; }
.container {
max-width: 1440px;
margin: 0 auto;
padding: 0 20px;
overflow: visible; }  .process-steps__nav-bleed {
position: relative; left: 50%;
right: 50%;
margin-left: -50vw;
margin-right: -50vw;
width: 100vw; overflow: visible;
} .process-steps__nav {
display: flex;
justify-content: flex-start;
align-items: flex-end; gap: 0;
margin: 0 auto 60px; padding: 0 20px; flex-wrap: nowrap;
position: relative;
overflow-x: auto; overflow-y: hidden;
scrollbar-width: none; -ms-overflow-style: none; scroll-behavior: smooth;
} .process-steps__nav::-webkit-scrollbar { display: none; }
.process-steps__nav-item,
.process-steps__nav-arrow {
display: flex;
align-items: center; justify-content: center;
line-height: 1; }
.process-steps__nav-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
padding: 20px 30px;
background: transparent;
cursor: pointer;
transition: all 0.3s ease;
position: relative;
min-width: 120px;
margin: 0 15px;
flex-shrink: 0;
border-radius: 8px; transform: translateX(0);
opacity: 1;
} .process-steps__nav-item:nth-child(n+4) {
animation: slideInFromRight 0.8s ease-out forwards;
transform: translateX(50px);
opacity: 0;
}
@keyframes slideInFromRight {
to {
transform: translateX(0);
opacity: 1;
}
}
h3.process-steps__heading {
font-weight: 400;
color: var(--color-science-blue);
}
.process-steps__nav-svg svg {
width: 100%;
height: 100%;
border: 2px solid var(--color-black);
border-radius: 500px;
padding: 9px;
}
.process-steps__nav-item.active svg {
fill: var(--color-science-blue);
}
.process-steps__nav-number {
width: 70px;
height: 70px;
padding: 9px; border: 2px solid var(--color-black);
border-radius: 50%;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 30px; font-family: var(--typography-family-main);
font-size: 2.5rem; line-height: 1;
color: var(--color-black); }
.process-steps__nav-item.active .process-steps__nav-number {
background: #fff;
border-color: var(--color-black); color: var(--color-science-blue);
}
.process-steps__nav-svg {
width: 70px;
height: 70px;
margin-bottom: 30px; }
.process-steps__nav-svg svg {
width: 100%;
height: 100%;
}
.process-steps__nav-title {
font-size: 1.9em;
text-align: center;
line-height: 1.15; font-weight: var(--typography-weight-regular);
font-family: var(--typography-family-secondary);
margin: 0; }
.process-steps__nav-arrow {
display: flex;
align-items: flex-end;
justify-content: center;
margin: 28px 15px;
}
.process-steps__nav-arrow svg {
width: 28px;
height: 28px;
margin: 0;
transform: translateY(2px); } .process-steps__swiper-container {
position: relative;
}
.process-steps__swiper {
min-height: 400px;
cursor: grab;
}
.process-steps__swiper:active {
cursor: grabbing;
} .process-steps__swiper::before {
content: '';
position: absolute;
top: 20px;
left: 50%;
transform: translateX(-50%);
width: 40px;
height: 4px;
background: rgba(0, 0, 0, 0.1);
border-radius: 2px;
z-index: 5;
opacity: 0;
transition: opacity 0.3s ease;
} @media (max-width: 768px) {
.process-steps__swiper::before {
opacity: 0;
}
.process-steps__swiper-container::after {
content: '← Przesuń palcem →';
position: absolute;
bottom: -35px;
left: 50%;
transform: translateX(-50%);
font-size: 12px;
color: rgba(0, 0, 0, 0.7);
background: rgba(255, 255, 255, 0.95);
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 6px;
padding: 6px 12px;
z-index: 10;
pointer-events: none;
animation: fadeInOut 3s ease-in-out infinite;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
} @media (min-width: 769px) {
.process-steps__swiper-container::after {
content: '← → Użyj strzałek klawiatury';
position: absolute;
bottom: -35px;
left: 50%;
transform: translateX(-50%);
font-size: 12px;
color: rgba(0, 0, 0, 0.7);
background: rgba(255, 255, 255, 0.95);
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 6px;
padding: 6px 12px;
z-index: 10;
pointer-events: none;
animation: fadeInOut 3s ease-in-out infinite;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
}
@keyframes fadeInOut {
0%, 100% { opacity: 0; }
50% { opacity: 1; }
} .process-steps__nav-next,
.process-steps__nav-prev {
color: var(--color-science-blue);
width: 40px;
height: 40px;
margin: 0;
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 10;
}
.process-steps__nav-next:after,
.process-steps__nav-prev:after {
font-size: 20px;
font-weight: bold;
}
.process-steps__nav-next {
right: -60px;
}
.process-steps__nav-prev {
left: -60px;
}
.process-steps__content-item {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 60px;
align-items: center;
padding: 40px 0;
}
.process-steps__heading {
font-size: 32px;
margin-bottom: 20px;
color: #333;
}
.process-steps__description {
font-size: 16px;
line-height: 1.6;
color: #666;
}
.process-steps__image {
text-align: center;
}
.process-steps__img {
max-width: 100%;
height: auto;
border-radius: 8px;
} @media (max-width: 768px) {
.process-steps__nav {
flex-wrap: nowrap;
gap: 0;
padding: 0 10px 0 0;
margin-left: -10px;
width: calc(100% + 10px);
}
.process-steps__nav-item {
padding: 15px 20px;
min-width: 100px;
margin: 0 8px; min-height: 44px;
display: flex;
align-items: center;
justify-content: center;
}
.process-steps__nav-number {
width: 50px;
height: 50px;
font-size: 1.2rem;
}
.process-steps__nav-title {
font-size: 1rem;
}
.process-steps__nav-arrow svg {
width: 20px;
height: 20px;
}
.process-steps__content-item {
grid-template-columns: 1fr;
gap: 30px;
padding: 20px 0;
} .process-steps__nav-next,
.process-steps__nav-prev {
display: none;
} .process-steps__swiper {
box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.02);
}
} @media (max-width: 480px) {
.process-steps__nav-item {
padding: 12px 15px;
min-width: 80px;
margin: 0 5px;
}
.process-steps__nav-number {
width: 40px;
height: 40px;
font-size: 1rem;
}
.process-steps__nav-title {
font-size: 0.9rem;
}
.process-steps__nav-arrow svg {
width: 16px;
height: 16px;
}
.process-steps__content-item {
gap: 20px;
padding: 15px 0;
}
.process-steps__heading {
font-size: 28px;
margin-bottom: 15px;
}
.process-steps__description {
font-size: 14px;
}
} @media (max-width: 360px) {
.process-steps__nav-item {
padding: 10px 12px;
min-width: 70px;
margin: 0 3px;
}
.process-steps__nav-number {
width: 35px;
height: 35px;
font-size: 0.9rem;
}
.process-steps__nav-title {
font-size: 0.8rem;
}
.process-steps__heading {
font-size: 24px;
}
.process-steps__description {
font-size: 13px;
}
}.expanding-gallery-block {
position: relative;
}
.expanding-gallery-title {
font-size: var(--typography-size-h2);
font-weight: var(--typography-weight-bold);
color: var(--color-black);
text-align: center;
margin: 0 0 20px;
text-transform: uppercase;
letter-spacing: 1px;
}
.expanding-gallery-subtitle {
font-size: var(--typography-size-16);
color: var(--color-black);
text-align: center;
margin: 0 0 60px;
line-height: 1.6;
}
.gallery-wrap {
display: flex;
flex-direction: row;
width: 100%;
height: 45vh;
gap: 10px;
overflow: hidden;
}
.item {
flex: 1;
height: 100%;
background-position: center;
background-size: cover;
background-repeat: no-repeat;
transition: flex 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
cursor: pointer;
overflow: hidden;
}
.item:hover {
flex: 7;
}
.item-content {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
color: var(--color-white);
padding: 40px 30px 30px;
transform: translateY(100%);
transition: transform 0.6s ease;
opacity: 0;
}
.item:hover .item-content {
transform: translateY(0);
opacity: 1;
}
.item-title {
font-size: var(--typography-size-h4);
font-weight: var(--typography-weight-bold);
margin: 0 0 10px;
text-transform: uppercase;
letter-spacing: 1px;
}
.item-description {
font-size: var(--typography-size-14);
margin: 0;
line-height: 1.4;
opacity: 0.9;
} @media (max-width: 1024px) {
.gallery-wrap {
height: 37vh;
}
.item:hover {
flex: 5;
}
}
@media (max-width: 768px) {
.expanding-gallery-block {
padding: 60px 0;
}
.expanding-gallery-title {
font-size: var(--typography-size-h3);
margin-bottom: 15px;
}
.expanding-gallery-subtitle {
margin-bottom: 40px;
}
.gallery-wrap {
height: 37vh;
flex-direction: column;
gap: 10px;
}
.item {
flex: 1;
transition: flex 0.6s ease;
}
.item:hover {
flex: 3;
}
.item-content {
padding: 30px 20px 20px;
}
.item-title {
font-size: var(--typography-size-h5);
}
}
@media (max-width: 480px) {
.gallery-wrap {
height: 30vh;
}
.item:hover {
flex: 2.5;
}
.item-content {
padding: 20px 15px 15px;
}
.item-title {
font-size: var(--typography-size-16);
}
.item-description {
font-size: var(--typography-size-13);
}
} @media (max-width: 360px) {
.gallery-wrap {
height: 25vh;
}
.item:hover {
flex: 2;
}
.item-content {
padding: 15px 10px 10px;
}
.item-title {
font-size: var(--typography-size-14);
}
.item-description {
font-size: var(--typography-size-12);
}
}.portfolio-buttons-block {
position: relative;
} .portfolio-button {
display: flex;
flex-direction: column;
align-items: center;
text-decoration: none;
transition: transform 0.3s ease;
position: relative;
}
.portfolio-button:hover {
transform: translateY(-5px);
}
.portfolio-button-content {
display: flex;
flex-direction: column;
align-items: center;
gap: 1rem;
} .portfolio-button-icon {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
} .portfolio-button-icon {
width: 100px;
height: auto;
display: flex;
align-items: center;
justify-content: center;
transition: transform 0.3s ease;
}
.portfolio-button:hover .portfolio-button-icon {
transform: scale(1.1);
}
.portfolio-button-icon svg {
width: 100%;
height: auto;
} .portfolio-button-text {
display: flex;
flex-direction: column;
align-items: center;
font-family: var(--typography-family-secondary);
font-weight: var(--typography-weight-medium);
letter-spacing: 0.1em;
text-transform: uppercase;
}
.portfolio-button-text .letter {
display: block;
line-height: 1;
transform: rotate(-90deg);
transform-origin: center;
} .portfolio-buttons-block.color-standard .portfolio-button-text {
color: var(--color-heading);
}
.portfolio-buttons-block.color-white .portfolio-button-text {
color: var(--color-white);
} .portfolio-buttons-block.color-standard .fil0 { fill: transparent; }
.portfolio-buttons-block.color-standard .str0 { stroke: var(--color-white); stroke-width: 3px; }
.portfolio-buttons-block.color-standard .fil1 { fill: var(--color-science-blue); }
.portfolio-buttons-block.color-standard .fil2 { fill: var(--color-white); }
.portfolio-buttons-block.color-standard .str1 { stroke: var(--color-science-blue); stroke-width: 3px; fill: none; }
.portfolio-buttons-block.color-white .fil0 { fill: transparent; }
.portfolio-buttons-block.color-white .str0 { stroke: var(--color-white); stroke-width: 3px; }
.portfolio-buttons-block.color-white .fil1 { fill: var(--color-science-blue); }
.portfolio-buttons-block.color-white .fil2 { fill: var(--color-white); }
.portfolio-buttons-block.color-white .str1 { stroke: var(--color-science-blue); stroke-width: 3px; fill: none; } @media (max-width: 768px) {
.portfolio-button-icon {
width: 80px;
transform: rotate(90deg);
}
.portfolio-button-text {
font-size: 0.9em;
}
} @media (max-width: 480px) {
.portfolio-button-icon {
width: 60px;
transform: rotate(90deg);
}
.portfolio-button-text {
font-size: 0.8em;
}
} @media (max-width: 360px) {
.portfolio-button-icon {
width: 50px;
transform: rotate(90deg);
}
.portfolio-button-text {
font-size: 0.7em;
}
}.testimonials {
background: var(--color-white);
position: relative;
z-index: 1;
overflow: hidden;
} .testimonials__layout {
display: flex;
gap: 3rem;
max-width: 1200px;
margin: 0 auto;
min-height: 400px;
flex-direction: row;
} .testimonials__image-container {
flex: 0 0 45%;
position: relative;
order: 1; }
.testimonials__image {
width: 100%;
height: 400px;
object-fit: cover;
object-position: center;
border-radius: 8px;
position: absolute;
top: 0;
left: 0;
opacity: 0;
transition: opacity 0.3s ease;
}
.testimonials__image.active {
opacity: 1;
}
.testimonials__image-placeholder {
width: 100%;
height: 400px;
background: var(--color-border);
display: flex;
align-items: center;
justify-content: center;
color: var(--color-text-light);
font-style: italic;
border-radius: 8px;
} .testimonials__content {
flex: 0 0 55%;
position: relative;
order: 2; }
.testimonials__swiper {
position: relative;
max-width: 800px;
margin: 0 auto;
height: 300px;
overflow: hidden;
}
.testimonials__content {
position: relative;
}
.testimonials__swiper.swiper {
position: relative;
width: 100%;
height: 300px;
}
.testimonials__swiper .swiper-wrapper {
display: flex;
flex-direction: column;
height: 100%;
}
.testimonials__swiper .swiper-slide {
flex-shrink: 0;
width: 100%;
height: 300px;
display: flex;
align-items: center;
justify-content: center;
}
.testimonials__slide {
text-align: center;
padding: 40px 20px;
}
.testimonials__content-wrapper {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
gap: 30px;
}
.testimonials__text {
font-family: var(--typography-family-main);
font-size: var(--typography-size-h3);
font-weight: var(--typography-weight-regular);
font-style: italic;
line-height: 1.6;
color: var(--color-text-dark);
max-width: 600px;
margin: 0 auto;
position: relative;
z-index: 2;
}
.testimonials__quote-mark {
position: absolute;
z-index: 1;
}
.testimonials__quote-mark--open {
top: -10px;
left: -30px;
}
.testimonials__quote-mark--close {
bottom: -20px;
right: -30px;
}
.testimonials__quote-mark svg {
fill: var(--color-text-dark);
opacity: 0.3;
width: 60px !important;
height: 60px !important;
}
.testimonials__nav {
display: flex;
align-items: center;
justify-content: center;
gap: 20px;
position: absolute;
left: 50%;
transform: translateX(-50%);
z-index: 10;
}
.testimonials__nav--top {
top: 20px;
}
.testimonials__nav--bottom {
bottom: 20px;
}
.testimonials__nav-arrow {
width: 50px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
cursor: pointer;
transition: all 0.3s ease;
}
.testimonials__nav-arrow:hover {
background: var(--color-science-blue);
}
.testimonials__nav-arrow svg {
fill: var(--color-science-blue);
transition: fill 0.3s ease;
width: 50px !important;
height: 50px !important;
}
.testimonials__nav-arrow:hover svg {
fill: var(--color-white);
} .testimonials__swiper .swiper-button-prev,
.testimonials__swiper .swiper-button-next,
.testimonials__swiper .swiper-pagination {
display: none !important;
} .testimonials__swiper .swiper-button-prev,
.testimonials__swiper .swiper-button-next,
.testimonials__swiper .swiper-pagination,
.testimonials .swiper-pagination {
display: none !important;
} @media (min-width: 1025px) {
.testimonials__layout {
flex-direction: row !important;
}
} @media (max-width: 1024px) {
.testimonials__layout {
flex-direction: column;
gap: 2rem;
min-height: auto;
}
.testimonials__image-container {
flex: none;
order: 1;
position: static;
}
.testimonials__content {
margin-top: 80%;
flex: none;
order: 2;
}
.testimonials__image,
.testimonials__image-placeholder {
height: 250px;
}
.testimonials__swiper {
height: 400px;
}
.testimonials__swiper.swiper {
height: 400px;
}
.testimonials__swiper .swiper-slide {
height: 400px;
}
.testimonials__text {
font-size: var(--typography-size-h4);
}
.testimonials__slide {
padding: 20px 10px;
}
.testimonials__quote-mark--open {
top: -10px;
left: 0px;
}
.testimonials__quote-mark--close {
bottom: -10px;
right: 0px;
}
.testimonials__quote-mark svg {
width: 40px !important;
height: 40px !important;
}
} @media (max-width: 480px) {
.testimonials__image,
.testimonials__image-placeholder {
height: 200px;
}
.testimonials__swiper {
height: 350px;
}
.testimonials__swiper.swiper {
height: 350px;
}
.testimonials__swiper .swiper-slide {
height: 350px;
}
.testimonials__text {
font-size: var(--typography-size-h5);
}
.testimonials__slide {
padding: 15px 8px;
}
}.logo-carousel-block {
position: relative;
overflow: hidden;
padding: 2rem 0;
width: 100%;
}
.logo-carousel-container {
position: relative;
width: 100%;
}
.logo-carousel-track {
display: flex;
align-items: center;
gap: 2rem;
animation: scroll-left linear infinite;
width: max-content;
will-change: transform;
} .logo-carousel-block.speed-slow .logo-carousel-track {
animation-duration: 60s;
}
.logo-carousel-block.speed-medium .logo-carousel-track {
animation-duration: 40s;
}
.logo-carousel-block.speed-fast .logo-carousel-track {
animation-duration: 20s;
} .logo-item {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
min-width: 80px;
max-width: 120px;
height: 50px;
margin: 0 1rem;
}
.logo-link {
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
transition: opacity 0.3s ease;
}
.logo-link:hover {
opacity: 0.8;
}
.logo-image {
max-width: 100%;
max-height: 100%;
object-fit: contain;
filter: brightness(0) invert(1); } .logo-carousel-block.bg-blue {
background-color: var(--color-science-blue);
}
.logo-carousel-block.bg-dark {
background-color: var(--color-main);
}
.logo-carousel-block.bg-white {
background-color: var(--color-white);
} .logo-carousel-block.logo-white .logo-image {
filter: brightness(0) invert(1); }
.logo-carousel-block.logo-dark .logo-image {
filter: brightness(0); }
.logo-carousel-block.logo-original .logo-image {
filter: none; } @keyframes scroll-left {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
} .logo-carousel-block:hover .logo-carousel-track {
animation-play-state: paused;
} @media (max-width: 768px) {
.logo-carousel-block {
padding: 1.5rem 0;
}
.logo-carousel-track {
gap: 1rem;
}
.logo-item {
min-width: 60px;
max-width: 80px;
height: 40px;
margin: 0 0.5rem;
} .logo-carousel-block.speed-slow .logo-carousel-track {
animation-duration: 80s;
}
.logo-carousel-block.speed-medium .logo-carousel-track {
animation-duration: 60s;
}
.logo-carousel-block.speed-fast .logo-carousel-track {
animation-duration: 30s;
}
} @media (max-width: 480px) {
.logo-carousel-block {
padding: 1rem 0;
}
.logo-item {
min-width: 50px;
max-width: 60px;
height: 35px;
margin: 0 0.3rem;
}
} @media (max-width: 360px) {
.logo-carousel-block {
padding: 0.8rem 0;
}
.logo-item {
min-width: 40px;
max-width: 50px;
height: 30px;
margin: 0 0.2rem;
}
}.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.faq-answer-content p {margin-top:0px;}
.faq-block {
position: relative;
width: 100%;
height: 450px; overflow: hidden; }
.faq-container {
padding: 0;
height: 100%;
overflow-y: auto; scrollbar-width: none;
-ms-overflow-style: none;
}
.faq-container::-webkit-scrollbar {
display: none;
} .faq-item {
border-bottom: 1px solid;
transition: all 0.3s ease; min-height: 90px; display: flex;
flex-direction: column;
}
.faq-item:last-child {
border-bottom: none;
} .faq-question {
width: 100% !important;
max-width: 100% !important; padding: 1.5rem 0;
background: none;
border: none;
cursor: pointer;
display: flex;
align-items: flex-start;
justify-content: space-between;
text-align: left;
transition: all 0.3s ease;
flex: 1;
min-height: 90px; }
.faq-question:hover {
opacity: 0.8;
}
.faq-question-text {
font-size: 1.3rem;
font-weight: var(--typography-weight-medium);
line-height: 1.4;
flex: 1;
margin-right: 1rem; word-break: break-word;
hyphens: auto;
white-space: normal;
overflow: visible;
text-overflow: unset;
display: block;
width: 100%;
max-width: calc(100% - 50px);
}  .faq-answer {
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
}
.faq-answer[aria-hidden="false"] {
max-height: 2000px; }
.faq-answer-content {
padding: 0 0 1.5rem 0;
line-height: 1.6;
} .faq-scroll-btn {
position: absolute !important;
right: 20px !important;
height: 50px !important;
background: transparent !important;
border: none !important;
cursor: pointer !important;
display: flex !important;
padding: 0px !important;
align-items: center !important;
justify-content: center !important;
transition: all 0.3s ease !important;
z-index: 999 !important;
opacity: 1 !important;
visibility: visible !important;
}
.faq-scroll-btn:hover {
background: var(--color-science-blue) !important;
}
.faq-scroll-btn svg {
fill: var(--color-science-blue) !important;
transition: fill 0.3s ease !important;
width: 50px !important;
height: 50px !important;
}
.faq-scroll-btn:hover svg {
fill: var(--color-white) !important;
}
.faq-scroll-btn:focus {
outline: none !important;
}
.faq-scroll-up {
top: 10px !important;
}
.faq-scroll-down {
bottom: 10px !important;
} .faq-block.scheme-dark {
background-color: var(--color-main);
color: var(--color-white);
}
.faq-block.scheme-dark .faq-item {
border-bottom-color: var(--color-science-blue);
}
.faq-block.scheme-dark .faq-question-text {
color: var(--color-white);
}
.faq-block.scheme-dark .faq-answer-content {
color: var(--color-white) !important;
} .faq-block.scheme-dark .faq-answer-content * {
color: var(--color-white) !important;
}
.faq-block.scheme-light {
background-color: var(--color-white);
color: var(--color-heading);
}
.faq-block.scheme-light .faq-item {
border-bottom-color: var(--color-science-blue);
}
.faq-block.scheme-light .faq-question-text {
color: var(--color-heading);
}
.faq-block.scheme-light .faq-answer-content {
color: var(--color-paragraph);
} .faq-question:focus {
outline: none;
} @media (max-width: 768px) {
.faq-block {
height: 400px; }
.faq-container {
margin-top: 20px; }
.faq-item {
min-height: 80px; }
.faq-question {
padding: 1rem 0;
min-height: 80px;
}
.faq-question-text {
font-size: 1.1rem;
max-width: calc(100% - 40px);
}
.faq-answer-content {
padding: 0 0 1rem 0;
}
.faq-scroll-btn {
right: 15px !important; width: 40px !important;
height: 40px !important;
z-index: 1000 !important; }
.faq-scroll-btn svg {
width: 40px !important;
height: 40px !important;
}
} @media (max-width: 480px) {
.faq-block {
height: 350px;
}
.faq-container {
margin-top: 20px; }
.faq-item {
min-height: 70px;
}
.faq-question {
padding: 0.8rem 0;
min-height: 70px;
}
.faq-question-text {
font-size: 1rem;
max-width: calc(100% - 35px);
}
.faq-answer-content {
padding: 0 0 0.8rem 0;
}
.faq-scroll-btn {
right: 12px !important; width: 35px !important;
height: 35px !important;
z-index: 1000 !important; padding: 0px !important;
}
.faq-scroll-btn svg {
width: 35px !important;
height: 35px !important;
}
} @media (max-width: 360px) {
.faq-block {
height: 300px;
}
.faq-container {
margin-top: 20px; }
.faq-item {
min-height: 60px;
}
.faq-question {
padding: 0.6rem 0;
min-height: 60px;
}
.faq-question-text {
font-size: 0.9rem;
max-width: calc(100% - 30px);
}
.faq-answer-content {
padding: 0 0 0.6rem 0;
}
}.horizontal-buttons-block {
position: relative;
margin: 2rem 0;
} .horizontal-button {
display: inline-block;
text-decoration: none;
transition: transform 0.3s ease;
position: relative;
}
.horizontal-button:hover {
transform: translateY(-2px);
}
.horizontal-button-content {
display: inline-block;
vertical-align: middle;
} .horizontal-button-icon {
display: inline-block;
vertical-align: middle;
height: auto;
margin-right: 1rem;
}
.horizontal-button-icon svg {
width: 100% !important;
height: auto !important;
} .horizontal-button-text {
display: inline-block;
vertical-align: middle;
font-family: var(--typography-family-secondary);
font-weight: var(--typography-weight-medium);
font-size: 1.1rem;
letter-spacing: 0.05em;
text-transform: uppercase;
white-space: nowrap;
} .horizontal-buttons-block.text-left .horizontal-button-icon {
margin-right: 1rem;
margin-left: 0;
}
.horizontal-buttons-block.text-right .horizontal-button-icon {
margin-left: 1rem;
margin-right: 0;
} .horizontal-buttons-block.color-standard .horizontal-button-text {
color: var(--color-heading);
}
.horizontal-buttons-block.color-white .horizontal-button-text {
color: var(--color-white);
} .horizontal-button:focus {
outline: 2px solid var(--color-science-blue);
outline-offset: 2px;
} @media (max-width: 768px) {
.horizontal-button-icon svg {
max-width: 250px !important; max-height: 250px !important; }
.horizontal-button-text {
font-size: 1rem;
}
} @media (max-width: 480px) {
.horizontal-button-text {
font-size: 0.9rem;
}
} @media (max-width: 360px) {
.horizontal-button-text {
font-size: 0.8rem;
}
}.events-list-block {
height: 460px;
margin-bottom: 10rem !important;
} .events-filter {
padding: 1rem;
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
margin-bottom: 1rem;
}
.filter-inputs {
display: flex;
gap: 1rem;
align-items: center;
margin-bottom: 0.5rem;
}
.filter-input {
flex: 1;
padding: 0.5rem 0.75rem;
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 4px;
background: rgba(255, 255, 255, 0.1);
color: var(--color-white);
font-size: 0.9rem;
transition: all 0.3s ease;
}
.filter-input::placeholder {
color: rgba(255, 255, 255, 0.6);
}
.filter-input:focus {
outline: none;
border-color: var(--color-science-blue);
background: rgba(255, 255, 255, 0.15);
}
.filter-clear {
padding: 0.5rem 0.75rem;
background: var(--color-science-blue);
color: var(--color-white);
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 1.2rem;
font-weight: bold;
transition: background-color 0.3s ease;
min-width: 40px;
}
.filter-clear:hover {
background: var(--color-science-blue-dark, #1a5490);
}
.filter-results {
font-size: 0.9rem;
opacity: 0.8;
}
.results-count strong {
color: var(--color-science-blue);
} .event-item.hidden {
display: none;
}
.events-container {
height: 100%;
overflow-y: auto;
scrollbar-width: none; -ms-overflow-style: none; } .events-container::-webkit-scrollbar {
display: none;
} .event-item {
min-height: 50px; border-bottom: 2px solid var(--color-science-blue);
transition: background-color 0.3s ease;
padding: 10px 0;
}
.event-item:last-child {
border-bottom: none;
}
.event-link {
display: block;
text-decoration: none;
color: inherit;
transition: background-color 0.3s ease;
}
.event-link:hover {
background-color: rgba(255, 255, 255, 0.1);
}
.event-content {
display: flex;
justify-content: space-between;
align-items: center;
width: 100% !important;
max-width: 100% !important;
}
.event-info {
flex: 1;
display: flex;
align-items: center;
font-family: var(--typography-family-main);
font-weight: var(--typography-weight-medium);
font-size: 1.5rem; line-height: 1.4;
}
.event-title {
font-weight: var(--typography-weight-semibold);
}
.event-separator {
margin: 0 0.5rem;
opacity: 0.6;
}
.event-date {
opacity: 0.8;
}
.event-location {
opacity: 0.8;
}
.event-country {
font-family: var(--typography-family-secondary);
font-weight: var(--typography-weight-semibold);
font-size: 1.3rem; text-transform: uppercase;
letter-spacing: 0.1em;
flex-shrink: 0;
margin-left: 1rem;
} .events-scroll-btn
{
position: absolute !important;
right: -25px !important;
background: transparent !important;
border: none !important;
height: 30px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
cursor: pointer !important;
transition: all 0.3s ease !important;
z-index: 999 !important;
opacity: 1 !important;
visibility: visible !important;
}
.events-scroll-btn:hover {
background: var(--color-science-blue) !important;
}
.events-scroll-btn svg {
fill: var(--color-science-blue) !important;
transition: fill 0.3s ease !important;
width: 50px !important;
height: 50px !important;
}
.events-scroll-btn:hover svg {
fill: var(--color-white) !important;
}
.events-scroll-btn:focus {
outline: 2px solid var(--color-science-blue) !important;
outline-offset: 2px !important;
}
.events-scroll-up {
top: -30px !important; }
.events-scroll-down {
bottom: -15px !important; } .events-list-block.scheme-dark {
background-color: var(--color-main);
color: var(--color-white);
}
.events-list-block.scheme-light {
background-color: var(--color-white);
color: var(--color-heading);
border: 1px solid var(--color-border);
}
.events-list-block.scheme-light .event-item {
border-bottom-color: var(--color-science-blue);
}
.events-list-block.scheme-light .events-filter {
border-bottom-color: var(--color-border);
}
.events-list-block.scheme-light .filter-input {
border-color: var(--color-border);
background: rgba(0, 0, 0, 0.05);
color: var(--color-heading);
}
.events-list-block.scheme-light .filter-input::placeholder {
color: rgba(0, 0, 0, 0.5);
}
.events-list-block.scheme-light .filter-input:focus {
background: rgba(0, 0, 0, 0.08);
} @media (max-width: 768px) {
.events-list-block {
height: 400px; }
.events-filter {
padding: 0.75rem;
}
.filter-inputs {
flex-direction: column;
gap: 0.5rem;
align-items: stretch; }
.filter-input {
font-size: 0.85rem;
}
.event-info {
font-size: 1.1rem; flex-direction: column; align-items: flex-start; gap: 0.3rem; }
.event-separator {
display: none; }
.event-country {
font-size: 1.1rem;
}
.events-scroll-btn {
width: 40px !important;
right: 10px !important;
height: 40px !important;
}
.events-scroll-btn svg {
width: 35px !important;
height: 35px !important;
min-width: 35px !important;
min-height: 35px !important;
}
} @media (max-width: 480px) {
.events-list-block {
height: 350px; }
.event-info {
font-size: 1rem; flex-direction: column; align-items: flex-start; gap: 0.2rem; }
.event-country {
font-size: 1rem;
}
.events-scroll-btn {
width: 35px !important;
height: 35px !important;
right: 10px !important;
}
.events-scroll-btn svg {
width: 35px !important;
height: 35px !important;
min-width: 35px !important;
min-height: 35px !important;
}
} @media (max-width: 360px) {
.events-list-block {
height: 300px; }
.event-info {
font-size: 0.9rem; flex-direction: column; align-items: flex-start; gap: 0.2rem; }
.event-country {
font-size: 0.9rem;
}
}