@import "normalize.css";
@import "reset.css";

/* --- ustawienia ogółne --- */

strong {
    font-weight: 700;
}

#content_podstrony {
    position: relative;
    padding: 30px 0 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.container {
    width: 1600px;
}

.container2 {
    width: 1803px;
}

input,
textarea,
select {
    width: 100%;
    border: 2px solid #e5e5e5;
    color: #464646;
    font: 400 16px/20px 'Red Hat Display', sans-serif;
    padding: 10px;
    transition: all 0.3s;
}

input:focus,
input:hover,
textarea:focus,
textarea:hover,
select:focus,
select:hover {
    border: 2px solid #fbb800;
}

label {
    color: #464646;
    font: 400 16px/20px 'Red Hat Display', sans-serif;
    padding: 0 0 15px;
    display: block;
}

label.form_text span {
    color: #fbb800;
    font: 400 20px/20px 'Red Hat Display', sans-serif;
}

/* --- kolory svg --- */

.cls-1 {
    fill: #fff;
    fill-rule: evenodd;
}

.cls-2 {
    fill: #f39701;
    fill-rule: evenodd;
}

.cls-3 {
    fill: #137bc0;
    fill-rule: evenodd;
}

.cls-4 {
    fill: url(#Gradient_bez_nazwy_8);
}

.cls-5 {
    fill: #007cc4;
    fill-rule: evenodd;
}

.cls-6 {
    fill: #fbb800;
    fill-rule: evenodd;
}

.cls-7 {
    fill: #e5e5e5;
    fill-rule: evenodd;
}

.cls-8 {
    fill: #4585c0;
}

/* --- cms --- */

.cms h1 {
    color: #464646;
    font: 700 64px/76px 'Red Hat Display', sans-serif;
    margin: 0 0 50px;
    text-transform: uppercase;
}

.cms h2 {
    color: #464646;
    font: 700 48px/60px 'Red Hat Display', sans-serif;
    margin: 0 0 40px;
}

.cms h3 {
    color: #464646;
    font: 700 37px/50px 'Red Hat Display', sans-serif;
    margin: 0 0 30px;
}

.cms h4 {
    color: #464646;
    font: 700 29px/42px 'Red Hat Display', sans-serif;
    margin: 0 0 25px;
}

.cms h5,
.cms h6 {
    color: #464646;
    font: 700 21px/33px 'Red Hat Display', sans-serif;
    margin: 0 0 20px;
}

.cms p,
.cms li {
    color: #464646;
    font: 400 18px/32px 'Red Hat Display', sans-serif;
}

.cms p {
    margin: 0 0 30px;
}

.cms a {
    color: #fbb800;
}

.cms > img,
.cms p img {
    max-width: 100%;
    height: auto;
    margin: 50px 0;
    display: block;
}

.cms hr, hr {
    background-color: #f1f1f1;
    margin: 50px 0;
    border: none;
    width: 100%;
    height: 3px;
}

.cms ul {
    margin: 0 0 40px 15px;
    overflow: auto;
}

.cms ol {
    margin: 0 0 40px 0;
    overflow: auto;
}

.cms ol ul,
.cms ol ol,
.cms ul ul,
.cms ul ol {
    margin: 12px 0 0 0;
}

.cms li {
    margin-bottom: 10px;
    padding-left: 25px;
    position: relative;
}

.cms ul > li:before {
    position: absolute;
    content: '';
    height: 4px;
    width: 4px;
    border-radius: 100%;
    background: #fbb800;
    left: 0;
    top: 15px;
}

.cms ul > li:last-of-type,
.cms ol > li:last-of-type {
    margin-bottom: 0;
}

.cms ol > li {
    list-style-type: decimal;
    margin-left: 30px;
    padding-left: 10px;
}

.cms table {
    border-collapse: collapse;
    margin: 0 0 50px 0;
    width: 100%;
    overflow-x: auto;
    background-color: #f1f1f1;
}

.cms > table td, .cms > table th {
    border: 3px solid #ffffff;
    text-align: center;
    vertical-align: middle;
    padding: 25px 30px;
}

.cms > table thead th {
    border-bottom: 3px solid #fbb800;
    font: 700 18px/26px 'Red Hat Display', sans-serif;
    border-top: none;
    color: #464646;
}

.cms > table tr:last-of-type td {
    border-bottom: none;
}

.cms > table tr td:first-of-type,
.cms > table tr th:first-of-type {
    border-left: none;
}

.cms > table tr td:last-of-type,
.cms > table tr th:last-of-type {
    border-right: none;
}

.cms > table tbody {
    font: 400 16px/22px 'Red Hat Display', sans-serif;
    color: #464646;
}

/* --- buttony --- */

.btn {
    display: inline-block;
    position: relative;
    padding: 20px 85px 20px 40px;
    color: #ffffff;
    font: 700 18px/20px 'Red Hat Display', sans-serif;
    background: linear-gradient(90deg, rgba(243, 145, 0, 1), rgba(251, 184, 0, 1), rgba(243, 145, 0, 1));
    background-size: 200% 100%;
    border-radius: 30px;
    box-shadow: 0 0 7px 0 rgba(255, 187, 0, 0.72);
    transition: all 0.3s;
}

.btn:hover {
    background-position: 100% 0;
}

.btn .arrow_poziom {
    position: absolute;
    top: 50%;
    right: 32px;
    transform: translate(0, -50%);
    width: 24px;
    transition: all 0.3s;
}

.btn:hover .arrow_poziom {
    right: 18px;
}

.btn2 {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
}

.btn2 .kolko {
    position: relative;
    border-radius: 100%;
    margin: 0 35px 0 0;
    width: 40px;
    height: 40px;
    background: linear-gradient(90deg, rgba(243, 145, 0, 1), rgba(251, 184, 0, 1));
    transition: all 0.3s;
}

.btn2:hover .kolko {
    margin: 0 15px 0 20px;
    background: #ffffff;
}

.btn2 svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 24px;
}

.btn2 svg .cls-1 {
    transition: all 0.3s;
}

.btn2:hover svg .cls-1 {
    fill: #fbb800;
}

.btn2 span {
    color: #ffffff;
    font: 700 16px/18px 'Red Hat Display', sans-serif;
    transition: all 0.3s;
}

.btn_wroc {
    cursor: pointer;
    display: inline-flex;
}

.btn_wroc span {
    color: #007cc4;
}

.btn_wroc:hover span {
    color: #fbb800;
}

.btn_wroc .kolko {
    background: transparent;
    margin: 0 0 0 30px;
}

.btn_wroc:hover .kolko {
    background: transparent;
    margin: 0 20px 0 10px;
}

.btn_wroc svg {
    transform: translate(-50%, -50%) rotate(180deg);
}

.btn_wroc:hover .cls-5 {
    fill: #fbb800;
}

.btn3 {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
}

.btn3 .arrow_poziom {
    width: 17px;
    margin: 0 25px 0 0;
    transition: all 0.3s;
}

.btn3:hover .arrow_poziom {
    margin: 0 15px 0 0;
}

.btn3 .arrow_poziom .cls-5 {
    transition: all 0.3s;
}

.btn3 span {
    color: #007cc4;
    font: 700 14px/16px 'Red Hat Display', sans-serif;
    transition: all 0.3s;
}

.btn_news {
    margin: 25px 0 0;
}

/* --- breadcrumps --- */

#breadcrumps {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin: 0 0 50px;
}

#breadcrumps .home {
    width: 15px;
    height: 13px;
    margin: 2px 15px 0 0;
}

#breadcrumps .home .ico_home {
    width: 15px;
    height: auto;
}

#breadcrumps .ico_home .cls-2 {
    transition: all 0.3s;
}

#breadcrumps .home:hover .ico_home .cls-2 {
    fill: #9f9f9f;
}

#breadcrumps div a,
#breadcrumps div .active,
#breadcrumps div .separator {
    display: inline-block;
    font: 400 13px/17px 'Red Hat Display', sans-serif;
    text-transform: uppercase;
    color: #464646;
    transition: all 0.3s;
}

#breadcrumps div a,
#breadcrumps div .separator {
    margin: 0 10px 0 0;
}

#breadcrumps div a:hover,
#breadcrumps div span.active {
    color: #9f9f9f;
}

#breadcrumps div .separator:first-of-type {
    margin-left: 0;
}

/* --- pliki do pobrania --- */

#pliki a {
    font: 700 17px/26px 'Red Hat Display', sans-serif;
    color: #464646;
    margin: 0 0 20px;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    transition: all 0.3s;
}

#pliki a:last-of-type {
    margin: 0;
}

#pliki a:hover {
    color: #fbb800;
}

#pliki a .kolko {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 100%;
    background: linear-gradient(90deg, rgba(243, 145, 0, 1), rgba(251, 184, 0, 1));
    margin: -3px 20px 0 0;
}

#pliki a .ico_download {
    width: 17px;
}

/* --- galeria na podstronie --- */

#galeria {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#galeria .container2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#galeria a {
    position: relative;
    overflow: hidden;
    width: 435px;
    height: 364px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 21px 21px 0;
}


#galeria a:nth-of-type(4n),
#galeria a:last-of-type {
    margin-right: 0;
}

#galeria a:before {
    content: '';
    position: absolute;
    opacity: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: #007cc4;
    transition: all 0.3s;
}

#galeria a:hover:before {
    opacity: 0.6;
}

#galeria a img {
    width: auto;
    height: auto;
    max-height: 100%;
    max-width: 100%;
    object-fit: cover;
    transition-duration: 1s;
    transition: all 0.3s;
}

#galeria a .ico_lupa {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 76px;
    opacity: 0;
    z-index: 1;
    transition: all 0.3s;
}

#galeria a:hover .ico_lupa {
    opacity: 1;
}

/* --- kategorie --- */

#kategorie {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.box_kategoria {
    position: relative;
    width: 30%;
    height: 210px;
    border: 2px solid #f1f1f1;
    margin: 0 80px 80px 0;
    transition: all 0.3s;
}

.box_kategoria:hover {
    border-color: #fbb800;
}

.box_kategoria:nth-of-type(3n),
.box_kategoria:last-of-type {
    margin-right: 0;
}

.box_kategoria:nth-last-of-type(-n + 3) {
    margin-bottom: 0;
}

.box_kategoria .kolko {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background: linear-gradient(90deg, rgba(243, 145, 0, 1), rgba(251, 184, 0, 1));
    transition: all 0.3s;
    pointer-events: none;
}

.box_kategoria:hover .kolko {
    bottom: 40px;
    background: #007cc4;
}

.box_kategoria .arrow_pion {
    transform: rotate(180deg);
    width: 20px;
}

.box_kategoria .arrow_pion .cls-1 {
    transition: all 0.3s;
}

.box_kategoria:hover .arrow_pion .cls-1 {
    fill: #fbb800;
}

.box_kategoria .tytul {
    position: absolute;
    left: 50%;
    top: 30px;
    transform: translate(-50%, 0);
    width: 100%;
    padding: 0 50px;
    color: #007cc4;
    font: 700 26px/36px 'Red Hat Display', sans-serif;
    text-align: center;
    max-height: 108px;
    overflow: hidden;
    transition: all 0.3s;
}

.box_kategoria:hover .tytul {
    color: #fbb800;
}

/* --- header --- */

header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 10px 50px 30px 75px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    z-index: 5;
    transition: all 0.3s;
}

header.home {
    align-items: center;
    padding-top: 30px;
}

header .header_logo {
    margin: 85px 0 0;
}

header.home .header_logo {
    margin: 0;
}

header .logo {
    width: 413px;
}

header nav ul {
    display: flex;
    align-items: center;
}

header nav li {
    margin: 0 0 0 50px;
}

header nav li:first-of-type {
    margin: 0;
}

header nav a {
    display: block;
    position: relative;
    color: #FFFFFF;
    font: 700 17px/19px 'Red Hat Display', sans-serif;
    padding: 25px 0;
}

header nav a:before,
header nav a.active.before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 0;
    height: 3px;
    background-color: #FFFFFF;
    transition: all 0.3s;
}

header nav a.active:before,
header nav a:hover:before {
    width: 100%;
}

/* --- banerek na podstronach --- */

#wrapper_podstrona {
    display: flex;
    align-items: center;
    position: relative;
    top: 0;
    left: 0;
    width: 100vw;
    max-width: 100%;
    height: 247px;
    background: url(../grafika/slide1.jpg) center -120px / cover;
}

#wrapper_podstrona:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(40, 46, 52, 0.4);
}

#wrapper_podstrona .link_kalkulator .line2 {
    margin: -18px -62px 5px 0;
}

#wrapper_podstrona .link_kalkulator {
    bottom: -3px;
}

#wrapper_podstrona .link_kalkulator .line2 .arrow_pion {
    transform: translate(-50%, -50%) rotate(-90deg);
}

#wrapper_podstrona .link_kalkulator:hover .line2 .kolko {
    top: 0;
}

#wrapper_podstrona .header_kontakt {
    right: 690px;
    bottom: 25px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    /*z-index: 5;*/
}

#wrapper_podstrona .header_kontakt.calc_kontakt {
    right: 50px;
    flex-direction: row;
}

#wrapper_podstrona .link_telefon {
    margin: 0 0 25px;
}

#wrapper_podstrona .header_kontakt.calc_kontakt .link_telefon {
    margin: 0 25px 0 0;
}

/* --- slider z banerami na stronie głównej --- */

#slider_container {
    position: relative;
    top: 0;
    left: 0;
    width: 100vw;
    max-width: 100%;
    height: 100vh;
    max-height: 1080px;
    min-height: 500px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

#slider_wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#slider_wrapper .slick-list,
#slider_wrapper .slick-track,
#slider_wrapper .slick-slide,
#slider_wrapper .slick-slide > div,
#slider_wrapper .slide {
    height: 100%;
}

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#slider_container .slider_box {
    position: absolute;
    bottom: 0;
    left: 50px;
    background-color: rgba(13, 124, 185, 0.9);
    padding: 100px;
    width: 850px;
}

.slider_box .line1 {
    color: #ffffff;
    font: 400 64px/72px 'Red Hat Display', sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin: 0 0 50px;
}

.slider_box .line2 {
    color: #ffffff;
    font: 400 20px/32px 'Red Hat Display', sans-serif;
    margin: 0 0 50px;
}


.todown {
    position: absolute;
    right: 35px;
    bottom: 35px;
    display: flex;
    align-items: center;
}

.todown.mobile {
    display: none;
    left: 30px
}

.todown .arrow_pion {
    position: relative;
    width: 15px;
    margin: 0 0 0 25px;
    animation: ani_todown 2s ease-in-out infinite alternate;
}

@keyframes ani_todown {
    0%, 50%, 100% {
        top: 0;
    }
    25% {
        top: 25px;
    }
}

.todown .arrow_pion .cls-1 {
    transition: all .3s;
}

.todown:hover .arrow_pion .cls-1 {
    fill: #fbb800;
}

.todown span {
    color: #ffffff;
    font: 400 14px/26px 'Red Hat Display', sans-serif;
    transition: all 0.3s;
}

.todown:hover span {
    color: #fbb800;
}

.header_social {
    display: flex;
    align-items: center;
    position: absolute;
    top: 135px;
    right: 50px;
    z-index: 1;
}

.header_social a {
    display: inline-block;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
}

.header_social a svg {
    width: 34px;
}

.header_social a:first-of-type {
    margin: 0 15px 0 0;
}


#slider_container .slick-dots {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    top: 50%;
    left: auto;
    right: 52px;
    transform: translate(0, -50%);
    z-index: 3;
}

.slick-dots li {
    margin: 0 0 20px;
}

.slick-dots li button {
    border-radius: 100%;
    width: 12px;
    height: 12px;
    border: 2px solid #FFFFFF;
    background-color: transparent;
    transition: all 0.3s;
}

.slick-dots li.slick-active button,
.slick-dots li:hover button {
    background-color: #FFFFFF;
}

/* --- header kontakt --- */

.header_kontakt {
    position: absolute;
    right: 75px;
    bottom: 240px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    z-index: 4;
}

.header_kontakt a {
    display: flex;
    align-items: center;
}

.header_kontakt a svg {
    width: 22px;
    margin: 0 10px 0 0;
    flex: 0 0 auto;
}

.header_kontakt span {
    color: #ffffff;
}

.header_kontakt .link_telefon {
    font: 700 20px/24px 'Red Hat Display', sans-serif;
}

.header_kontakt .link_mail {
    font: 700 18px/24px 'Red Hat Display', sans-serif;
}

.header_kontakt .link_telefon {
    margin: 0 25px 0 0;
}

/* ---- link kalkulator --- */

.link_kalkulator {
    position: absolute;
    bottom: 60px;
    right: 64px;
    padding: 25px 40px 10px 20px;
    color: #FFFFFF;
    z-index: 4;
}

.link_kalkulator:before {
    content: '';
    position: absolute;
    top: -20px;
    left: -20px;
    width: 128px;
    height: 126px;
    background-color: #007cc4;
    z-index: -1;
    transition: all 0.3s;
}

.link_kalkulator:hover:before {
    background-color: #ffffff;
    height: calc(100% + 40px);
}

.link_kalkulator:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 3px solid #FFFFFF;
    z-index: -1;
    transition: all 0.3s;
}

.link_kalkulator:hover:after {
    border-color: #fbb800;
}

.link_kalkulator .line1 {
    display: flex;
    align-items: center;
    margin: 0 0 5px;
}

.link_kalkulator .ico_calc {
    width: 53px;
    margin: 0 55px 0 0;
    flex: 0 0 auto;
}


.link_kalkulator .ico_calc .cls-1 {
    transition: all 0.3s;
}

.link_kalkulator:hover .ico_calc .cls-1 {
    fill: #fbb800;
}

.link_kalkulator .line1 .text {
    font: 400 22px/24px 'Red Hat Display', sans-serif;
}

.link_kalkulator .line2 {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0 -62px 0 0;
}

.link_kalkulator .line2 .text {
    font: 700 14px/16px 'Red Hat Display', sans-serif;
    margin: 0 15px 0 0;
    transition: all 0.3s;
}

.link_kalkulator:hover .line2 .text {
    color: #fbb800;
}

.link_kalkulator .line2 .kolko {
    position: relative;
    top: 0;
    border-radius: 100%;
    background: linear-gradient(90deg, rgba(243, 145, 0, 1), rgba(251, 184, 0, 1));
    width: 47px;
    height: 47px;
    box-shadow: -5px 0 10px 0 rgba(255, 210, 0, 0.49);
    transition: all 0.3s;
}

.link_kalkulator:hover .line2 .kolko {
    background: linear-gradient(90deg, rgba(255, 255, 255, 1), rgba(255, 255, 255, 1));
    top: 30px;
}

.link_kalkulator .line2 .arrow_pion {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20px;
}

.link_kalkulator .line2 .cls-1 {
    transition: all 0.3s;
}

.link_kalkulator:hover .line2 .cls-1 {
    fill: #fbb800;
}

/* --- menu mobilne --- */

#overlay {
    display: none;
    position: fixed;
    top: 0;
    right: -100%;
    width: 100%;
    height: 100%;
    visibility: visible;
    z-index: 5;
    overflow: hidden;
    padding: 82px 0 0 0;
    background-color: rgba(13, 124, 185, 1);
    transition: all 0.3s;
}

#overlay.open {
    right: 0;
}

#menu-mobile {
    overflow-x: hidden;
    height: 100%;
    width: 100%;
    position: relative;
    right: -100%;
    z-index: 990;
    color: #fff;
    transition: all 0.3s;
    background-color: rgba(13, 124, 185, 1);

}

#menu-mobile.open {
    right: 0;
}

#menu-mobile .menu1 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 0 0 100px;
}

#menu-mobile .menu1 > li {
    position: relative;
    width: 100%;
    margin: 0 0 10px 30px;
}

#menu-mobile ul li {
    margin: 0;
}

#menu-mobile ul li a {
    color: #fff;
    text-transform: uppercase;
    font: 800 18px/18px 'Red Hat Display', sans-serif;
    padding: 10px 0;
    display: block;
    margin: 0 75px 0 0;
    transition: all 0.3s;
}

#menu-mobile ul li a.active,
#menu-mobile ul li a:hover {
    color: #fbb800;
}

#menu-mobile .menu2 {
    display: none;
    transform: translate(0, 0);
    position: relative;
    left: 0;
    padding: 10px 20px 10px 60px;
    width: 100%;
    margin: 10px 0 0 -30px;
    background-color: #1a6398;
}

#menu-mobile .menu2 li a {
    font: 800 16px/16px 'Red Hat Display', sans-serif;
    padding: 12px 0;
    margin: 0;
    text-transform: none;
}

#menu-mobile .menu2.open {
    display: block;
}

#menu-mobile .menu_plus {
    height: 28px;
    width: 28px;
    padding: 2px 11px;
    position: absolute;
    right: 61px;
    top: 5px;
    cursor: pointer;
    background: #1a6398;
    border-radius: 100%;
    display: inline-block;
}

#menu-mobile .menu_plus:after {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    content: '';
    width: 17px;
    height: 3px;
    background: #fff;
}

#menu-mobile .menu_plus:before {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    content: '';
    width: 3px;
    height: 17px;
    background: #fff;
    display: block;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

#menu-mobile .menu_plus.active:after {
    background: #fff !important;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

#menu-mobile .menu_plus.active:before {
    height: 3px;
    background: #fff !important;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.toggle_container {
    margin: 0;
    overflow: hidden;
    width: auto;
    position: relative;
    display: none;
}

/* ---- hamburger ---- */

#hamburger {
    display: none;
    z-index: 5;
    overflow: hidden;
}

.ham {
    width: 80px;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 400ms;
    -moz-user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.hamRotate.active {
    transform: rotate(45deg);
}

.hamRotate180.active {
    transform: rotate(180deg);
}

.line {
    fill:none;
    transition: stroke-dasharray 400ms, stroke-dashoffset 400ms;
    stroke:#fff;
    stroke-width:5.5;
    stroke-linecap:round;
}

.ham8 .top {
    stroke-dasharray: 40 160;
}

.ham8 .middle {
    stroke-dasharray: 40 142;
    transform-origin: 50%;
    transition: transform 400ms;
    stroke: #f39701;
}

.ham8 .bottom {
    stroke-dasharray: 40 85;
    transform-origin: 50%;
    transition: transform 400ms, stroke-dashoffset 400ms;
}

.ham8.active .top {
    stroke-dashoffset: -64px;
}

.ham8.active .middle {
    transform: rotate(90deg);
}

.ham8.active .bottom {
    stroke-dashoffset: -64px;
}

/* --- strona główna - sekcja 1 --- */

#section1 {
    display: flex;
    align-items: flex-start;
    padding: 0 0 0 50px;
}

#section1 .naglowek,
#home_realizacje .tytul .tekst {
    text-transform: uppercase;
    font: 700 28px/30px 'Red Hat Display', sans-serif;
    color: #464646;
    margin: 0 0 100px;
}

#section1 .home_oferta {
    width: 850px;
    flex: 0 0 auto;
    background-color: #007cc4;
    padding: 75px 100px;
}

#section1 .home_oferta .naglowek {
    color: #ffffff;
    margin: 0 0 70px;
}

.link_oferta {
    display: inline-flex;
    align-items: flex-end;
    justify-content: flex-start;
    margin: 0 0 35px;
}

.link_oferta:last-of-type {
    margin-bottom: 0;
}

.link_oferta .kolumna1 {
    position: relative;
    width: 200px;
    height: 200px;
    margin: 0 60px 0 0;
    flex: 0 0 auto;
}

.link_oferta .kolumna1 svg {
    position: absolute;
    left: 0;
    top: 0;
    width: 99px;
    transition: all 0.3s;
    z-index: 1;
}

.link_oferta:hover .kolumna1 svg {
    left: 101px;
}

.link_oferta .kwadrat {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 145px;
    height: 145px;
    background-color: #fbb800;
    transition: all 0.3s;
}

.link_oferta:hover .kwadrat {
    background-color: #0074b8;
    right: 55px;
}

.link_oferta .kolumna2 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.link_oferta .kolumna2 .line1 {
    font: 400 45px/50px 'Red Hat Display', sans-serif;
    color: #fbb800;
    margin: 0 0 20px;
    display: inline-block;
}

.link_oferta .kolumna2 .line1 span {
    font: 700 55px/55px 'Red Hat Display', sans-serif;
    color: #ffffff;
}

.link_oferta:hover .btn2 .kolko {
    margin: 0 15px 0 20px;
    background: #ffffff;
}

.link_oferta:hover .btn2 svg .cls-1 {
    fill: #fbb800;
}

#section1 .home_news {
    padding: 75px 90px 0 100px;
    width: 100%;
}

#section1 .box_news {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 65px;
}

#section1 .box_news .news {
    width: 45%;
    max-width: 360px;
}

.news {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.news .news_foto {
    width: 360px;
    height: 278px;
    margin: 0 0 45px;
    flex: 0 0 auto;
}

.news .news_foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(0%);
    transition: all 0.3s;
}

.news:hover .news_foto img {
    filter: grayscale(70%);
}

.news .news_tresc {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
}

.news .news_tytul {
    color: #464646;
    font: 700 20px/30px 'Red Hat Display', sans-serif;
    max-height: 90px;
    overflow: hidden;
    margin: 0 0 30px;
    transition: all 0.3s;
}

.news:hover .news_tytul {
    color: #fbb800;
}

.news .news_zajawka {
    color: #464646;
    font: 400 17px/26px 'Red Hat Display', sans-serif;
    margin: 0 0 30px;
    max-height: 104px;
    overflow: hidden;
}

.news .last_line {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.news .news_data {
    color: #aeaeae;
    font: 400 11px/15px 'Red Hat Display', sans-serif;
}

.news:hover .btn3 span {
    color: #fbb800;
}

.news:hover .arrow_poziom {
    margin: 0 15px 0 0;
}

.news:hover .arrow_poziom .cls-5 {
    fill: #fbb800;
}

#section1 .home_news .btn2 .kolko,
#home_realizacje .tytul .btn2 .kolko,
#home_realizacje > .btn2.mobile .kolko{
    margin: 0 30px 0 0;
}

#section1 .home_news .btn2:hover .kolko,
#home_realizacje .tytul .btn2:hover .kolko,
#home_realizacje > .btn2.mobile:hover .kolko{
    margin: 0 10px 0 20px;
    background: #007cc4;
}

#section1 .home_news .btn2:hover .cls-1,
#home_realizacje .tytul .btn2:hover .kolko,
#home_realizacje > .btn2.mobile:hover .kolko {
    fill: #fbb800;
}

#section1 .home_news .btn2 span,
#home_realizacje .tytul .btn2 span,
#home_realizacje .btn2.mobile span{
    color: #007cc4
}

#section1 .home_news .btn2:hover span,
#home_realizacje .tytul .btn2:hover span,
#home_realizacje > .btn2.mobile:hover span {
    color: #fbb800;
}

#home_realizacje > .btn2.mobile {
    display: none;
}

/* --- strona główna - kalkulator --- */

#home_kalkulator {
    padding: 90px 150px 70px;
}

#home_kalkulator.podstrona_kalkulator {
    padding: 0;
}

.zb_krokow .krok_1 {
    display: flex;
    flex-wrap: wrap;
}

.zb_krokow .krok_1 .line1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.zb_krokow .krok_1 .line1_left {
    width: 40%;
}

.zb_krokow .krok_1 .naglowek {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 40px;
}

.zb_krokow .ico_calc {
    width: 132px;
    margin: 0 60px 0 0;
    flex: 0 0 auto;
}

.zb_krokow .krok_1 .tekst_duzy {
    color: #fbb800;
    font: 700 36px/40px 'Red Hat Display', sans-serif;
}

.zb_krokow .krok_1 .tekst_duzy span {
    color: #007cc4;
}

.zb_krokow .krok_1 .tekst_maly {
    color: #007cc4;
    font: 400 28px/36px 'Red Hat Display', sans-serif;
}

.zb_krokow .krok_1 .wielkosc_instalcji {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.zb_krokow .krok_1 .podpis {
    text-align: right;
    font: 400 19px/24px 'Red Hat Display', sans-serif;
    margin: 0 50px 0 0;
}

.zb_krokow .krok_1 .wielkosc_instalcji .wartosc {
    font: 700 36px/40px 'Red Hat Display', sans-serif;
    color: #007cc4;
}

.zb_krokow .krok_1 .wielkosc_instalcji .arrow_poziom {
    width: 26px;
    transform: rotate(180deg);
    margin: 0 0 0 50px;
    /*animation: ani_arrow_bok 2s ease-in-out infinite alternate;*/
}

@keyframes ani_arrow_bok {
    0%, 50%, 100% {
        margin: 0 0 0 50px;
    }
    25% {
        margin: 0 0 0 15px;
    }
}

.zb_krokow .line1_right {
    width: 55%;
}

.zb_krokow .line1_right .suwak {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.zb_krokow .line1_right .suwak1 {
    margin: 0 0 50px;
}

.zb_krokow .line1_right .range-slider {
    width: 630px;
    padding: 0 50px 0 0;
}

.zb_krokow .irs {
    font: 700 32px/32px 'Red Hat Display', sans-serif;
}

.zb_krokow .irs--big {
    height: 100px;
}

.zb_krokow .irs--big .irs-line {
    top: 60px;
    height: 7px;
    background: #e5e5e5;
    border-radius: 0;
    border: none;
}

.zb_krokow .irs--big .irs-bar {
    top: 60px;
    height: 7px;
    background: #007cc4;
    border-radius: 0;
    border: none;
    box-shadow: none;
    margin: 0 0 0 1px;
}

.zb_krokow .irs--big .irs-handle {
    top: 48px;
    background: linear-gradient(90deg, rgba(243, 145, 0, 1), rgba(251, 184, 0, 1));
    border: none;
    box-shadow: -5px 10px 9px 0 rgba(0, 0, 0, 0.13);
}

.zb_krokow .irs--big .irs-handle.state_hover,
.zb_krokow .irs--big .irs-handle:hover {
    background: #007cc4;
}

.zb_krokow .irs--big .irs-single {
    color: #fbb800;
    text-shadow: none;
    padding: 0;
    background: none;
    border-radius: 0;
}

.zb_krokow .suwak1 .irs--big .irs-single {
    padding: 0 35px 0 0;
}

.zb_krokow .suwak2 .irs--big .irs-single {
    padding: 0 78px 0 0;
}

.zb_krokow .irs--big .irs-single::before {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
}

.zb_krokow .suwak1 .irs--big .irs-single::before,
.zb_krokow .suwak1 .irs--big .irs-min::after,
.zb_krokow .suwak1 .irs--big .irs-max::after {
    content: 'zł';
}

.zb_krokow .suwak2 .irs--big .irs-single::before,
.zb_krokow .suwak2 .irs--big .irs-min::after,
.zb_krokow .suwak2 .irs--big .irs-max::after {
    content: 'kWh';
}

.zb_krokow .irs--big .irs-min,
.zb_krokow .irs--big .irs-max {
    display: block;
    top: 85px;
    color: #fbb800;
    text-shadow: none;
    background-color: transparent;
    border-radius: 0;
    font: 700 20px/20px 'Red Hat Display', sans-serif;
    z-index: 1;
}

.zb_krokow .suwak1 .irs--big .irs-min,
.zb_krokow .suwak1 .irs--big .irs-max {
    padding: 0 20px 0 0;
}

.zb_krokow .suwak2 .irs--big .irs-min,
.zb_krokow .suwak2 .irs--big .irs-max {
    padding: 0 50px 0 0;
}

.zb_krokow .irs--big .irs-min::after,
.zb_krokow .irs--big .irs-max::after {
    position: absolute;
    right: 0;
}

.zb_krokow .krok_1 .separator {
    width: 100%;
    height: 3px;
    background-color: #f1f1f1;
    margin: 50px 0;
}

.zb_krokow .krok_1 .line2 {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0 50px 0 0;
}

.zb_krokow .krok_1 .line2 .arrow_pion {
    width: 22px;
}

.zb_krokow .krok_1 .line2 .kropka {
    width: 12px;
    height: 12px;
    border-radius: 100%;
    background-color: #e5e5e5;
    margin: 70px 0 0;
    flex: 0 0 auto;
}

.zb_krokow .krok_1 .line2 .oszczednosci,
.zb_krokow .krok_1 .line2 .koszt_instalacji,
.zb_krokow .krok_1 .line2 .okres_zwrotu {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 300px;
    flex: 0 0 auto;
}

.zb_krokow .krok_1 .line2 .tytul {
    color: #464646;
    font: 700 24px/27px 'Red Hat Display', sans-serif;
    text-align: center;
    margin: 0 0 20px;
}

.zb_krokow .krok_1 .line2 .wartosc {
    font: 700 54px/54px 'Red Hat Display', sans-serif;
    text-align: center;
    margin: 0 0 20px;
}

.zb_krokow .krok_1 .line2 .oszczednosci .wartosc,
.zb_krokow .krok_1 .line2 .okres_zwrotu .wartosc {
    color: #fbb800;
}

.zb_krokow .krok_1 .line2 .koszt_instalacji .wartosc {
    color: #007cc4;
}

.zb_krokow .krok_1 .line2 .tekst {
    color: #858585;
    font: 400 15px/20px 'Red Hat Display', sans-serif;
    text-align: center;
    height: 40px;
    overflow: hidden;
    margin: 0 0 25px;
}

.zb_krokow .krok_1 .line2 .oszczednosci .arrow_pion,
.zb_krokow .krok_1 .line2 .koszt_instalacji .arrow_pion,
.zb_krokow .krok_1 .line2 .okres_zwrotu .arrow_pion {
    transform: rotate(180deg);
    position: relative;
    padding: 0 0 5px;
    animation: ani_arrow_fala 2s ease-in-out infinite;
}

@keyframes ani_arrow_fala {
    0%, 50%, 100% {
        bottom: 0;
    }
    25% {
        bottom: 25px;
    }
}

.zb_krokow .krok_1 .line2 .koszt_instalacji .arrow_pion {
    animation-delay: 0.5s;
}

.zb_krokow .krok_1 .line2 .okres_zwrotu .arrow_pion {
    animation-delay: 1s;
}

.zb_krokow .krok_1 .line2 .last_div {
    margin: 0 0 0 40px;
}

.zb_krokow .ktory_krok {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font: 700 20px/24px 'Red Hat Display', sans-serif;
    color: #fbb800;
}

.zb_krokow .krok_1 .ktory_krok {
    margin: 0 0 85px;
}

.zb_krokow .ktory_krok span {
    width: 12px;
    height: 12px;
    border-radius: 100%;
    border: 2px solid #e5e5e5;
    margin: 0 0 0 35px;
}

.zb_krokow .ktory_krok span.active {
    border-color: #fbb800;
    background-color: #fbb800;
}

.zb_krokow .krok_2 {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.podstrona_kalkulator .zb_krokow .krok_2,
.podstrona_kalkulator .zb_krokow .krok_3 {
    margin: 0 0 180px;
}

.zb_krokow .krok_2_left {
    width: 34%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}

.zb_krokow .krok_2 .naglowek {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.zb_krokow .krok_2 .naglowek div {
    font: 700 36px/36px 'Red Hat Display', sans-serif;
    color: #fbb800;
}

.zb_krokow .krok_2 .naglowek div span {
    color: #007cc4;
}

#form_calc {
    width: 56%;
}

#form_calc .btn_wroc {
    display: none;
}

.zb_krokow .krok_2 .line_1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 45px;
}

.zb_krokow .krok_2 .line_1 > div {
    width: 28%;
}

.zb_krokow .krok_2 .line_1 input {
    height: 50px;
}

.zb_krokow .krok_2 .line_2 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 45px;
}

.zb_krokow .krok_2 .line_3 {
    color: #989898;
    font: 400 13px/18px 'Red Hat Display', 'Red Hat Display', sans-serif;
}

.zb_krokow .krok_3 {
    display: flex;
    flex-direction: column;
}

.zb_krokow .krok_3 .naglowek {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 72px;
}

.zb_krokow .krok_3 .tekst_duzy {
    color: #fbb800;
    font: 700 36px/40px 'Red Hat Display', sans-serif;
    margin: 0 0 25px;
}

.zb_krokow .krok_3 .tekst_duzy span {
    color: #007cc4;
}

.zb_krokow .krok_3 .tekst_maly {
    color: #464646;
    font: 400 18px/24px 'Red Hat Display', sans-serif;
}

.zb_krokow .krok_3 .podzienkowanie .arrow_poziom {
    width: 26px;
    transform: rotate(180deg);
    margin: 0 0 0 50px;
}

/* ---- strona główna - dlaczego my --- */

#home_dlaczego {
    margin: 0 50px;
    padding: 100px;
    background-color: #007cc4;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

#home_dlaczego .left {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

#home_dlaczego .left .tytul {
    color: #ffffff;
    font: 700 36px/40px 'Red Hat Display', sans-serif;
    margin: 0 0 50px;
}

#home_dlaczego .left .tytul span {
    color: #fbb800;
}

#home_dlaczego .left .text {
    color: #ffffff;
    font: 400 20px/32px 'Red Hat Display', sans-serif;
    margin: 0 0 30px;
}

#home_dlaczego .right {
    flex: 0 0 auto;
    margin: 0 0 0 150px;
}

#home_dlaczego .ikony {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}

#home_dlaczego .ikony > div,
#home_dlaczego .ikony > a {
    width: 140px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#home_dlaczego .ikony > div {
    margin: 0 70px 0 0;
}

#home_dlaczego .ikony .ico {
    width: 75px;
    margin: 0 0 40px;
}

#home_dlaczego .ikony .tekst {
    color: #ffffff;
    font: 700 19px/24px 'Red Hat Display', sans-serif;
    margin: 0 0 25px;
    transition: all 0.3s;
}

#home_dlaczego .ikony a:hover .tekst,
#home_dlaczego .ikony > a:hover .btn3 span {
    color: #fbb800;
}

#home_dlaczego .ikony > a .cls-1 {
    transition: all 0.3s;
}

#home_dlaczego .ikony > a:hover .cls-1 {
    fill: #fbb800;
}

#home_dlaczego .btn3 span {
    color: #ffffff;
}

#home_dlaczego .ikony > a:hover .btn3 svg {
    margin: 0 10px 0 15px;
}

/* --- strona głowna - realizacje --- */

#home_realizacje {
    margin: 0 50px;
    padding: 70px 0 100px;
}

#home_realizacje .tytul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 100px;
    margin: 0 0 50px;
}

#home_realizacje .tytul .tekst {
    margin: 0;
}

#home_realizacje .zb_realizacji {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.box_realizacja {
    position: relative;
    width: 850px;
    height: 640px;
}

.box_realizacja img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.box_realizacja .dane_realizacja {
    position: absolute;
    right: 0;
    top: 65px;
    width: 390px;
    height: 110px;
    padding: 20px 30px;
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    transition: all 0.3s;
}

.box_realizacja:hover .dane_realizacja {
    background-color: #fbb800;
}

.box_realizacja .dane_realizacja .right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    color: #464646;
    transition: all 0.3s;
}

.box_realizacja:hover .dane_realizacja .right {
    color: #ffffff;
}

.box_realizacja .dane_realizacja .miasto,
.realizacja .foto_realizacja .miasto {
    font: 700 17px/24px 'Red Hat Display', sans-serif;
    margin: 0 0 10px;
    display: block;
}

.box_realizacja .dane_realizacja .moc_instalcji,
.realizacja .foto_realizacja .moc_instalcji {
    font: 400 17px/20px 'Red Hat Display', sans-serif;
    display: flex;
    align-items: flex-end;
}

.box_realizacja .dane_realizacja .wartosc,
.realizacja .foto_realizacja .wartosc {
    font: 700 24px/24px 'Red Hat Display', sans-serif;
    margin: 0 0 0 5px;
}

.box_realizacja .btn2 {
    flex-direction: column;
    margin: 0 0 0 40px;
}

.box_realizacja .btn2 span {
    color: #007cc4;
    font: 700 14px/15px 'Red Hat Display', sans-serif;
}

.box_realizacja:hover .btn2 span {
    color: #ffffff;
}

.box_realizacja .btn2 .kolko {
    margin: 0 0 5px;
}

.box_realizacja:hover .btn2 .kolko {
    background: #ffffff;
    margin: 0 0 5px -40px;
}

.box_realizacja .dane_realizacja .btn2 .arrow_poziom {
    transform: translate(-50%, -50%) rotate(180deg);
}

.box_realizacja .btn2 .cls-1 {
    transition: all 0.3s;
}

.box_realizacja:hover .btn2 .cls-1 {
    fill: #fbb800;
}

/* --- podstrona przykładowej realizacji --- */

.realizacja {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.realizacja .opis_realizacji {
    width: 41.875%;
}

.realizacja .opis_realizacji p {
    text-align: justify;
}

.realizacja .link_kalkulator2 {
    display: inline-flex;
    align-items: flex-start;
}

.realizacja .link_kalkulator2 .line1 {
    color: #464646;
    font: 700 24px/36px 'Red Hat Display', sans-serif;
    display: block;
    margin: 0 0 5px;
}

.realizacja .link_kalkulator2 .line2 {
    color: #464646;
    font: 400 18px/28px 'Red Hat Display', sans-serif;
    display: block;
    margin: 0 0 15px;
}

.realizacja .opis_realizacji .ico_calc {
    width: 77px;
    margin: 7px 35px 0 0;
    flex: 0 0 auto;
}

.realizacja .foto_realizacja {
    position: relative;
    width: 53.125%;
    height: auto;
}

.realizacja .foto_realizacja img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.realizacja .foto_realizacja .dane_realizacja {
    position: absolute;
    left: 0;
    top: 65px;
    padding: 25px 50px;
    background-color: #ffffff;
    color: #464646;
    text-align: right;
}

.nawigacja_realizacji {
   display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 70px;
}

.nawigacja_realizacji .kolko {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 100%;
    background: linear-gradient(90deg, rgba(243, 145, 0, 1), rgba(251, 184, 0, 1));
    transition: all 0.3s;
    flex: 0 0 auto;
}

.nawigacja_realizacji > a:hover .kolko {
    background: #007cc4;
}

.nawigacja_realizacji .kolko .arrow_poziom {
    width: 24px;
}

.nawigacja_realizacji .arrow_poziom .cls-1 {
    transition: all 0.3s;
}

.nawigacja_realizacji > a:hover .arrow_poziom .cls-1 {
    fill: #fbb800;
}

.nawigacja_realizacji > a {
    display: flex;
    align-items: center;
    color: #007cc4;
    font: 700 16px/20px 'Red Hat Display', sans-serif;
    transition: all 0.3s;
}

.nawigacja_realizacji > a:hover {
    color: #fbb800;
}

.nawigacja_realizacji .lista_realizacji {
    text-align: center;
}

.nawigacja_realizacji .next {
    text-align: right;
}

.nawigacja_realizacji .prev .kolko {
    margin: 0 20px 0 0;
}

.nawigacja_realizacji .prev:hover .kolko {
    margin: 0 30px 0 -10px;
}

.nawigacja_realizacji .prev .arrow_poziom {
    transform: rotate(180deg);
}

.nawigacja_realizacji .next .kolko {
    margin: 0 0 0 20px;
}

.nawigacja_realizacji .next:hover .kolko {
    margin: 0 -10px 0 30px;
}

/* --- footer --- */

footer {
    padding: 50px 0 0;
    margin: 0 50px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

footer.home {
    padding: 0;
}

.footer_left,
.footer_right {
    width: 850px;
}

.footer_left {
    border-top: 6px solid #f1f1f1;
    padding: 75px 95px 35px 100px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer_left > div {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.footer_left .logo2 {
    width: 405px;
    margin: 0 0 70px;
}

.link_kontakt {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #464646;
}

.link_kontakt.kontakt_adres,
.link_kontakt.kontakt_telefon {
    margin: 0 0 30px;
}

.link_kontakt svg {
    width: 34px;
    margin: 0 25px 0 0;
    flex: 0 0 auto;
}

.link_kontakt .tekst {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.link_kontakt .tekst1 {
    font: 400 17px/24px 'Red Hat Display', sans-serif;
    display: block;
}

.link_kontakt.kontakt_adres .tekst1 {
    margin: 0 5px 0 0;
}

.link_kontakt .tekst2 {
    font: 700 18px/24px 'Red Hat Display', sans-serif;
    display: block;
}

.link_kontakt .tekst3 {
    font: 700 28px/28px 'Red Hat Display', sans-serif;
    display: block;
}

.footer_right {
    background-color: #f1f1f1;
    padding: 100px 130px 70px;
}

footer.home .footer_right {
    background-color: #007cc4;
}

.footer_right .link_kalkulator,
.footer_right .header_social {
    position: relative;
    bottom: auto;
    top: auto;
    right: auto;
    left: auto;
}

.footer_right .link_kalkulator {
    display: block;
    margin: 0 0 70px;
    color: #464646;
}

footer.home .footer_right .link_kalkulator {
    color: #ffffff;
}

.footer_right .link_kalkulator:before {
    background-color: #0074b8;
}

footer .link_kalkulator .line2 .text {
    color: #007cc4;
}

footer.home .link_kalkulator .line2 .text {
    color: #ffffff;
}

.footer_right .link_kalkulator .line2 .arrow_pion {
    transform: translate(-50%, -50%) rotate(-90deg);
}

footer.home .footer_right .link_kalkulator .line2 .arrow_pion {
    transform: translate(-50%, -50%) rotate(180deg);
}

.footer_right .link_kalkulator:hover .line2 .kolko {
    top: 0;
}


footer.home .footer_right .link_kalkulator:hover .line2 .kolko {
    top: -30px;
}

.footer_right .header_social a,
.footer_right .header_social a svg {
    width: 40px;
    height: 40px;
}

.footer_right .header_social a:first-of-type {
    margin: 0 20px 0 0;
}

.footer_copyright {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 40px 0;
}

.footer_copyright .text {
    color: #aeaeae;
    font: 400 11px/15px 'Red Hat Display', sans-serif;
}

/* --- podstrona kontakt --- */

.kontakt_cms {
    display: flex;
    flex-wrap: wrap;
}

.kontakt_cms h1 {
    width: 100%;
}

.kontakt_cms .kontakt_left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-bottom: 3px solid #f1f1f1;
    width: 36%;
    margin: 0 80px 0 0;
}

.kontakt_cms .link_kontakt {
    color: #464646;
}

.kontakt_cms .kontakt_left > p:last-of-type {
    margin: 0;
}

.kontakt_cms .kontakt_left > p > a {
    margin: 0 0 50px;
}

.kontakt_cms .kontakt_fb,
.kontakt_cms .kontakt_insta {
    display: flex;
    align-items: center;
    color: #007cc4;
    font: 700 16px/20px 'Red Hat Display', sans-serif;
    transition: all 0.3s;
}

.kontakt_cms .kontakt_fb:hover,
.kontakt_cms .kontakt_insta:hover {
    color: #fbb800;
}

.kontakt_cms .ico_fb,
.kontakt_cms .ico_insta {
    width: 40px;
    margin: 0 19px 0 0;
}

.kontakt_mapa {
    width: calc(64% - 80px);
}

.kontakt_mapa iframe {
    width: 100%;
    height: 100%;
}

/* --- formularz kontaktowy --- */

#formularz_kontaktowy {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 60px 0 0;
}


#formularz_kontaktowy h3 {
    margin: 0 0 50px;
}

#formularz_kontaktowy form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#formularz_kontaktowy form > div {
    width: 21.5%;
    margin: 0 0 40px;
}

#formularz_kontaktowy .formularz_kolumna1 {
    width: 73.9%;
    margin: 0;
}

#formularz_kontaktowy .formularz_kolumna2 {
    margin: 0;
}

#formularz_kontaktowy .form_text {
    color: #464646;
    display: block;
    font: 400 16px/20px 'Red Hat Display', sans-serif;
    padding: 0 0 20px;
    height: 40px;
}

#formularz_kontaktowy .form_text span {
    color: #fbb800;
}

#formularz_kontaktowy input,
#formularz_kontaktowy select {
    height: 50px;
}

#formularz_kontaktowy textarea {
    height: 170px;
}

#formularz_kontaktowy .textarea {
    margin: 0 0 20px;
}

#formularz_kontaktowy .token {
    margin: 0 0 5px;
}

#formularz_kontaktowy .token div {
    display: flex;
    justify-content: space-between;
}

#formularz_kontaktowy .token div img {
    width: 90px;
    height: 50px;
    flex: 0 0 auto;
    margin: 0 10px 0 0;
}

#formularz_kontaktowy .token div input {
    width: 190px;
    text-align: center;
    flex: 0 0 auto;
}

#formularz_kontaktowy .token div .form_text {
    margin: 0;
}

#formularz_kontaktowy .zgoda {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    cursor: pointer;
}

#formularz_kontaktowy .zgoda input {
    width: 14px;
    height: 14px;
    margin: 3px 20px 0 0;
    flex: 0 0 auto;
    cursor: pointer;
}

#formularz_kontaktowy .form_text_small {
    font: 400 13px/20px 'Red Hat Display', sans-serif;
    color: #464646;
    display: block;
    cursor: pointer;
}

#formularz_kontaktowy .form_text_small a {
    color: #fbb800;
}

#formularz_kontaktowy .btn {
    padding: 20px 40px;
    width: 100%;
    text-align: left;
}

/* --- lista blog --- */

.zb_blog {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}

.zb_blog .news {
    position: relative;
    width: 47.2%;
    flex-wrap: nowrap;
    align-items: stretch;
    margin: 0 0 160px;
}

.zb_blog .news:nth-last-of-type(-n + 2) {
    margin: 0 0 140px;
}

.zb_blog .news:before {
    content: '';
    position: absolute;
    bottom: -80px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #f1f1f1;
    pointer-events: none;
}

.zb_blog .news .news_foto {
    margin: 0 50px 0 0;
}

.zb_blog .news .news_tresc {
    flex-direction: column;
    justify-content: flex-start;
}

.zb_blog .news .last_line {
    position: absolute;
    bottom: 0;
}

/* ---- paginacja ---- */

#paginacja {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #373e4c;
    font: 400 17px/20px 'Red Hat Display', sans-serif;
    margin: 0 0 20px;
}

#paginacja label {
    padding: 0;
}

#paginacja select {
    border: 2px solid #f1f1f1;
    margin: 0 15px;
    padding: 0 30px 0 15px;
    color: #373e4c;
    font: 400 17px/17px 'Red Hat Display', sans-serif;
    height: 46px;
    width: 80px;
    cursor: pointer;
}

#paginacja select:focus,
#paginacja select:hover {
    border: 2px solid #fbb800;
}

#paginacja .kolko {
    display: block;
    position: relative;
    background: linear-gradient(90deg, rgba(243, 145, 0, 1), rgba(251, 184, 0, 1));
    border-radius: 100%;
    width: 40px;
    height: 40px;
    transition: all 0.3s;
}

#paginacja .kolko:hover {
    background: #007cc4;
}

#paginacja .kolko .arrow_poziom {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 21px;
    transition: all .3s;
}

#paginacja .pg_prev .arrow_poziom {
    transform: translate(-50%, -50%) rotate(180deg);
}

#paginacja .pg_prev {
    margin: 0 15px 0 0;
}

#paginacja .pg_next {
    margin: 0 0 0 15px;
}

/* --- podstrona oferta --- */

.zb_oferta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 15px 0 50px;
}

.zb_oferta .link_oferta {
    margin: 0;
}

.zb_oferta .link_oferta .kolumna1 {
    width: 99px;
    height: 194px;
    margin: 0 40px 0 0;
}

.zb_oferta .link_oferta:hover .kolumna1 svg {
    left: 0;
}

.zb_oferta .link_oferta .kolumna1 svg .cls-5 {
    transition: all 0.3s;
}

.zb_oferta .link_oferta:hover .kolumna1 svg .cls-5 {
    fill: #fbb800;
}

.zb_oferta .link_oferta .kolumna2 .line1 {
    font: 400 40px/45px 'Red Hat Display', sans-serif;
    margin: 0 0 20px;
}

.zb_oferta .link_oferta .kolumna2 .line1 span {
    color: #007cc4;
    font: 700 50px/50px 'Red Hat Display', sans-serif;
}

.zb_oferta .link_oferta:hover .btn2 .kolko {
    background: #007cc4;
}

.zb_oferta .btn2 span {
    color: #007cc4;
}

.zb_oferta .link_oferta:hover .btn2 span {
    color: #fbb800;
}

/* --- podstrona realizacje --- */

.zb_realizacji_podstrona {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.zb_realizacji_podstrona .box_realizacja {
    width: 553px;
    height: 415px;
    margin: 0 70px 80px 0;
}

.zb_realizacji_podstrona .box_realizacja:nth-of-type(3n) {
    margin-right: 0;
}

.zb_realizacji_podstrona .box_realizacja .dane_realizacja {
    top: 35px;
}

/* --- cookies --- */

#ciasteczka {
    display: block; /* do zmiany na block lub none*/
    /*max-width: 270px;*/
    /*height: 80px;*/
    background: #fff;
    padding: 0 10px;
    position: fixed;
    bottom: 9px;
    left: 0;
    z-index: 9999;
    -webkit-border-radius: 0 40px 40px 0;
    border-radius: 0 40px 40px 0;
    border: 1px solid #E0E0E0;
    overflow: hidden;
    cursor: pointer;
    opacity: .95;
}

#ciasteczka .zawartosc {
    max-width: 300px; /* do zmiany */
}

#ciasteczka p.info {
    margin: 3px 0;
    font: 300 9px/10px 'Montserrat', sans-serif;
    text-align: justify;
}

#ciasteczka p strong, #ciasteczka p span {
    font: 600 10px/12px 'Poppins', sans-serif;
}

#ciasteczka p a {
    color: #9a7e44;
}

#ciasteczka .zamknij {
    float: right;
    width: 34px;
    height: 35px;
    background: url('../grafika/ico-ok.png') no-repeat;
    display: block;
    overflow: hidden;
    margin: 15px 0 15px 9px;
    cursor: pointer;
}

#ciasteczka:hover .zamknij {
    background-position: 0 -36px;
}

/* --- Komunikaty --- */

.komunikat_wrapper {
    position: fixed;
    display: flex;
    flex-direction: column;
    align-items: center;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    z-index: 9999;
    min-width: 300px;
    left: 50%;
    top: -300px;
    transform: translate(-50%, 0);
}

.komunikat_wrapper.open {
    top: 10px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.komunikat {
    position: relative;
    color: #ffffff;
    font: 400 14px/21px 'Cabin', sans-serif;
    padding: 24px 60px 23px 105px;
    overflow: hidden;
    display: flex;
    align-items: center;
    border-radius: 35px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    min-width: 300px;
}

.komunikat_wrapper .komunikat {
    margin-bottom: 10px;
    opacity: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.komunikat_wrapper .komunikat.open {
    opacity: 1;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.komunikat::before {
    content: '';
    position: absolute;
    left: 3px;
    top: 50%;
    width: 64px;
    height: 64px;
    transform: translate(0, -50%);
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
}

.komunikat_ok::before {
    background: url('../grafika/ikona-ok.png');
}

.komunikat_ok {
    background-color: #99cc00;
}

.komunikat_uwaga:before {
    background: url('../grafika/ikona-uwaga.png');
}

.komunikat_uwaga {
    background-color: #ED6F00;
}

.komunikat_blad:before {
    background: url('../grafika/ikona-blad.png');
}

.komunikat_blad {
    background-color: #ff0000;
}

.komunikat_info:before {
    background: url('../grafika/ikona-info.png');
}

.komunikat_info {
    background-color: #00A4FF;
}

.komunikat_krzyzyk {
    margin-left: 20px;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    width: 20px;
    height: 20px;
    cursor: pointer;
    position: absolute;
    top: 24px;
    right: 30px;
    display: none;
}

.komunikat_wrapper .komunikat_krzyzyk {
    display: inline-block;
}

.komunikat_wrapper .komunikat_krzyzyk:hover {
    transform: rotate(180deg);
}

