html {
    width:100%;
    background:#fff;
    padding:0;
    margin:0;
    scroll-behavior:smooth;
}
body {
    width:100%;
    max-width:1920px;
    margin:auto;
    font-family: 'Lato', sans-serif;
    overflow-x: hidden;
    color:#000;
    font-size:18px;
    line-height:1.6;
}
#header, #footer {
    display:flex;
    height: 90px;
    width:100%;
    position:relative;
}
#header {
    border-bottom: none;
}
#footer {
    border-top: 1px solid #000;
    margin-top:45px;
    font-size:16px;
}
.animated_line {
    height:0px;
    width:1px;
    border-bottom:1px solid #000;
    
    -webkit-animation: increase 3s;
    -moz-animation:    increase 3s; 
    -o-animation:      increase 3s; 
    animation:         increase 3s; 
    animation-fill-mode: forwards;
  }
  
  @keyframes increase {
      100% {
          width: 100%;
      }
  }
  .animated_line_vertical {
    width: 1px;
  margin-left: 10%;
  background-color: #000;
  top: 0%;
  animation:lineup 2s forwards;
  position: relative;
}

@keyframes lineup {
  0% {
    height: 0px;
  }
  100% {
    height: 100%;
  }
}
.logo {
    position:absolute;
    height:70px;
    top:10px;
    left:10px;
    padding-bottom:10px;
}
.nav,
.contact {
    display:flex;
    justify-content:space-between;
    width:800px;
    text-align:center;
    margin:auto;
    position:relative;
}
.nav {
    font-size:20px;
    font-weight:600;
    text-transform: uppercase;
}
.nav a {
    position: relative;
  }
 .nav a:after  {    
    background: none repeat scroll 0 0 transparent;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 50%;
    position: absolute;
    background: #000;
    transition: width 0.3s ease 0s, left 0.3s ease 0s;
    width: 0;
  }
  .nav a:hover:after { 
    width: 100%; 
    left: 0; 
  }
.contact {
    font-size:18px;
    font-weight:600;
}
#header a,
#footer a {
    color:#000;
    text-decoration:none;
    padding:5px 0px;
}

.active {
    border-bottom:1px solid #000;
}

.heading {
    text-align: center;
    display:flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-bottom:-29px;
    position:relative;
    height:120px;
    padding-top:40px;
}
h1, h2 {
    text-transform: uppercase;
    margin:0px;
}
h2 {
    font-size:34px;
    font-weight:300;
}
h1 {
    font-size:58px;
    font-weight:600;
    line-height:1;
}
.hero_bg {
    background:#d7e3f8;
    line-height:1; 
}
.hero_image {
    width:100%;
    max-height: 77vh;
    object-fit: contain;  
}
.cases {
    max-width:600px;
    margin:50px auto;
}

.cases p {
    font-weight:700;
    margin:30px 0px 0px 0px;
}

.list {
    font-weight:400 !important;
    padding-left:10px;
    border:none;
    margin:8px 0px !important;
    padding-left:20px;
}
.grey_contact,
.grey_about {
    width:100%;
    background: linear-gradient(0deg, #F8F8F8 0%, #F8F8F8 100%);
}
.grey_contact {
    height:60vh;
    text-align: center;
    padding-top:45px;
    font-weight:600;
    font-size:20px;
    display: flex;
    flex-direction: column;
    padding-bottom: 45px;
}
.grey_about { 
    display:flex;
    width:auto; 
}
.grey_contact a {
    color:#000;
    text-decoration:none;
}
.grey_about img {
    height:100%;
}
.content_container {
    height:100%;
    width:950px;
    margin:-29px 50px 0px 50px;
    position:relative;
}
.line {
    width:1px;
    margin:auto;
    border-left:0px solid #000; 
    height:-webkit-fill-available;
    margin:40px auto    ;
}
.about_text {
    margin-top:-35px;
    margin-left:44px;
    max-width:550px;
    text-align:justify;
    position:relative;
}
@media screen and (max-width: 900px) { 
    .nav,
    .contact {
        width:550px;
    }
    .hero_image {max-height:unset;}
    .cases_fix {padding:0px 16px;width:100%;}
    .content_container {width:fit-content !important;}
}

@media screen and (max-width: 768px) { 
.desktop {display:none;}
.nav {
    font-size:12px;
    width: 100vw;
    justify-content: end;
    margin-right: 4px;
}
.nav a {
    margin-left:8px;
    margin-right:8px;
}
#header {
    height:80px;
}
.logo {
    height:60px;
}
h1 {
    font-size:28px;
}
h2 {
    font-size:20px;
}
.heading {
    height:40px;
    margin-bottom:-15px;
}
.contact {
    width: auto;
    display: flex;
    flex-direction: column;
    text-align: left;
    padding-left: 55px;
}
.line {
    height:25vh;
}
.cases,
.scrollable {
    margin: 25px auto;
    padding: 0px 24px;
}
.grey_about {
    display: flex;
    flex-direction: column;
    background:#fff;
}
.grey_about img {
    width:100%;
}
.about_text {
    position:unset;
    margin:0px;
    width:100%;
}
.scrollable {
    position:unset;
    width:auto;
}
}
@media screen and (min-width: 769px) { 
    .mobile {display:none;}
    .scrollable {
        max-width:950px;
        height:-webkit-fill-available;
        height: -moz-available;
        height: -webkit-fill-available;
        height: fill-available;
        overflow: auto;
        box-sizing: border-box;
        padding: 0px 16px;
        position: absolute;
        top: 30px;
        margin-top:80px;
        margin-bottom:40px;
    }
    .grey_about {
        height: 75vh;
    }
    .full_height_img {height:75vh;}
.revert {flex-direction: row-reverse;}
.sprawy {width:-webkit-fill-available;overflow-x: hidden;}
.cases_fix {margin: 0px 50px 0px 0px;}
}
@media screen and (min-width: 1600px) {
    .hero_image,
    .grey_about {
        max-height: 80vh;
    }
}

.scrolling_down {
    position:absolute;
    bottom:0;
    left:16px;
}

@media screen and (min-width: 1600px) {
    .scrolling_down {
        width:950px;
    }
}
.scrollable p {
    text-align: justify;
}

@media screen and (max-width: 1024px) {
    .nav,
    .contact {
        width:600px;
    }
    .about_text {
        max-width:unset;
        width:100%;
    }
}

@media screen and (max-width: 1500px) {
    .content_container {width:850px !important;}
}
@media screen and (max-width: 1400px) {
    .content_container {width:750px !important;}
}
@media screen and (max-width: 1300px) {
    .content_container {width:750px !important;}
}
@media screen and (max-width: 1200px) {
    .content_container {width:550px !important;}
    .cases_fix p {width:500px;}
}
@media screen and (max-width: 900px) {
    .content_container {
        width:100% !important;
        margin:0px;
    }
    .cases_fix p {
        width:100%;
    }
    .scrollable {
        width:fit-content;
        margin:unset;
    }
}

.cases_fix p {
    font-size:18px;
    margin-bottom:0px;
}
.cases_fix li {
    text-transform: none;
}
.sprawy {padding:0px;}

@media screen and (max-width: 900px) { 
    .content_container {width:fit-content !important;}
}

@media screen and (min-width: 901px) {
.arrow_container {
    position: absolute;
    bottom: 12px;
    width: 100%;
    text-align: center;
}
.arrow {width:32px;height:auto;}
}
@media screen and (max-width: 900px) { 
    .arrow_container {display:none;}
    .arrow {display:none;}
}

