:root{
  --navy:#17195f;
  --navy2:#2f3190;
  --green:#20cf80;
  --white:#fff;
}

*{box-sizing:border-box}

html, body {height: 100%;
             scroll-behavior: smooth;}

body{
  margin:0;
  font-family:'Barlow',Arial,sans-serif;
  background:var(--navy);
}

.site-header{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  z-index:50;
  padding-top:42px;
}

.topbar{
  width:min(1790px,calc(100% - 80px));
  margin:0 auto;
  display:grid;
  grid-template-columns:240px 1fr auto;
  align-items:flex-start;
  gap:40px;
}

.logo img{
  width:210px;
  display:block;
}

.nav-toggle,
.burger{display:none}

.main-nav>ul{
  margin:0;
  padding:22px 0 0;
  list-style:none;
  display:flex;
  justify-content:center;
  gap:70px;
}

.main-nav li,
.lang{position:relative}

.main-nav a,
.lang a{
  color:#fff;
  text-decoration:none;
  font-size:16px;
  line-height:1;
  font-weight:700;
  text-transform:uppercase;
  transition:.25s ease;
}

.main-nav>ul>li>a:hover,
.main-nav>ul>li>a.active,
.main-nav>ul>li:hover>a,
.lang:hover>a{
  color:var(--green);
}

.has-sub > ul{
  position:absolute;
  left:50%;
  top:100%;

  width:170px;

  margin:0;
  padding:22px 0 0;

  list-style:none;

  transform:translateX(-50%);

  opacity:0;
  visibility:hidden;
  pointer-events:none;

  transition:.25s ease;
}

.has-sub:hover>ul{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.has-sub>ul a{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(47,49,144,.95);
  color:#fff;
  border-left:1px solid rgba(255,255,255,.8);
  border-right:1px solid rgba(255,255,255,.8);
  border-bottom:1px solid rgba(255,255,255,.8);
}

.has-sub > ul li:first-child a{
  border-top:1px solid rgba(255,255,255,.8);
}

.has-sub > ul a:hover{
  background:var(--green);
  color:#fff;
}

.header-right{
  display:flex;
  align-items:flex-start;
  gap:24px;
  padding-top:18px;
}

.lang > a{
  position:relative;
}

.lang > a:after{
  content:"";
  display:inline-block;

  width:9px;
  height:9px;

  margin-left:8px;

  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;

  transform:rotate(45deg) translateY(-3px);
}

.lang > a:before{
  content:"";
  position:absolute;

  left:50%;
  bottom:-24px;

  transform:translateX(-50%);

  width:0;
  height:0;

  border-left:9px solid transparent;
  border-right:9px solid transparent;
  border-bottom:12px solid var(--green);

  opacity:0;
  transition:.25s ease;
}

.lang:hover > a:before{
  opacity:1;
}

.lang.has-sub>ul{
  width:52px;
  padding-top:22px;
}

.linkedin img{
  width:26px;
  display:block;
}

.linkedin:hover img{opacity:.65}

.hero-slider{
  position:relative;
  min-height:1040px;
  overflow:hidden;
  background:var(--navy);
}

.hero-bg{
  position:absolute;
  inset:0;
  background:
    url("img/slider_bg.webp") center bottom/cover no-repeat;
}

.hero-inner{
  position:relative;
  z-index:5;
  width:min(1370px,calc(100% - 80px));
  min-height:1040px;
  margin:0 auto;
}

.hero-title{
  position:absolute;
  left:120px;
  top:300px;
}

.hero-title h1{
  margin:0;
  color:#fff;
  font-size:66px;
  line-height:1.28;
  font-weight:700;
  letter-spacing:-1px;
}

.hero-logo-big{
  position:absolute;
  right:20px;
  top:285px;
  width:800px;
}

.hero-logo-big img,
.hero-green img{
  width:100%;
  display:block;
}

.hero-green{
  position:absolute;
  left:0;
  bottom:-8px;
  width:44vw;
  max-width:820px;
  z-index:4;
}

.hero-copy{
  position:absolute;
  right:40px;
  bottom:285px;
  width:620px;
  color:#fff;
}

.hero-copy p{
  margin:0;
  font-size:16px;
  line-height:1.65;
  font-weight:500;
}


.hero-btn{
  position:absolute;
  right:40px;
  bottom:214px;

  height:58px;
  min-width:250px;
  padding:0 22px 0 54px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;

  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:700;

  background:transparent;
  border:0;
  transition:.25s ease;
}

.hero-btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 58' preserveAspectRatio='none'%3E%3Cpath d='M32 2 H248 V56 H2 L32 2 Z' fill='none' stroke='%2320cf80' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.hero-btn::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:0;
  transition:.25s ease;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 58' preserveAspectRatio='none'%3E%3Cpath d='M32 2 H248 V56 H2 L32 2 Z' fill='%2320cf80'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.hero-btn:hover::after{
  opacity:1;
}

.hero-btn span{
  width:28px;
  height:28px;
  border:2px solid #fff;
  border-radius:50%;
  position:relative;
  flex-shrink:0;
}

.hero-btn span::before{
  content:"";
  position:absolute;
  left:50%;
  top:44%;
  width:8px;
  height:8px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:translate(-50%,-50%) rotate(45deg);
}

.slider-dots{
  position:absolute;
  right:40px;
  bottom:145px;
  display:flex;
  gap:7px;
  align-items:center;
}

.slider-dots button{
  width:13px;
  height:13px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff;
}

.slider-dots button.active{
  width:44px;
  border-radius:20px;
  background:var(--green);
}

.main-nav .menu-item-has-children > a{
  position:relative;
}

.main-nav .menu-item-has-children > a::after{
  content:"";
  position:absolute;

  left:50%;
  bottom:-24px;

  transform:translateX(-50%);

  width:0;
  height:0;

  border-left:9px solid transparent;
  border-right:9px solid transparent;
  border-bottom:12px solid var(--green);

  opacity:0;
  transition:.25s ease;
}

.main-nav .menu-item-has-children:hover > a::after{
  opacity:1;
}

.projects-section{
  background:#fff;
  padding:70px 0 90px;
  overflow:hidden;
}

.project-row{
  width:min(1200px,calc(100% - 80px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  align-items:start;
  position:relative;
}

.proj_4_new{
  margin-bottom:-85px;
}

.proj_desire{
  grid-template-columns:.85fr 1.15fr;
  align-items:end;
}

.project-img{
  position:relative;
}

.project-img img{
  width:100%;
  display:block;
  object-fit:cover;
}

.project-img-left{
  height:640px;
  clip-path:polygon(64px 0,100% 0,100% 100%,0 100%,0 64px);
}

.project-img-left img{
  height:100%;
}

.project-img-left::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:86px;
  height:86px;
  background:var(--green);
  clip-path:polygon(0 0,100% 0,0 100%);
  z-index:2;
}

.project-img-right{
  height:470px;
  margin-top:-40px;
  z-index:3;
  clip-path:polygon(0 0,100% 0,100% 100%,14% 100%,0 84%);
}

.project-img-right img{
  height:100%;
}

.project-text{
  color:#292a82;
}

.project-text-right{
  padding:25px 0 0 55px;
}

.project-text-right .project-btn{
  margin-left:auto;
}

.project-text-right{
  display:flex;
  flex-direction:column;
}

.project-text-left{
  padding:80px 65px 0 5px;
}

.project-text h2{
  margin:0 0 24px;
  font-size:30px;
  line-height:1;
  font-weight:700;
  color:#292a82;
}

.project-text h2 span{
  color:var(--green);
}

.project-text p{
  margin:0 0 22px;
  font-size:15px;
  line-height:1.35;
  font-weight:500;
}

.project-btn{
  position:relative;
  isolation:isolate;

  height:58px;
  min-width:220px;

  padding:0 32px 0 62px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;

  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:700;

  background:transparent;
  border:0;

  transition:.25s ease;
}

.project-btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;

  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 58' preserveAspectRatio='none'%3E%3Cpath d='M32 2 H248 V56 H2 L32 2 Z' fill='none' stroke='%2320cf80' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.project-btn::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;

  opacity:0;
  transition:.25s ease;

  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 58' preserveAspectRatio='none'%3E%3Cpath d='M32 2 H248 V56 H2 L32 2 Z' fill='%2320cf80'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.project-btn:hover{
  color:#fff;
}

.project-btn:hover::after{
  opacity:1;
}

.project-btn span{
  position:absolute;
  left:30px;

  width:28px;
  height:28px;

  border:2px solid #20cf80;
  border-radius:50%;

  transition:.25s ease;
}

.project-btn span::before{
  content:"";
  position:absolute;

  left:46%;
  top:50%;

  width:7px;
  height:7px;

  border-top:2px solid #20cf80;
  border-right:2px solid #20cf80;

  transform:translate(-50%,-50%) rotate(45deg);

  transition:.25s ease;
}

.project-btn:hover span{
  border-color:#fff;
}

.project-btn:hover span::before{
  border-color:#fff;
}

.project-btn-reverse::before{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 58' preserveAspectRatio='none'%3E%3Cpath d='M2 2 H218 L248 56 H2 Z' fill='none' stroke='%2320cf80' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.project-btn-reverse::after{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 58' preserveAspectRatio='none'%3E%3Cpath d='M2 2 H218 L248 56 H2 Z' fill='%2320cf80'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.banner-4new{
  background:#fff;
  padding:45px 0 70px;
}

.banner-4new__inner{
  position:relative;
  min-height:370px;
  margin:0 auto;
  overflow:hidden;

  clip-path:polygon(
    0 0,
    100% 0,
    100% 86%,
    97% 100%,
    3% 100%,
    0 86%
  );
}

.banner-4new__logo{
  position:absolute;
  left:150px;
  top:72px;
  width:285px;
}

.banner-4new__inner p{
  position:absolute;
  left:150px;
  top:183px;
  margin:0;

  color:#fff;
  font-size:16px;
  line-height:1.35;
  font-weight:500;
}

.banner-4new__btn{
  position:absolute;
  left:150px;
  top:245px;
}

.news-section{
  position:relative;
  background:#fff;
  padding:80px 0 95px;
  overflow:hidden;
}

.news-section::before{
  content:"";
  position:absolute;

  left:0;
  right:0;
  bottom:0;

  height:52%;

  background:var(--green);

  z-index:0;
}

.news-section > *{
  position:relative;
  z-index:2;
}

.news-section h2{
  margin:0 0 90px;
  text-align:center;
  color:#292a82;
  font-size:34px;
  line-height:1;
  font-weight:700;
}

.news-section h2 span{
  color:var(--green);
}

.news-slider{
  width:100%;
  overflow:hidden;
}

.news-track{
  display:flex;
  gap:48px;
  width:max-content;
}

.news-card{
  width:760px;
  flex:0 0 760px;
  background:var(--green);
  color:#fff;
  position:relative;
}

.news-img{
  height:405px;
  overflow:hidden;
  position:relative;
}

.news-img::after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--green);
  opacity:0;
  transition:.25s ease;
}

.news-card:hover .news-img::after{
  opacity:.45;
}

.news-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:.35s ease;
}

.news-card:hover .news-img img{
  transform:scale(1.04);
}

.news-content{
  min-height:250px;
  padding:45px 55px 50px;
  position:relative;
}

.news-content h3{
  margin:0 0 8px;
  color:#fff;
  font-size:26px;
  line-height:1.1;
  font-weight:700;
}

.news-content strong{
  display:block;
  margin:0 0 18px;
  color:#fff;
  font-size:19px;
  line-height:1;
  font-weight:700;
}

.news-content p{
  width:60%;
  margin:0;
  color:#fff;
  font-size:16px;
  line-height:1.6;
  font-weight:500;
}

.news-btn{
  position:absolute;
  right:55px;
  top:95px;

  height:58px;
  min-width:220px;
  padding:0 22px 0 54px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;

  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:700;

  isolation:isolate;
}

.news-btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 58' preserveAspectRatio='none'%3E%3Cpath d='M32 2 H248 V56 H2 L32 2 Z' fill='none' stroke='%23ffffff' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.news-btn::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  opacity:0;
  transition:.25s ease;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 58' preserveAspectRatio='none'%3E%3Cpath d='M32 2 H248 V56 H2 L32 2 Z' fill='%23ffffff'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.news-btn span{
  position:absolute;
  left:30px;
  width:28px;
  height:28px;
  border:2px solid #fff;
  border-radius:50%;
  transition:.25s ease;
}

.news-btn span::before{
  content:"";
  position:absolute;
  left:46%;
  top:50%;
  width:7px;
  height:7px;
  border-top:2px solid #fff;
  border-right:2px solid #fff;
  transform:translate(-50%,-50%) rotate(45deg);
  transition:.25s ease;
}

.news-btn:hover{
  color:var(--green);
}

.news-btn:hover::after{
  opacity:1;
}

.news-btn:hover span{
  border-color:var(--green);
}

.news-btn:hover span::before{
  border-color:var(--green);
}

.news-track{
  display:flex;
  gap:48px;
  transition:transform .45s ease;
}

.news-pagination{
  margin-top:28px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
}

.news-pagination button{
  width:12px;
  height:12px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#fff;
  cursor:pointer;
}

.news-pagination button.active{
  width:44px;
  border-radius:20px;
}

.events-section{
  position:relative;
  background:#fff;
  padding:95px 0 120px;
}

.events-section::before{
  content:"";
  position:absolute;

  left:140px;
  bottom:0;

  width:160px;
  height:160px;

  background:#f1f1f8;

  clip-path:polygon(0 0,0 100%,100% 100%);
}

.events-section::after{
  content:"";
  position:absolute;

  right:160px;
  top:120px;

  width:160px;
  height:160px;

  background:#e3f4eb;
  z-index:0;
}

.events-top{
  width:min(1280px,calc(100% - 80px));
  margin:0 auto 55px;
}

.events-top h2{
  margin:0 0 10px;

  color:var(--green);
  font-size:44px;
  line-height:1;
  font-weight:700;
}

.events-top a{
  color:#292a82;
  text-decoration:none;
  font-size:18px;
  font-weight:700;
}

.events-grid{
  width:min(1280px,calc(100% - 80px));
  margin:0 auto;

  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:72px;
}

.event-card{
  position:relative;
  z-index:2;
}

.event-img{
  position:relative;
  overflow:hidden;
  margin-bottom:38px;
}

.event-img::after{
  content:"";
  position:absolute;
  inset:0;

  background:var(--green);
  opacity:0;

  transition:.25s ease;
}

.event-card:hover .event-img::after{
  opacity:.35;
}

.event-img img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;

  transition:.35s ease;
}

.event-card:hover .event-img img{
  transform:scale(1.04);
}

.event-content h3{
  margin:0 0 12px;

  color:var(--green);
  font-size:24px;
  line-height:1.08;
  font-weight:700;
}

.event-content strong{
  display:block;
  margin:0 0 28px;

  color:#292a82;
  font-size:19px;
  line-height:1;
  font-weight:700;
}

.event-content p{
  margin:0 0 42px;
  color:#292a82;
  font-size:16px;
  line-height:1.75;
  font-weight:500;
}

.event-btn{
  color:var(--green);
}

.event-btn span{
  border-color:var(--green);
}

.event-btn span::before{
  border-top-color:var(--green);
  border-right-color:var(--green);
}

.event-btn:hover{
  color:#fff;
}

.event-btn:hover span{
  border-color:#fff;
}

.event-btn:hover span::before{
  border-top-color:#fff;
  border-right-color:#fff;
}

.site-footer{
  position:relative;
  overflow:hidden;

  background:
    radial-gradient(circle at left top,
      rgba(92,105,255,.35) 0%,
      rgba(57,60,184,0) 24%),
    radial-gradient(circle at right center,
      rgba(92,105,255,.25) 0%,
      rgba(57,60,184,0) 28%),
    #2f31a1;

  padding:120px 0 55px;

  color:#fff;
}

.footer-inner{
  width:min(1380px,calc(100% - 80px));
  margin:0 auto;

  display:grid;
  grid-template-columns:1.15fr .9fr .7fr;
  gap:120px;
}

.footer-logo{
  width:250px;
  margin-bottom:55px;
}

.footer-contact{
  margin-bottom:48px;
}

.footer-contact h4{
  margin:0 0 12px;

  color:var(--green);
  font-size:18px;
  line-height:1.2;
  font-weight:700;
}

.footer-contact p{
  margin:0;

  color:#fff;
  font-size:16px;
  line-height:1.55;
  font-weight:500;
}

.footer-contact a{
  color:#fff;
  text-decoration:none;
  transition:.25s ease;
}

.footer-contact a:hover{
  color:var(--green);
}

.footer-col-partners h4{
  margin:0 0 45px;

  color:var(--green);
  font-size:18px;
  line-height:1.2;
  font-weight:700;
}

.footer-partners{
  display:flex;
  flex-direction:column;
  gap:55px;
}

.footer-partners img{
  width:220px;
  max-width:100%;
  opacity:.95;
}

.footer-bottom{
  width:min(1380px,calc(100% - 80px));
  margin:65px auto 0;
  padding-top:38px;

  border-top:1px solid rgba(32,207,128,.75);

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}

.footer-bottom p{
  margin:0;

  color:#fff;
  font-size:15px;
  line-height:1.4;
  font-weight:500;
}

.footer-author{
  display:flex;
  align-items:center;
  gap:18px;

  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:500;
}

.footer-author img{
  width:110px;
}

.hero-subpage{
  position:relative;
  min-height:560px;
  background:var(--navy);
}

.hero-subpage__bg{
  position:absolute;
  inset:0;
  background:url("img/slider_bg.webp") center bottom/cover no-repeat;
}

.hero-subpage__inner{
  position:relative;
  z-index:5;
  width:min(1370px,calc(100% - 80px));
  min-height:560px;
  margin:0 auto;
overflow:visible;
}

.hero-subpage__content{
  position:absolute;
  left:120px;
  top:185px;
}

.hero-subpage__content h1{
  margin:0 0 24px;
  color:#fff;
  font-size:52px;
  line-height:1.12;
  font-weight:700;
}

.hero-subpage__btn{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  transform:scale(.72);
  transform-origin:left center;
}

.hero-subpage__logo {position:absolute;
                     left:calc((100% - min(1200px,calc(100vw - 80px))) / 2);
                     bottom:-25px;
                     width:430px;}

.hero-subpage__logo img{
  width:100%;
  display:block;
}

.hero-subpage__shape{
  position:absolute;
  right:-200px;
  bottom:-40px;
  width:850px;
  height:315px;
  overflow:hidden;

  }



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

.archive-section{
  position:relative;
  background:#fff;
  padding:70px 0 95px;
}

.breadcrumbs {width:min(1200px,calc(100% - 80px));
              margin:0 auto 45px;
              display:flex;
              align-items:center;
              gap:14px;
              color:#292a82;
              font-size:13px;
              font-weight:600;}

.breadcrumbs a {position:relative;
                color:#292a82;
                text-decoration:none;
                transition:.25s ease;}

.breadcrumbs a:hover {color:#20cf80;
                      text-decoration:none;}

.breadcrumbs-home {width:16px;
                   height:16px;
                   display:inline-flex;
                   align-items:center;
                   justify-content:center;
                   color:#292a82;
                   transition:.25s ease;}

.breadcrumbs-home:hover {color:#20cf80;}

.breadcrumbs-home svg {width:100%;
                       height:100%;
                       display:block;}

.breadcrumbs-home svg path {fill:currentColor;}

.breadcrumbs a:not(.breadcrumbs-home),
.breadcrumbs span {position:relative;
                   padding-left:16px;}

.breadcrumbs a:not(.breadcrumbs-home)::before,
.breadcrumbs span::before {content:">";
                           position:absolute;
                           left:0;
                           top:50%;
                           transform:translateY(-50%);
                           color:#8c8db4;}

.breadcrumbs span {color:#20cf80;}

.archive-grid{
  width:min(1280px,calc(100% - 80px));
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:72px;
}

.archive-card{
  position:relative;
  z-index:2;
}

.archive-card-large{
  grid-column:span 2;
}

.archive-card-large .event-img img{
  aspect-ratio:2.25/1;
}

.archive-card-large .event-content p{
  max-width:760px;
}

.archive-card .event-img{
  margin-bottom:34px;
}

.archive-card .event-content h3{
  color:var(--green);
}

.archive-pagination{
  margin:75px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
}

.archive-pagination a{
  width:26px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#292a82;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  background:#f1f1f8;
  transition:.25s ease;
}

.archive-pagination a:first-child,
.archive-pagination a:last-child{
  background:transparent;
  color:var(--green);
  font-size:20px;
}

.archive-pagination a.active,
.archive-pagination a:hover{
  background:var(--green);
  color:#fff;
}

.reports-section{
  position:relative;
  background:#fff;
  padding:70px 0 120px;
}

.reports-grid{
  width:min(1280px,calc(100% - 80px));
  margin:0 auto;

  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:42px;
}

.report-file{
  aspect-ratio:1/1;

  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:22px;

  padding:28px 10px 22px;

  color:#fff;
  text-decoration:none;
  text-align:center;

  background:#2f3190;

  clip-path:polygon(
    23% 0,
    100% 0,
    100% 100%,
    0 100%,
    0 23%
  );

  transition:.25s ease;
}

.report-file:hover{
  background:var(--green);
}

.report-file svg{
  width:56px;
  height:56px;
  color:#fff;
  flex-shrink:0;
}

.report-file span{
  display:block;
  max-width:100%;

  color:#fff;
  font-size:18px;
  line-height:1.2;
  font-weight:700;

  overflow-wrap:anywhere;
  word-break:break-word;
}

.team-section{
  background:#fff;
  padding:70px 0 120px;
}

.team-heading{
  width:min(980px,calc(100% - 80px));
  margin:55px auto 45px;

  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
}

.team-heading span{
  height:2px;
  background:var(--green);
}

.team-heading h2{
  margin:0;
  color:#292a82;
  font-size:26px;
  line-height:1;
  font-weight:700;
  text-align:center;
}

.team-leader{
  display:flex;
  justify-content:center;
  margin-bottom:70px;
}

.team-grid{
  width:min(980px,calc(100% - 80px));
  margin:0 auto;

  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
}

.team-card{
  position:relative;

  min-height:140px;
  padding:28px 55px 28px 28px;

  background:#2f3190;
  color:#fff;

  transition:.25s ease;
}

.team-card:hover{
  background:var(--green);
}

.team-card h3{
  margin:0 0 4px;

  color:#fff;
  font-size:24px;
  line-height:1.02;
  font-weight:700;
}

.team-card p{
  margin:0;

  color:#fff;
  font-size:14px;
  line-height:1.2;
  font-weight:700;
}

.team-grid a,
.team-leader a {text-decoration: none;}

.ikona {
  position:absolute;
  right:18px;
  bottom:18px;

  width:30px;
  height:30px;
display: block;
  /*border:2px solid #fff;
  border-radius:50%;*/
}

.ikona:before{
  content:"";
  position:absolute;
  left:0;
  top:0;

  width:30px;
  height:30px;
	background: url(https://www.ptedesire.pl/wp-content/uploads/2026/06/team_arrow.webp);
background-size: 30px 30px;
}

/*.team-card a::after{
  content:"";
  position:absolute;
  left:36%;
  top:50%;

  width:10px;
  height:2px;

  background:#fff;
  transform:translateY(-50%);
}

.contact-section{
  background:#fff;
  padding:70px 0 80px;
}*/

.contact-layout{
  width:min(1280px,calc(100% - 80px));
  margin:0 auto;

  display:grid;
  grid-template-columns:1fr 360px;
  gap:22px;
  align-items:start;
}

.contact-boxes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:24px;
}

.contact-box{
  min-height:185px;
  padding:28px 22px;

  background:#2f3190;
  color:#fff;
}

.contact-box h3{
  margin:0 0 4px;

  color:#fff;
  font-size:24px;
  line-height:1.05;
  font-weight:700;
}

.contact-box p{
  margin:0 0 28px;

  color:#fff;
  font-size:13px;
  line-height:1.25;
  font-weight:600;
}

.contact-box a{
  display:block;
  margin-top:8px;

  color:var(--green);
  text-decoration:none;
  font-size:14px;
  line-height:1.25;
  font-weight:600;

  transition:.25s ease;
}

.contact-box a:hover{
  color:#fff;
}

.contact-address{
  margin-top:40px !important;
  font-size:16px !important;
  line-height:1.35 !important;
}

.contact-map{
  height:455px;
  overflow:hidden;
  filter:grayscale(1);
}

.contact-map iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

                   .contact-form-box{
                      position:relative;
                      min-height:654px;
                      padding:28px 28px 0;

                      background:var(--green);
                      color:#fff;

                      clip-path:polygon(
                        0 0,
                        88% 0,
                        100% 13%,
                        100% 100%,
                        0 100%
                      );
                    }

                   .contact-form-box::after{
                      content:"";
                      position:absolute;
                      left:0;
                      bottom:0;

                      width:100%;
                      height:118px;

                      background:#2f3190;

                      clip-path:none;
                      z-index:0;
                    }

                    .contact-form-box::before{
                      content:"";
                      position:absolute;
                      left:0;
                      bottom:118px;

                      width:58px;
                      height:58px;

                      background:#2f3190;

                      clip-path:polygon(0 0, 100% 100%, 0 100%);

                      z-index:0;
                    }

                    .contact-form-box h2{
                      margin:0 0 28px;

                      color:#fff;
                      font-size:26px;
                      line-height:1.1;
                      font-weight:700;
                    }

                    .contact-form p{
                      margin:0 0 12px;
                    }

                    .contact-form input,
                    .contact-form textarea,
                    .contact-form-box .wpcf7 input,
                    .contact-form-box .wpcf7 textarea{
                      width:100%;
                      height:44px;
                      padding:0 14px;

                      border:0;
                      outline:0;

                      color:#292a82;
                      background:#fff;

                      font-family:inherit;
                      font-size:14px;
                      font-weight:500;
                    }

.contact-form input[type=submit] {color:#fff;
                                background:none;
                                 border: 1px solid #fff;}

                    .contact-form textarea,
                    .contact-form-box .wpcf7 textarea{
                      height:180px;
                      padding-top:14px;
                      resize:none;
                    }

                    .contact-form input::placeholder,
                    .contact-form textarea::placeholder{
                      color:#292a82;
                      opacity:.75;
                    }

                    .form-check{
                      display:flex;
                      align-items:flex-start;
                      gap:8px;

                      margin:10px 0;

                      color:#fff;
                      font-size:11px;
                      line-height:1.25;
                      font-weight:500;
                    }

                    .form-check input{
                      width:18px;
                      height:18px;
                      flex:0 0 18px;
                      accent-color:#fff;
                    }

                    .contact-form button,
                    .contact-form-box .wpcf7-submit{
                      width:100%;
                      height:52px;
                      margin-top:54px;
                      margin-bottom:34px;

                      color:#fff;
                      background:#2f3190;

                      border:2px solid #fff;

                      font-family:inherit;
                      font-size:17px;
                      font-weight:700;

                      cursor:pointer;
                      transition:.25s ease;
                    }

                    .contact-form button:hover,
                    .contact-form-box .wpcf7-submit:hover{
                      color:#2f3190;
                      background:#fff;
                    }

                    .contact-form{
                      position:relative;
                      z-index:2;
                    }


.site-header{
  transition:.25s ease;
}

.site-header.is-scrolled{
  position:fixed;
  top:0;
  left:0;
  width:100%;

  padding-top:0;

  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}

.site-header.is-scrolled .topbar{
  height:78px;
  align-items:center;
}


.site-header.is-scrolled .logo-desire-top img{
  filter:brightness(0) saturate(100%) invert(21%) sepia(64%) saturate(2020%) hue-rotate(230deg) brightness(78%) contrast(92%);
  transform:scale(.7);
  transform-origin:left center;
}

.site-header.is-scrolled .logo-4new__link--4new img {filter:none;
                                                     transform:scale(.8);
                                                     transform-origin:left center;}

.site-header.is-scrolled .logo-4new__link--desire img {filter:brightness(0) saturate(100%) invert(21%) sepia(64%) saturate(2020%) hue-rotate(230deg) brightness(78%) contrast(92%);
                                                       transform:scale(.8);
                                                       transform-origin:left center;}

.site-header.is-scrolled .logo-4new__link--4new {margin-right:-32px;}

.site-header.is-scrolled .main-nav > ul{
  padding-top:0;
}

.site-header.is-scrolled .main-nav a,
.site-header.is-scrolled .lang a{
  color:#292a82;
}

.site-header.is-scrolled .main-nav > ul > li > a:hover,
.site-header.is-scrolled .main-nav > ul > li > a.active,
.site-header.is-scrolled .main-nav > ul > li:hover > a,
.site-header.is-scrolled .lang:hover > a{
  color:var(--green);
}

.site-header.is-scrolled .linkedin img{
  filter:brightness(0) saturate(100%) invert(21%) sepia(64%) saturate(2020%) hue-rotate(230deg) brightness(78%) contrast(92%);
}

.site-header.is-scrolled .header-right{
  padding-top:0;
}

.site-header.is-scrolled .has-sub > ul a,
.site-header.is-scrolled .has-sub > ul li a,
.site-header.is-scrolled .main-nav .has-sub > ul a,
.site-header.is-scrolled .lang.has-sub > ul a{
  color:#fff !important;
}

.logo-4new{
  display:flex;
  align-items:center;
  gap:12px;
}

.logo-4new img:first-child{
  width:150px;
}

.logo-4new img:last-child{
  width:120px;
}

.home-reports{
  background:#fff;
  padding:70px 0 80px;
}

.home-reports__inner{
  width:min(1200px,calc(100% - 80px));
  margin:0 auto;
}

.home-reports h2{
  margin:0 0 38px;
  color:var(--green);
  font-size:30px;
  line-height:1;
  font-weight:700;
}

.home-reports__grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:28px;
}

.home-reports .report-file{
  min-height:150px;
}

.home-reports__btn{
  margin-top:44px;
  margin-left:auto;
  display:flex;
  width:max-content;
}

.footer-partners-2cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:32px 42px;
  align-items:center;
}

.footer-partners-2cols img{
  width:150px;
  max-width:100%;
}

/* =========================
   Wpis - układ podstrony
========================= */

.single-entry-section {background:#fff;
                       padding:55px 0 120px;}

.single-entry-layout {width:min(1200px,calc(100% - 80px));
                      margin:0 auto;
                      display:grid;
                      grid-template-columns:300px 1fr;
                      gap:62px;
                      align-items:start;}

.single-entry-layout--full {grid-template-columns:1fr;}

.single-entry-layout--full .single-entry-sidebar {display:none;}

.single-entry-content {min-width:0;}

.single-entry-sidebar {background:var(--green);}

.single-entry-side-card {display:block;
                         color:#fff;
                         text-decoration:none;}

.single-entry-side-card + .single-entry-side-card {border-top:1px solid rgba(255,255,255,.22);}

.single-entry-side-img {height:170px;
                        overflow:hidden;}

.single-entry-side-img img {width:100%;
                            height:100%;
                            display:block;
                            object-fit:cover;
                            transition:.35s ease;}

.single-entry-side-card:hover .single-entry-side-img img {transform:scale(1.04);}

.single-entry-side-content {padding:26px 24px 30px;}

.single-entry-side-content h3 {margin:0 0 18px;
                               color:#fff;
                               font-size:22px;
                               line-height:1.18;
                               font-weight:700;}

.single-entry-side-content strong {display:block;
                                   margin-bottom:22px;
                                   align-self:flex-start;
                                   color:#fff;
                                   font-size:14px;
                                   line-height:1;
                                   font-weight:700;}

.side-entry-btn {height:42px;
                 min-width:150px;
                 padding-left:42px;
                 font-size:10px;
                 color:#fff;}

.side-entry-btn span {left:15px;
                      width:22px;
                      height:22px;}

.entry-block {margin-bottom:58px;}

.entry-block--right-photo,
.entry-block--left-photo {display:grid;
                          grid-template-columns:1fr 330px;
                          gap:56px;
                          align-items:start;}

.entry-block--left-photo {grid-template-columns:330px 1fr;}

.entry-block__text h1,
.entry-block__text h2 {margin:0 0 28px;
                       color:#292a82;
                       font-size:30px;
                       line-height:1.08;
                       font-weight:700;}

.entry-block__text p {margin:0 0 18px;
                      color:#292a82;
                      font-size:16px;
                      line-height:1.45;
                      font-weight:500;}

.entry-block__text ul {margin:30px 0 0;
                       padding:0;
                       list-style:none;}

.entry-block__text li {position:relative;
                       margin-bottom:14px;
                       padding-left:38px;
                       color:#292a82;
                       font-size:15px;
                       line-height:1.45;
                       font-weight:500;}

.entry-block__text li:before {content:"→";
                              position:absolute;
                              left:0;
                              top:-2px;
                              color:var(--green);
                              font-size:24px;
                              line-height:1;
                              font-weight:700;}

.entry-block__photo {position:relative;
                     overflow:hidden;}

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

.entry-block__photo--top-cut {height:440px;
                              clip-path:polygon(0 0,86% 0,100% 14%,100% 100%,0 100%);}

.entry-block__photo--green {height:365px;
                            background:var(--green);
                            clip-path:polygon(0 0,100% 0,100% 100%,14% 100%,0 84%);}

.entry-block__photo--green img {opacity:.45;
                                mix-blend-mode:multiply;}

.entry-block--full p {margin:0 0 18px;
                      color:#292a82;
                      font-size:16px;
                      line-height:1.45;
                      font-weight:500;}

.entry-block--full .project-btn {margin-top:25px;
                                 margin-left:auto;}


/* Dolny baner */
.entry-wide-box {position:relative;
                 width:min(1280px,calc(100% - 80px));
                 margin:90px auto 115px;
                 min-height:300px;
                 background:#292a82;
                 overflow:visible;
                 display:block;}

.entry-wide-box__content {width:74%;
                          padding:52px 70px 45px;
                          color:#fff;}

.entry-wide-box__content h2 {margin:0 0 22px;
                             color:#20cf80;
                             font-size:29px;
                             line-height:1.16;
                             font-weight:700;}

.entry-wide-box__content p {margin:0 0 14px;
                            color:#fff;
                            font-size:14px;
                            line-height:19px;
                            font-weight:500;
                            text-align:justify;
                            text-align-last:left;
                            hyphens:auto;}

.entry-wide-box__btn {margin-top:24px;}

.entry-wide-box__photo {position:absolute;
                        right:64px;
                        top:-32px;
                        width:310px;
                        height:235px;
                        z-index:3;}

.entry-wide-box__photo:before {content:"";
                               position:absolute;
                               right:-16px;
                               top:16px;
                               width:100%;
                               height:100%;
                               background:#20cf80;
                               clip-path:polygon(0 0,100% 0,100% 100%,20% 100%,0 72%);
                               z-index:1;}

.entry-wide-box__photo img {position:relative;
                            z-index:2;
                            width:100%;
                            height:100%;
                            display:block;
                            object-fit:cover;
                            clip-path:polygon(0 0,100% 0,100% 100%,20% 100%,0 72%);}


.single-entry-sidebar .side-entry-btn{
  min-width:190px;
  height:42px;
  margin-left:auto;
  padding:0 42px 0 42px;
  justify-content:flex-start;
  color:#fff;
  font-size:12px;
  font-weight: 500;
}

.single-entry-sidebar .side-entry-btn::before{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 58' preserveAspectRatio='none'%3E%3Cpath d='M2 2 H218 L248 56 H2 Z' fill='none' stroke='%23ffffff' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
transform:scaleX(-1);
}

.single-entry-sidebar .side-entry-btn::after{
  background:
    url('img/button-icon-white.png') center/contain no-repeat;
}

.single-entry-sidebar .side-entry-btn span{
  left:auto;
  right:18px;

  border-color:#fff;
}

.single-entry-sidebar .side-entry-btn span::before{
  border-top-color:#fff;
  border-right-color:#fff;
}

.single-entry-side-content{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
}

.single-entry-sidebar .side-entry-btn:hover{
  color:#20cf80;
}

.single-entry-sidebar .side-entry-btn:hover::before{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 58' preserveAspectRatio='none'%3E%3Cpath d='M2 2 H218 L248 56 H2 Z' fill='%23ffffff' stroke='%23ffffff' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
  transform:scaleX(-1);
}

.single-entry-sidebar .side-entry-btn:hover span{
  border-color:#20cf80;
}

.single-entry-sidebar .side-entry-btn:hover span::before{
  border-top-color:#20cf80;
  border-right-color:#20cf80;
}

.entry-block--full .project-btn {margin-left:auto;
                                 margin-top:24px;}

.entry-block--full .project-btn-reverse::before{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 58' preserveAspectRatio='none'%3E%3Cpath d='M32 2 H248 V56 H2 L32 2 Z' fill='none' stroke='%2320cf80' stroke-width='2' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.entry-block--full .project-btn-reverse::after{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 250 58' preserveAspectRatio='none'%3E%3Cpath d='M32 2 H248 V56 H2 L32 2 Z' fill='%2320cf80'/%3E%3C/svg%3E")
    center/100% 100% no-repeat;
}

.entry-block--full{
  display:flex;
  flex-direction:column;
}

.entry-block--full .project-btn{
  align-self:flex-end;
  margin-top:24px;
}

.single-entry-side-card .single-entry-side-img{
  position:relative;
  overflow:hidden;
}

.single-entry-side-card .single-entry-side-img::after{
  content:"";
  position:absolute;
  inset:0;
  background:#20cf80;
  opacity:0;
  transition:.25s ease;
}

.single-entry-side-card:hover .single-entry-side-img::after{
  opacity:.45;
}

.single-entry-side-card .single-entry-side-img img{
  transition:.35s ease;
}

.single-entry-side-card:hover .single-entry-side-img img{
  transform:scale(1.04);
}

.single-entry-layout--full{
  grid-template-columns:1fr;
}

.hero-slide {position:absolute;
             inset:0;
             opacity:0;
             visibility:hidden;
             transition:opacity .7s ease, visibility .7s ease;}

.hero-slide.is-active {opacity:1;
                       visibility:visible;
                       z-index:2;}

.hero-slider .hero-bg,
.hero-slider .hero-green,
.hero-slider .hero-inner {pointer-events:none;}

.hero-slide.is-active .hero-btn,
.hero-slide.is-active .hero-btn * {pointer-events:auto;}

.hero-pagination {position:absolute;
                  right:calc((100% - 1370px) / 2 + 40px);
                  bottom:145px;
                  z-index:10;
                  display:flex;
                  gap:7px;
                  align-items:center;}

.hero-pagination button {width:13px;
                         height:13px;
                         padding:0;
                         border:0;
                         border-radius:50%;
                         background:#fff;
                         cursor:pointer;
                         transition:.25s ease;}

.hero-pagination button.active {width:44px;
                                border-radius:20px;
                                background:#20cf80;}


/* Podstrona projektu - układ sekcji */
.single-entry-content--project {width:100%;}

.project-row-entry {width:100%;
                    display:grid;
                    grid-template-columns:.86fr 1.14fr;
                    gap:80px;
                    align-items:start;
                    margin-bottom:0;
                    position:relative;}

.project-row-entry--text-left {z-index:2;}

.project-row-entry--photo-left {grid-template-columns:1.14fr .86fr;
                                margin-top:-120px;
                                z-index:3;}

.project-row-entry .project-text {padding:0;
                                  display:flex;
                                  flex-direction:column;
                                  color:#292a82;}

.project-row-entry--text-left .project-text {padding-top:35px;}

.project-row-entry--photo-left .project-text {padding-top:155px;}

.project-row-entry .project-text h1,
.project-row-entry .project-text h2 {margin:0 0 28px;
                                     color:#292a82;
                                     font-size:30px;
                                     line-height:1.08;
                                     font-weight:700;}

.project-row-entry .project-text p {margin:0 0 20px;
                                    color:#292a82;
                                    font-size:15px;
                                    line-height:17px;
                                    font-weight:400;}

.project-row-entry .project-text ul {margin:28px 0 0;
                                     padding:0;
                                     list-style:none;}

.project-row-entry .project-text li {position:relative;
                                     margin-bottom:18px;
                                     padding-left:48px;
                                     color:#292a82;
                                     font-size:15px;
                                     line-height:17px;
                                     font-weight:400;}

.project-row-entry .project-text li:before {content:'';
                                            position:absolute;
                                            left:0;
                                            top:5px;
                                             display: block;
                                             width:20px ;
                                             height: 17px;
                                             background:url(https://www.ptedesire.pl/wp-content/uploads/2026/06/uli-li-arrow.webp) ;}

.project-row-entry .project-btn {margin-top:34px;}

.project-row-entry--text-left .project-btn {align-self:flex-start;}

.project-row-entry--photo-left .project-btn {align-self:flex-end;}

.project-img-entry {position:relative;
                    overflow:hidden;}

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

.project-img-entry--right {height:690px;
                           z-index:2;
                           clip-path:polygon(0 0,88% 0,100% 12%,100% 100%,0 100%);}

.project-img-entry--left-green {height:560px;
                                margin-top:0;
                                z-index:4;
                                clip-path:polygon(0 0,100% 0,100% 100%,14% 100%,0 84%);}

.project-img-entry--left-green:after {content:"";
                                      position:absolute;
                                      inset:0;
                                      background:#20cf80;
                                      opacity:.75;
                                      pointer-events:none;}


/* Podstrona projektu - dolny box */
.entry-wide-box {position:relative;
                 width:min(1280px,calc(100% - 80px));
                 margin:85px auto 110px;
                 min-height:275px;
                 background:#292a82;
                 overflow:visible;
                 display:flex;
                 align-items:center;}

.entry-wide-box__content {
                          padding:50px 70px;
                          color:#fff;}

.entry-wide-box__content h2 {margin:0 0 24px;
                             color:#20cf80;
                             font-size:30px;
                             line-height:1.12;
                             font-weight:800;}

.entry-wide-box__content p {margin:0 0 16px;
                            color:#fff;
                            font-size:15px;
                            line-height:1.45;
                            font-weight:500;}

.entry-wide-box__btn {margin-top:22px;}

.entry-wide-box__photo {position:absolute;
                        right:70px;
                        top:-45px;
                        width:405px;
                        height:285px;
                        z-index:3;}

.entry-wide-box__photo:before {content:"";
                               position:absolute;
                               left:18px;
                               top:18px;
                               width:100%;
                               height:100%;
                               background:#20cf80;
                               clip-path:polygon(0 0,100% 0,100% 100%,78% 100%,0 18%);
                               z-index:1;}

.entry-wide-box__photo img {position:relative;
                            left:18px;
                            top:0;
                            z-index:2;
                            width:100%;
                            height:100%;
                            display:block;
                            object-fit:cover;
                            clip-path:polygon(0 0,100% 0,100% 100%,78% 100%,0 18%);}

/* Teksty treści - globalnie */
.project-text p,
.project-text li,
.entry-block__text p,
.entry-block__text li,
.single-entry-content p,
.single-entry-content li,
.entry-wide-box__content p,
.event-content p,
.archive-card p,
.contact-box p {font-size:15px;
                line-height:17px;
                font-weight:400;
                color:#292a82;
                text-align:justify;
                text-align-last:left;
                hyphens:auto;}


/* Dolny baner - treść biała */
.entry-wide-box .entry-wide-box__content p {margin:0 0 16px;
                                            color:#fff;
                                            font-size:15px;
                                            line-height:1.45;
                                            font-weight:500;
                                            text-align:justify;
                                            text-align-last:left;
                                            hyphens:auto;}

/* Wspólna oś contentu */
:root {--page-content-width:min(1200px,calc(100% - 80px));}

.hero-subpage__inner,
.breadcrumbs,
.single-entry-layout,
.entry-wide-box {width:var(--page-content-width);
                 margin-left:auto;
                 margin-right:auto;}

.hero-subpage__content {left:0;}

.hero-subpage__logo {left:0;}




.archive-card .event-img {position:relative;
                          overflow:hidden;}

.archive-card .event-img::after {content:"";
                                 position:absolute;
                                 inset:0;
                                 background:#20cf80;
                                 opacity:0;
                                 transition:.25s ease;
                                 pointer-events:none;}

.archive-card .event-img img {width:100%;
                              display:block;
                              transition:.35s ease;}

.archive-card:hover .event-img::after {opacity:.35;}

.archive-card:hover .event-img img {transform:scale(1.04);}

.home-reports__grid {display:grid;
                     grid-template-columns:repeat(6,1fr);
                     gap:28px;}

.home-reports .report-file {min-height:145px;
                            aspect-ratio:1 / 1;
                            padding:26px 12px 22px;}

.report-file img {width:50px;
                  height:50px;
                  display:block;
                  object-fit:contain;
                  flex-shrink:0;}

.home-reports .report-file span {font-size:15px;
                                 line-height:1.2;}


.contact-section .contact-box p,
.contact-section .contact-box .contact-address {color:#fff;
                                                }

.contact-section .contact-box {padding:30px 20px 20px 20px;}

.contact-section .contact-box h3 {margin:0 0 2px;
                                  color:#fff;
                                  font-size:30px;
                                  line-height:1.05;
                                  font-weight:800;}

.contact-section .contact-box p {margin:0 0 34px;
                                 color:#fff;
                                 font-size:17px;
                                 line-height:19px;
                                 font-weight:400;
                                 text-align:left;
                                 text-align-last:left;}

.contact-section .contact-box a {position:relative;
                                 display:block;
                                 margin:0 0 12px;
                                 padding-left:34px;
                                 color:#fff;
                                 font-size:17px;
                                 line-height:20px;
                                 font-weight:600;
                                 text-decoration:none;}

.contact-section .contact-box a:hover {color:#20cf80;}

.contact-section .contact-box a::before,
.contact-section .contact-address::before {content:"";
                                           position:absolute;
                                           left:0;
                                           top:50%;
                                           width:19px;
                                           height:19px;
                                           background:#20cf80;
                                           transform:translateY(-50%);
                                           mask-repeat:no-repeat;
                                           mask-position:center;
                                           mask-size:contain;
                                           -webkit-mask-repeat:no-repeat;
                                           -webkit-mask-position:center;
                                           -webkit-mask-size:contain;}

.contact-section .contact-box a[href^="tel:"]::before {mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.2 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.3 1.3.4 2.6.6 4 .6.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2C10.2 21.4 2.6 13.8 2.6 3.4c0-.7.5-1.2 1.2-1.2h3.5c.7 0 1.2.5 1.2 1.2 0 1.4.2 2.7.6 4 .1.4 0 .9-.3 1.2l-2.2 2.2Z'/%3E%3C/svg%3E");
                                                 -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.2 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.3 1.3.4 2.6.6 4 .6.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2C10.2 21.4 2.6 13.8 2.6 3.4c0-.7.5-1.2 1.2-1.2h3.5c.7 0 1.2.5 1.2 1.2 0 1.4.2 2.7.6 4 .1.4 0 .9-.3 1.2l-2.2 2.2Z'/%3E%3C/svg%3E");}

.contact-section .contact-box a[href^="mailto:"]::before {mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5l18 7-18 7 3-7-3-7Zm4.6 7-1.2 2.8 8.2-2.8-8.2-2.8L7.6 12Z'/%3E%3C/svg%3E");
                                                    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5l18 7-18 7 3-7-3-7Zm4.6 7-1.2 2.8 8.2-2.8-8.2-2.8L7.6 12Z'/%3E%3C/svg%3E");}

.contact-section .contact-address {position:relative;
                                   margin:73px 0 0;
                                   padding-left:34px;
                                   color:#fff;
                                   font-size:19px;
                                   line-height:23px;
                                   font-weight:400;
                                   text-align:left;
                                   text-align-last:left;}

.contact-section .contact-address::before {top:4px;
                                           transform:none;
                                           mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E");
                                           -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7Zm0 9.5A2.5 2.5 0 1 1 12 6a2.5 2.5 0 0 1 0 5.5Z'/%3E%3C/svg%3E");}

.contact-form-box .wpcf7 form p {margin:0 0 12px;
                                  padding:0;}

.contact-form-box .wpcf7 form p br {display:none;}

.contact-form-box .wpcf7-form-control-wrap {display:block;}

.contact-form-box .contact-form input,
.contact-form-box .contact-form textarea {margin:0;}

.contact-form-box .contact-form textarea {height:170px;
                                          resize:none;}

.contact-form-box .contact-form .form-check {margin:18px 0 0;}

.contact-form-box .contact-form .form-check + .form-check {margin-top:14px;}

.contact-form-box .contact-form input[type="submit"] {margin-top:64px;}

.contact-layout {width:min(1225px,calc(100% - 80px));
                 margin:0 auto;
                 display:grid;
                 grid-template-columns:780px 425px;
                 gap:20px;
                 align-items:start;}

.contact-left {width:780px;}

.contact-form-box {width:425px;}

.contact-form-box .contact-form label.form-check {display:grid;
                                                  grid-template-columns:18px 1fr;
                                                  column-gap:12px;
                                                  align-items:start;
                                                  margin:10px 0 0;
                                                  color:#fff;
                                                  font-size:11px;
                                                  line-height:13px;
                                                  font-weight:700;}

.contact-form-box .contact-form label.form-check + label.form-check {margin-top:9px;}

.contact-form-box .contact-form label.form-check br {display:none;}

.contact-form-box .contact-form label.form-check > .wpcf7-form-control-wrap {grid-column:1;
                                                                             grid-row:1;
                                                                             display:block;
                                                                             width:18px;
                                                                             height:18px;
                                                                             margin:0;}

.contact-form-box .contact-form label.form-check > span:not(.wpcf7-form-control-wrap) {grid-column:2;
                                                                                       grid-row:1;
                                                                                       display:block;
                                                                                       margin:0;
                                                                                       padding:0;}

.contact-form-box .contact-form label.form-check .wpcf7-acceptance,
.contact-form-box .contact-form label.form-check .wpcf7-list-item,
.contact-form-box .contact-form label.form-check .wpcf7-list-item label {display:block;
                                                                         margin:0;
                                                                         padding:0;}

.contact-form-box .contact-form label.form-check input[type="checkbox"] {width:18px;
                                                                         height:18px;
                                                                         margin:0;
                                                                         display:block;}

.project-row-entry--text-left .project-text {
  padding-bottom: 150px;
}

/***/

.contact-section .contact-box {
	padding-bottom: 85px;}

.contact-box {position: relative;}

.kontakt-dane {position: absolute;
               bottom: 15px;}

.contact-section .contact-box.contact-box-3 .contact-address {margin-top: 0!important;
                                                              margin-bottom: 25px!important;}
