@import url('https://fonts.googleapis.com/css?family=Roboto:300,700');

html {
	box-sizing: border-box;
}

*, *:before, *:after {
	box-sizing: inherit;
}

*:active, *:focus {
	-moz-outline-style: none;
    outline:none;
    outline: 0;
}

body {
	margin: 0;
	padding: 0;
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    background-color: #ffffff;
    font-size: 30px;
     -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;    
}

input, select, textarea {
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    font-size: 20px;
}

input.bt {
    font-size: 30px; 
}

header, section, footer, nav {
	margin: 0;
	padding: 0;
	display: block;
	border: none;
}


h1 {
    margin: 0;
    padding: 0;
    font-weight: 300;
}

h2 {
    margin: 0;
    padding: 0;
    font-size: 80px;
    font-weight: 300;
}

h3 {
    margin: 0;
    padding: 0;
    font-size: 50px;
    font-weight: 300;
}

p {
    margin: 0;
    padding: 0 0 20px 0;
}

ul {
    margin: 0;
    padding: 0 0 0 30px;
}

ul li {
    margin: 0;
    padding: 0 0 10px 0;
}

strong {
    font-weight: 700;
}

img {
    display: block;
    width: 100%;
    height: auto;
}

a {
	-webkit-transition: color 200ms ease-out;
	   -moz-transition: color 200ms ease-out;
		-ms-transition: color 200ms ease-out;
		 -o-transition: color 200ms ease-out;
			transition: color 200ms ease-out;	
}

a img {
    border: none;
}

form {
    margin: 0;
    padding: 0;
}

.blad {
    color: red;
}

.ok {
    color: green;
}

/**/

.sekcja {
    background-color: #ffffff;
    color: #304e5e;
}

.sekcja h2 {
    color: #3d4f5b;
}

.sekcja h3 {
    color: #3d4f5b;
}

.sekcja.tlo { 
    background-color: #81c5cb;  
    color: #ffffff;
}

.sekcja.tlo h2 {
    color: #ffffff;
}

.sekcja.tlo h3 {
    color: #ffffff;
}

.sekcja a {
    color: #698493;
    text-decoration: none;
}

.sekcja a:hover {
    color: #304e5e;
    text-decoration: none;    
}

.sekcja.tlo a {
    color: #ffffff;
    text-decoration: underline;
}

.sekcja.tlo a:hover {
    color: #3d4f5b;
    text-decoration: underline;
}
    

/**/

.kolumny {
    display: table;
    width: 100%;    
}

.kolumna {
    display: table-cell;   
    vertical-align: top;
    position: relative;
    padding: 60px;
}

.kolumny.wyrownaj_w_pionie .kolumna {
    vertical-align: middle;
}

.kolumna.lewa {
    width: 40%;
}

.kolumna.prawa {
    width: 60%;
    padding-right: 100px;
}


.kolumna.lewa .tytul {
    position: relative; 
    padding: 20px 0;
    margin: 0 20px;
}

.kolumna.lewa .litera {
    max-width: 390px;   
}

.kolumna.lewa h2 {
    position: absolute;
    top: 50%;
    z-index: 10;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);
}

.kolumna.prawa .tekst {
    padding: 20px 0;
    margin: 0 20px;
    max-width: 940px;
}


/**/

.separator {
    width: 100%;
    height: 100px;
    background-repeat: no-repeat;    
}

.separator.skos_1 {
     background-image: url('../img/skos1.png'); 
    border-bottom: 1px solid #81c5cb;
    margin-bottom: -1px;
    background-position: bottom left;
}

.separator.skos_2 {
     background-image: url('../img/skos2.png');  
    border-top: 1px solid #81c5cb;
    margin-top: -1px;
    background-position: top right;    
}


/******************/

.belka {
    position: fixed;
    top: 0px;
    left: 0px;
    background-color: #ffffff;
    color: #000000;
    z-index: 1001;
    width: 100%;
    height: 100px;
}

.belka .wew {
    display: table; 
    width: 100%;
}

/**/

.belka .logo {
    display: table-cell;
    font-size: 50px;
    line-height: 50px;
    height: 50px;
    vertical-align: bottom;
    padding: 25px 20px;
}

.belka .logo img {
    height: 50px; 
    width: auto;
}

.belka .logo a {
    display: inline-block;
}

/**/

.belka .menu {
    display: table-cell;
    vertical-align: bottom;
    font-size: 20px;
    line-height: 100%;
    padding: 25px 20px;
    text-align: right;
}

.belka a {
    color: #698493;
    text-decoration: none;
    margin-left: 20px;
    margin-right: 20px;
    display: block;
}

.belka a:hover, .belka a.aktywny {
    color: #000000;
}

.belka ul {
    margin: 0;
    padding: 0;
	list-style-image: none;
	list-style-position: outside;
	list-style-type: none;
	list-style: none;
}

.belka ul li {
    margin: 0;
    padding: 0;    
	list-style-image: none;
	list-style-position: outside;
	list-style-type: none;
	list-style: none;	
	display: inline-block;
    text-transform: uppercase;
}

/**/

.belka .hamburger {
    margin-right: 20px;
    text-transform: uppercase;
    white-space: nowrap;
    display: inline-block;
    cursor: pointer;
    position: absolute;
    top: -10000px;
}

.belka .hamburger img {
    width: 40px;
    display: block;
}

.belka .hamburger span {
    padding-top: 5px;
    line-height: 100%;
    display: inline-block;
    color: #698493;    
    text-align: center;
}

.belka .zamknij {
    width: 40px;
    height: 40px;
    top: -10000px;
    right: -10000px;
    display: block;
    position: absolute;
    cursor: pointer;
}

/**/

.ramka {
    background: #ffffff;
    position: fixed;
    z-index: 1000;
}

.ramka.lewa, .ramka.prawa {
    height: 150%;  
    width: 40px;
    top: 0px;
}

.ramka.lewa {
    left: 0px;
}

.ramka.prawa {
    right: 0px;
}

.ramka.dolna {
    width: 100%;
    height: 40px;
    bottom: 0px;
    left: 0px;
}

/******************/

video {
    display: block;
    width: 100%;
    height: auto;
}

.na_video {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;]
}

.playpause {
    display: block;
    max-width: 230px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
       -moz-transform: translate(-50%,-50%);
        -ms-transform: translate(-50%,-50%);
         -o-transform: translate(-50%,-50%);
            transform: translate(-50%,-50%);
    z-index: 10;
    display: block;
/*	-webkit-transition: width 200ms ease-out;
	   -moz-transition: width 200ms ease-out;
		-ms-transition: width 200ms ease-out;
		 -o-transition: width 200ms ease-out;
			transition: width 200ms ease-out;*/	    
}

/******************/



.home {
    padding: 99px 39px 39px 39px; 
}

.home .video {
    background-color: #81c5cb;    
    position: relative; 
    overflow: hidden;
/*
	-webkit-transition: height 200ms ease-out;
	   -moz-transition: height 200ms ease-out;
		-ms-transition: height 200ms ease-out;
		 -o-transition: height 200ms ease-out;
			transition: height 200ms ease-out;	    
*/
/*    cursor: pointer;*/
    color: #ffffff;
}

.home .video video {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
       -moz-transform: translate(-50%,-50%);
        -ms-transform: translate(-50%,-50%);
         -o-transform: translate(-50%,-50%);
            transform: translate(-50%,-50%);
}


.home .litera {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
         -o-transform: translateY(-50%);
            transform: translateY(-50%);    
    width: 33%;
    max-width: 430px;
    padding-left: 40px;
}

.home .scroll {
    position: absolute;
    bottom: 20px;
    text-align: center;
    width: 100%;
    font-size: 20px;
    text-transform: uppercase;
	-webkit-transition: all 200ms ease-out;
	   -moz-transition: all 200ms ease-out;
		-ms-transition: all 200ms ease-out;
		 -o-transition: all 200ms ease-out;
			transition: all 200ms ease-out;	    
}

.home .scroll.ukryj {
    bottom: 100px;
    -moz-opacity: 0.5;
    opacity: 0;
}



.home .scroll img {
    width: 12px;
    margin: 0 auto;
    position: relative;
}


/******************/


.klienci {
    display: table;
    width: 100%;
}

.klienci .klient {
    display: table-cell;
    width: 33.3%;
    vertical-align: middle;
    padding: 20px;
}



/******************/

.portfolio .kolumna.lewa{
    padding: 0 0 0 60px;
}

.portfolio .kolumna.prawa{
    padding: 0 40px 0 0;
/*    cursor: pointer;*/
}


/******************/


.cooperation .tekst_z_ikona {
    display: table;
    width: 100%;
}

.cooperation .ikona {
    display: table-cell;
    width: 30%;
    padding: 20px;
    vertical-align: middle;
}

.cooperation .opis {
    display: table-cell;
    width: 70%;
    padding: 20px;
    vertical-align: middle;
    vertical-align: middle;
}

.cooperation .grafika {
    width: 100%;
    max-width: 284px;
}

.cooperation .opis h3 .nr {
    width: 50px;  
    display: inline-block;
}

.cooperation .opis p {
    padding: 0 0 0 50px;
    max-width: 640px;
}

/******************/

.contact .formularz_komunikat {
    font-weight: 700;
}

.contact .formularz_komunikat span {
    display: block;
    padding-top: 20px;
} 

.contact .osoby {
    display: table;
    width: 100%;
}

.contact form {
    max-width: 940px;
    padding: 0;
    margin: 0;
}

.contact .osoba {
    display: table-cell;
    width: 33.3%;
    vertical-align: middle;
    padding: 20px;
}

.contact .osoba .grafika {
    width: 100%;
    max-width: 273px;
}
    
.contact .pola {
    display: table;  
}


.contact .wiersz {
    display: table-row;
}

.contact .etykieta {
    display: table-cell;
    white-space: nowrap;
    padding: 20px;
    vertical-align: top;
    text-align: right;
}

.contact .pole {
    display: table-cell;
    white-space: nowrap;
    padding: 10px 20px;
    vertical-align: top;
    width: 100%;
}


.contact .input {
    display: block;
    border: none;
    border-bottom: 1px solid #ffffff;
    width: 100%;
    background-color: transparent;
    color: #ffffff;
	resize: none;
	height: auto;
    padding: 10px 0;
	overflow: hidden;
    -webkit-border-radius: 0;
}

.NFI-wrapper {
	width: 100%;
    position: relative;
    border-bottom: 1px solid #ffffff;
    overflow: hidden !important;

}

.niezwalidowane { border-bottom-color: red !important; }

.NFI-button { 
    background-color: #ffffff;
    color: #81c5cb;
    padding: 5px 10px;
    line-height: 100%;
    width: 120px;
	-webkit-transition: color 200ms ease-out;
	   -moz-transition: color 200ms ease-out;
		-ms-transition: color 200ms ease-out;
		 -o-transition: color 200ms ease-out;
			transition: color 200ms ease-out;
    position: absolute !important;
    bottom: 10px;
    right: 0px;
    z-index: 10;
}

.NFI-button:hover {
    color: #304e5e;
}

.NFI-filename {
    display: block;
    border: none;
    background-color: transparent;
    color: #ffffff;
	resize: none;
	height: auto;
    padding: 10px 0 !important;
    width: -webkit-calc(100% - 160px);
    width: -moz-calc(100% - 160px);
    width: calc(100% - 160px);	    
}


.button {
    text-align: right;
    padding: 20px;
    width: 100%;
}

.bt {
    text-transform: uppercase;
    display: inline-block;
    padding: 20px 40px;
    border: none;
    background-color: #3d4f5b;
    color: #ffffff;
    line-height: 100%;
	-webkit-transition: color 200ms ease-out;
	   -moz-transition: color 200ms ease-out;
		-ms-transition: color 200ms ease-out;
		 -o-transition: color 200ms ease-out;
			transition: color 200ms ease-out;  
    margin: 0 0 0 auto;
    cursor: pointer;
    -webkit-appearance: none;    
    -webkit-border-radius: 0;
}

.bt:hover {
    background-color: #304e5e;    
}

.pole .blad {
    font-size: 14px;    
    padding-top: 2px;
}

.pole .blad span {
    text-transform: lowercase;
}

/******************/


.stopka {
    padding: 0 40px 40px 40px;
    font-size: 16px;
}

/******************/


.loader {
	display: block;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	/*background-image: url('../img/loader_bg.png');*/
	position: fixed;
	z-index: 10000;
    top: 0px;
    left: 0px;
}

.loader img {
	display: block;
	width: 66px;
	height: 66px;
	left: 50%;
	top: 50%;
	position: absolute;
	margin-left: -33px;
	margin-top: -33px;
}



/******************/

.overflow_hidden {
    overflow: hidden;
    height: 0px;
}

/**/ 

#cookies_info {
    font-size: 16px;
	position: fixed;
	bottom: 0px;
	left: 0px;
	display: block;
	background-image:url('../img/loader_bg.png');
	width: 100%;
	padding: 10px 0px;
	z-index: 10000001;
	text-align: center;
    color: #3d4f5b;
}

#cookies_info .bt {
    font-size: 16px;
    padding: 10px 20px;
    display: inline-block;
    vertical-align: middle;
    margin: 0 10px;
}

#cookies_info span {
    display: inline-block;
    vertical-align: middle;
    margin: 0 10px;
}

#cookies_info a {
    color: #3d4f5b;
    text-decoration: underline;
}

#cookies_info a:hover {
    color: #304e5e;
    text-decoration: underline;    
}

/******************/


@media only screen and (max-width : 1880px) { 
   body, input.bt { font-size: 25px; }    
    h2 { font-size: 64px; }    
    h3 { font-size: 42px; }
    .kolumna.lewa .litera,.home .litera { max-width: 325px; }
    .belka { height: 92px; }    
    .belka .logo { font-size: 45px; line-height: 45px; height: 45px; } 
    .belka .logo img { height: 45px; }     
    .home { padding-top: 94px; } 
}

@media only screen and (max-width : 1560px) { 
    body, input.bt { font-size: 20px; }    
    h2 { font-size: 52px; }    
    h3 { font-size: 32px; }
    .kolumna.lewa .litera,.home .litera { max-width: 272px; }
    .belka .menu, input, select, textarea { font-size: 16px; }
    .stopka { font-size: 14px; }
    .NFI-button { width: auto; }    
    .home .scroll { font-size: 16px; }
}

@media only screen and (max-width : 1240px) { 
    body, input.bt { font-size: 16px; }  
    h2 { font-size: 40px; }    
    h3 { font-size: 24px; } 
    .cooperation .opis h3 .nr { width: 30px; }
    .cooperation .opis p { padding-left: 30px; }       
    .kolumna.lewa .litera,.home .litera { max-width: 195px; }
    .offer .kolumna.lewa br { display: none; }
    .belka .menu, input, select, textarea { font-size: 14px; }
    .stopka { font-size: 12px; }
    .belka .menu a { margin-left: 0; }
    .NFI-button {  font-size: 14px; }
    .contact .etykieta { padding-right: 0px; }
    .home .scroll { font-size: 14px; }
}

@media only screen and (max-width : 920px) {
    .kolumna.prawa { padding-right: 40px; }
    .kolumna.lewa br { display: none; }
    .kolumny, .kolumna.lewa, .kolumna.prawa { display: block; width: 100%; }
    .kolumna { padding: 0 60px; }    
    .kolumna.prawa { padding-bottom: 20px; }    
    .belka .hamburger { position: static; }
    .belka .menu .pojemnik { z-index: 2000; position: fixed; left: -10000px; top: -10000px;}
    .cooperation .ikona { padding-right: 0; width: 20%; }
    .cooperation .grafika { width: 120px; }
    .cooperation .opis { padding-right: 0; width: 80%; }
    .belka .menu .pojemnik.pokaz { top: 0px; left: 0px; }
    .belka .menu .pojemnik.pokaz { background-color: #ffffff; width: 100%; height: 100%; }
    .belka .menu .pojemnik.pokaz ul {
        display: block;   
        text-align: center;
        position: relative;
        top: 50%;
        -webkit-transform: translateY(-50%);
           -moz-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
             -o-transform: translateY(-50%);
                transform: translateY(-50%);          
    }
    
    .belka .menu .pojemnik.pokaz ul li {
         display: block;  
        font-size: 20px;
        padding: 10px;
    }
    .belka .pojemnik.pokaz .zamknij  {
        top: 20px;
        right: 40px;
        display: block;
        position: absolute;
    }

}

@media only screen and (max-width : 640px) {
    .contact .osoba { padding: 10px; }
    .contact .pola, .contact .wiersz, .contact .etykieta, .contact .pole { width: 100%; display: block; width: 100%; }
    .contact .etykieta { text-align: left; padding-top: 20px; padding-bottom: 0; }
    .contact .pole { padding-top: 0px; }
    .contact .kolumna.prawa .tekst { padding-bottom: 0px; }    
}

@media only screen and (max-width : 480px) {
    h2 { font-size: 32px; }    
    .kolumna.lewa .litera,.home .litera { max-width: 100px; }
    .belka .logo { font-size: 36px; line-height: 36px; height: 36px; padding-right: 0; } 
    .belka .logo img { height: 36px; }  
    .belka .menu { padding: 20px 0px; }
    .ramka.lewa, .ramka.prawa { width: 20px; }
    .ramka.dolna { height: 20px; }
    .belka .logo { padding-left: 0px; }
    .kolumna, .kolumna.lewa, .kolumna.prawa { padding: 0 20px 20px 20px; }
    .home { padding: 91px 19px 19px 19px;   }
    .home .litera { padding-left: 20px; }
    .portfolio .kolumna.lewa { padding-left: 20px; }
    .portfolio .kolumna.prawa { padding-right: 20px; } 
    .about-us .kolumna.prawa .tekst { padding-bottom: 0; }
    .klienci .klient { padding: 0px 10px 20px 10px; }
    .poj_480 { padding: 0 10px; }
    .cooperation .tekst_z_ikona,  .cooperation .ikona, .cooperation .opis { display: block; width: 100%; }
    .cooperation .ikona { padding-bottom: 0; } 
    .cooperation .grafika { max-width: 94px; } 
    .cooperation .opis { padding-top: 10px; }   
    .cooperation .opis h3 .nr { width: auto; }
    .cooperation .opis p { padding-left: 0; padding-top: 5px; }    
    .stopka {  padding: 0 20px 20px 20px; }
    .home .scroll { left: -10000px; }
    .belka .pojemnik.pokaz .zamknij  { right: 20px; }    
}

.bounce {
    animation: bounce 2s infinite;
    -webkit-animation: bounce 2s infinite;
    -moz-animation: bounce 2s infinite;
    -o-animation: bounce 2s infinite;
}

@-webkit-keyframes bounce {
    0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);} 
    40% {-webkit-transform: translateY(-10px);}
    60% {-webkit-transform: translateY(-10px);}
} 
@-moz-keyframes bounce {
     0%, 20%, 50%, 80%, 100% {-moz-transform: translateY(0); }
     40% {-moz-transform: translateY(-10px);}
     60% {-moz-transform: translateY(-10px);}
} 
@-ms-keyframes bounce {
     0%, 20%, 50%, 80%, 100% {-ms-transform: translateY(0);}
     40% {-ms-transform: translateY(-10px);}
     60% {-ms-transform: translateY(-10px);}
}
@-o-keyframes bounce {
     0%, 20%, 50%, 80%, 100% {-o-transform: translateY(0);}
     40% {-o-transform: translateY(-10px);}
     60% {-o-transform: translateY(-10px);}
}
@keyframes bounce {
     0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
     40% {transform: translateY(-10px);}
     60% {transform: translateY(-10px);}
}
