/* RESET CSS */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

@font-face {
    font-family: 'geomb';
    src: url('../fonts/subset-Geomanist-Book.woff2') format('woff2'),
        url('../fonts/subset-Geomanist-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'geom';
    src: url('../fonts/subset-Geomanist-Bold.woff2') format('woff2'),
        url('../fonts/subset-Geomanist-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'geom';
    src: url('../fonts/subset-Geomanist-Regular.woff2') format('woff2'),
        url('../fonts/subset-Geomanist-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}


/* GLOBAL */
html {
    height: auto;
    position: relative;
    width: 100%;
}

:root {
	--text-color: #616161;
	--text-color-dark: #212121;
	--text-color-red: #ef5350;
	--text-color-white: #fff;
	--color-light-gray: #fafafa;
	--color-gray: #e6e6e6;
}

body{
	font-family: 'Source Sans Pro', sans-serif;
	height: auto;
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
	color: var(--text-color);
    position: relative;
    width: 100%;
}

.font-geom{
	font-family: 'geom';
}

.font-geomb{
	font-family: 'geomb';
}

*, *::before, *::after{
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

p{
	font-weight: 400;
	font-size: 16px;
	line-height: 24px;
}

p.bigger, .bigger{
	font-weight: 400;
	font-size: 24px;
	line-height: 32px;
}

strong{
	font-weight: 700;
}

a{
	text-decoration: none;
	color: inherit;
}

.button, .button-big, .users a, .shops .tabs .head a, .shops .tabs .head a::after,
.bottom .copy a, .bottom .right a, input[type=text], .checkbox_line .checkbox_label::after, 
.checkbox_line .checkbox_label::before, .checkbox_line .checkbox_label a,
.additional_info .input_label a, .owl-dots .owl-dot, .more-link{
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}

.button{
	font-size: 16px;
	line-height: 24px;
	line-height: 1.5;
	letter-spacing: -0.2px;
	padding: 6px 24px;
	border-radius: 24px;
}

.button:hover, .button-big:hover{
	opacity: 0.7;
}

.button-white{
	font-family: 'geomb';
	border: solid 2px #e0e0e0;
	background-color: #ffffff;
	color: var(--text-color-red);
}

.button-red{
	font-family: 'geom';
	font-weight: 700;
	border: solid 2px var(--text-color-red);
	background-color: var(--text-color-red);
	color: var(--text-color-white);
}

.button-big{
	font-family: 'geom';
	font-weight: 700;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.25px;
	height: 56px;
	padding: 12px 35px;
	border-radius: 24px;
}

.button-red-bordered{
	border: 2px solid var(--text-color-white);
	background-color: var(--text-color-red);
	color: var(--text-color-white);
}

.full{
	position: relative;
	width: 100%;
}

.font-normal{
	font-weight: 400;
}

h1,h2,h3,h4,h5,h6{
	font-family: 'geom';
	font-weight: 700;
}

h1, h1.h1-style,h2.h1-style, h3.h1-style, .h1-style{
	font-size: 48px;
	font-weight: 700;
	line-height: 1.21;
	letter-spacing: -0.5px;
}

h2, h1.h2-style,h2.h2-style, h3.h2-style, .h2-style{
	font-size: 36px;
	font-weight: 700;
	line-height: 1.22;
	letter-spacing: -0.25px;
}

h3, h1.h3-style,h2.h3-style, h3.h3-style, .h3-style{
	font-size: 20px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.25px;
}

.top{
	background: var(--text-color-white);
	height: 68px;
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);
	z-index: 10;
}

.container{
	width: 100%;
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 15px;
}

.top .container{
	display: flex;
	justify-content: flex-end;
	position: relative;
}

.top .logo{
	position: absolute;
	top: 24px;
	left: -15px;
}

.top .buttons{
	margin-top: 21px;
}

.top .buttons .button{
	margin-left: 16px;
}

.banner{
	/*height: 600px;
	background: url(../img/headline.jpg) no-repeat center top transparent;
	background-size: cover;*/
}
.banner1{
	height: 600px;
	background: url(../img/new/dobreazkupy_baner_gastronomia.jpg) no-repeat center top transparent;
	background-size: cover;
}
.banner2{
	height: 600px;
	background: url(../img/new/dobrezakupy_baner_hotele.jpg) no-repeat center top transparent;
	background-size: cover;
}
.banner3{
	height: 600px;
	background: url(../img/new/dobrezakupy_baner_sprzedaz.jpg) no-repeat center top transparent;
	background-size: cover;
}

.banner .container{
	padding-top: 64px;
}

.banner *{
	color: var(--text-color-white);
}

.banner .desc{
	margin-top: 20px;
}

.banner .but{
	display: block;
	margin-top: 54px;
}

.steps{
	background-color: var(--color-light-gray);
	padding: 63px 0;
}

.steps-boxes{
	margin: 0 auto;
	max-width: 1040px;
	width: 100%;
	position: relative;
	display: flex;
	justify-content: space-between;
}

.steps-boxes::before{
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	background-color: var(--color-gray);
	top: 24px;
}

.steps-boxes .box{
	width: 33%;
	max-width: 260px;
	position: relative;
}

.steps-boxes .box:nth-child(1)::before{
	content: "";
	display: block;
	position: absolute;
	width: 50%;
	height: 100px;
	background-color: var(--color-light-gray);
	z-index: 0;
	left: 0;
	top: 0;
}

.steps-boxes .box:nth-child(3)::before{
	content: "";
	display: block;
	position: absolute;
	width: 50%;
	height: 100px;
	background-color: var(--color-light-gray);
	z-index: 0;
	right: 0;
	top: 0;
}

.steps-boxes .box .counter{
	width: 100%;
	height: 60px;
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: center;
	margin-bottom: 10px;
}

.steps-boxes .box .h3-style, .steps-boxes .box p{
	position: relative;
	z-index: 1;
	text-align: center;
}

.steps-boxes .box .h3-style{
	margin-bottom: 10px;
	color: var(--text-color-dark);
	font-family: 'geomb';
}

.circle{
	width: 48px;
	height: 48px;
	box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.05);
	border: solid 1px var(--color-gray);
	background-color: var(--text-color-white);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
}

.circle .number{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
	color: var(--text-color-red);
}

.logos{
	padding: 65px 0;
	text-align: center;
}

.logos .users{
	margin-top: 20px;
}

.users{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.users a + a{
	margin-left: 31px;
}

.users a:hover{
	opacity: 0.7;
}

.volunteer{
	padding: 40px 0 0px;
}


.volunteer .container{
	position: relative;
}

.volunteer .container::before{
	position: absolute;
	width: calc( 100% - 30px );
	height: 1px;
	background-color: var(--color-gray);
	content: "";
	display: block;
	top: -62px;
	left: 15px;
}

.volunteer .title{
	text-align: center;
}

.volunteer .title .h2-style{
	color: var(--text-color-dark);
}

.volunteer_boxes{
	display: block;
	width: 100%;
	margin-top: 43px;
	height: auto;
	padding-top: 22px;
	min-height: 740px;
	padding-bottom: 33px;
	background: url(../img/new/dobrezakupy_telefon_reka.jpg) no-repeat center bottom transparent;
	/*background: url(../img/hand.jpg) no-repeat center bottom transparent;*/
}

.volunteer_boxes .full{
	display: flex;
	justify-content: space-between;
}

.volunteer_boxes .box{
	width: 356px;
	height: auto;
	min-height: 208px;
	padding: 24px;
	border: 1px solid var(--color-gray);
	border-radius: 16px;
	margin-bottom: 24px;
	background-color: var(--text-color-white);
	box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.05);
}

.volunteer_boxes .box .icon{
	display: block;
}

.volunteer_boxes .box .icon i{
	color: var(--text-color-red);
	font-size: 48px;
}

.volunteer_boxes .box.align-right{
	text-align: right;
}

.volunteer_boxes .box.align-left{
	text-align: left;
}

.volunteer_boxes .box .h3-style{
	font-family: "geomb";
	margin-top: 3px;
	color: var(--text-color-dark);
}

.volunteer_boxes .box .desc{
	margin-top: 11px;
}

.i-boxes{
	padding: 60px 0;
	background-color: var(--text-color-red);
}

.info-boxes{
	display: flex;
}

.info-boxes .box{
	width: 25%;
	min-height: 170px;
	position: relative;
	text-align: center;
	padding: 0 24px;
}

.info-boxes .box::before{
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: -15px;
	height: calc( 100% + 30px );
	width: 1px;
	background-color: var(--text-color-white);
	opacity: 0.5;
}

.info-boxes .box:last-child::before{
	display: none;
}

.info-boxes .box i{
	color: var(--text-color-white);
	font-size: 52px;
}

.info-boxes .box  .h3-style{
	font-weight: 700;
	margin-top: 4px;
	margin-bottom: 14px;
	color: var(--text-color-white);
}

.info-boxes .box  p{
	color: var(--text-color-white);
}

.shops{
	text-align: center;
	padding: 62px 0;
}

.shops .h2-style{
	color: var(--text-color-dark);
}

.shops .tabs{
	margin-top: 40px;
	position: relative;
	width: 100%;
}

.shops .tabs .head{
	display: flex;
	width: 100%;
	font-size: 16px;
	color: var(--text-color);
	justify-content: center;
	border-bottom: 1px solid #dee0e2;
}

.shops .tabs .head a{
	display: inline-block;
	padding: 5px 30px;
	font-weight: 600;
	padding: 7px 35px 4px;
	border: solid 1px transparent;
	border-bottom: 0px solid transparent;
	border-radius: 7px 7px 0 0;
	position: relative;
}

.shops .tabs .head a:hover{
	color: rgba(97,97,97,0.7);
}

.shops .tabs .head a::after{
	display: block;
	content: "";
	width: 100%;
	height: 5px;
	background-color: #fff;
	position: absolute;
	bottom: -3px;
	left: 0;
	opacity: 0;
}

.shops .tabs .head a.active{
	color: var(--text-color-red);
	border: solid 1px #dee0e2;
	border-bottom: 0px solid transparent;
}

.shops .tabs .head a.active:hover{
	color: rgba(239,83,80,0.7);
}

.shops .tabs .head a.active::after{
	opacity: 1;
}

.shops .tabs .body{
	position: relative;
	margin-top: 36px;
	min-height: 440px;
}

.shops .tabs .body .content{
	position: relative;
	display: none;
}

.online-boxes{
	display: flex;
	flex-wrap: wrap;
}

.online-boxes .box{
	min-height: 160px;
	width: calc( ( 100% - 180px ) / 6 );
	margin-left: 36px;
	border-radius: 12px;
	box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.05);
	border: solid 1px var(--color-gray);
	background-color: var(--text-color-white);
	padding: 5px 15px;
	margin-bottom: 37px;
}

.online-boxes .box:nth-child(6n+1){
	margin-left: 0;
}

.online-boxes .box .logo{
	text-align: center;
}

.online-boxes .box .logo img{
	max-width: 100%;
}

.online-boxes .box p{
	color: #757575;
	margin-top: -3px;
	font-size: 14px;
}

.shops .tabs .body .content .link{
	text-align: center;
	font-size: 20px;
	line-height: 1.2;
}

.more-link{
	font-size: 20px;
	line-height: 1.2;
	color: var(--text-color-red);
	text-decoration: underline;
}

.more-link:hover{
	opacity: 0.7;
}

.shops-boxes{
	display: flex;
	flex-wrap: wrap;
	color: #757575;
}

.shops-boxes .box{
	min-height: 160px;
	width: calc( ( 100% - 72px ) / 3 );
	margin-left: 36px;
	border-radius: 12px;
	box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.05);
	border: solid 1px var(--color-gray);
	background-color: var(--text-color-white);
	padding: 20px 30px 40px;
	margin-bottom: 37px;
}

.shops-boxes .box .h3-style{
	color: var(--text-color-dark);
	margin-top: 10px;
	margin-bottom: 10px;
}


.shops-boxes .box .logo{
	min-height: 126px;
}

.shops-boxes .box:nth-child(3n+1){
	margin-left: 0;
}

.shops-boxes .box p{
	min-height: 125px;	
}

.online-addition-info{
	display: flex;
	flex-wrap: wrap;
	margin-top: 61px;
}

.online-addition-info .box{
	width: calc( (100% - 72px) / 3 );
	margin-left: 36px;;
	text-align: center;
}

.online-addition-info .box:nth-child(3n+1){
	margin-left: 0;
}

.online-addition-info .box .icon{
	display: block;
	text-align: center;
	min-height: 48px;
}

.online-addition-info .box .h3-style{
	color: var(--text-color-dark);
	margin-bottom: 10px;
	font-family: 'geomb';
}

.bottom{
	margin-top: 64px;
}

.bottom .container{
	display: flex;
	justify-content: space-between;
	color: #9e9e9e;
	position: relative;
	padding-top: 46px;
	padding-bottom: 46px;
}

.bottom .container::before{
	content: "";
	position: absolute;
	display: block;
	width: calc( 100% - 30px );
	height: 1px;
	left: 15px;
	top: 0;
	background-color: rgba(0,0,0,0.1);
}

.bottom .copy{
	display: flex;
	align-items: center;
}

.bottom .copy span{
	margin-top: -11px;
}

.bottom .copy img{ 
	margin-left:  10px;
}


.bottom .copy a:hover{
	opacity: 0.7;
}

.bottom .right{
	display: flex;

}

.bottom .right a + a{
	margin-left: 12px;
}

.bottom .right a:hover{
	opacity: 0.7;
}

.bottom .right a{
	margin-top: -5px;
}

.bottom .right a.circle{
	margin-top: -9px;
}

.bottom .right a.circle i{
	font-size: 22px;
	color: var(--text-color-dark);
}

.bottom .right a.circle.yt{
	margin-left: 30px;
}


.bottom .right .circles{
	display: flex;
}

.contact{
	margin-top: 2px;
}

.contact .container{
	display: flex;
}

.contact .form_box{
	width: calc( 50% + 16px );
	min-height: 946px;
	background-color: var(--color-light-gray);
	padding: 60px 60px;
	border-radius:   16px 0 0  16px;
}

.contact .form_box .tit{
	max-width: 380px;
}


.contact .form_box .tit p{
	margin-top: 24px;
}

.contact .slider_box{
	width: calc( 50% - 16px );
	min-height: 946px;
	border-radius: 0  16px 16px 0;
	overflow: hidden;
}

.contact .h1-style{
	color: var(--text-color-red);
}

.contact  .form{
	position: relative;
	margin-top: 38px;
}

.frow{
	width: 100%;
	position: relative;
}

.frow + .frow{
	margin-top: 16px;
}

.form label{
	display: block;
	font-size: 14px;
	line-height: 1.57;
	margin-bottom: 2px;
}

label.error{
	color:#ff0000;
}

input[type=text]{
	font-family: 'Source Sans Pro', sans-serif;
	line-height: 1.33;
	color: var(--text-color-dark);
	font-size: 18px;
	padding: 11px 16px;
	border-radius: 8px;
	border: solid 1px #c9c9c9;
	display: block;
	width: 100%;
}

input[type="text"].error{
	border-color: #ff0000;
}

input[type=text]:hover, input[type=text]:focus{
	border-color: var(--text-color-red);
}

.checkbox_line input[type=checkbox]{
	visibility: hidden;
	position: absolute;
	opacity: 0;
}


.checkbox_line .checkbox_label{
	padding-left: 25px;
	padding-top: 5px;
	padding-bottom: 5px;
	line-height: 1.23;
	font-size: 13px;
	cursor: pointer;
}

.checkbox_line .checkbox_label a{
	text-decoration: underline;
}

.checkbox_line .checkbox_label a:hover{
	opacity: 0.8;
}

.checkbox_line .checkbox_label::before{
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	display: block;
	left: 0;
	top: 0;
	border-radius: 4px;
	border: solid 1px #c9c9c9;
	background-color: var(--text-color-white);
	left: 2px;
	top: 7px;
}

.checkbox_line label.error + .checkbox_label::before{
	border: 1px solid #ff0000
}

.checkbox_line .checkbox_label:hover::before{
	border-color: var(--text-color-red);
}

.checkbox_line .checkbox_label::after{
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	display: block;
	left: 0;
	top: 0;
	border-radius: 4px;
	border: solid 1px #c9c9c9;
	background: url(../img/check.png) no-repeat left top transparent;
	left: 2px;
	top: 7px;
	opacity: 0;
}

.checkbox_line input[type=checkbox]:checked +  .checkbox_label::after,
.checkbox_line input[type=checkbox]:checked +  label +  .checkbox_label::after{
	opacity: 1;
}

.frow.checkbox_line + .frow.checkbox_line{
	margin-top: 0px;
}

.contact .frow.submit a{
	display: block;
	text-align: center;
}

.contact .additional_info{
	text-align: center;
	margin-top: 12px;
}

.contact .additional_info a{
	text-decoration: underline;
}

.additional_info .input_label{
	font-size: 13px;
}

.additional_info .input_label a{
	text-decoration: underline;
}

.additional_info .input_label a:hover{
	opacity: 0.8;
}

.checkbox_line label.error{
	display: none!important;
}

.owl-carousel, .owl-stage-outer, .owl-stage, .owl-item, .item{
	height: 100%;
}

.slider_box .item{
	position: relative;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center top;
	padding: 62px;
	display: flex;
	text-align: center;
}

.slider_box .item .inn{
	display: flex;
	position: relative;
	z-index: 2;
	justify-content: flex-end;
	flex-direction:column;
}

.slider_box .item::before{
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.65) 76%);
}

.slider_box  .owl-stage-outer{
	z-index: 1;
}

.slider_box .owl-dots{
	z-index: 2;
	margin-top: -54px;
	position: relative;
}

.owl-dots{
	text-align: center;
}

.owl-dots .owl-dot{
	display: inline-block;
	background-color: transparent;
	border-radius: 50%;
}

.owl-dots .owl-dot.active{
	background-color: var(--text-color-white);
	
}

.owl-dots .owl-dot:hover{
	opacity: 0.7;
}

.owl-dots .owl-dot.active:hover{
	opacity: 1;
}

.owl-dots .owl-dot + .owl-dot{
	margin-left: 12px;
}

.owl-dots .owl-dot span{
	display: block;
	width: 8px;
	height: 8px;
	border: solid 2px var(--text-color-white);
	border-radius: 50%;
}

.slider_box .item .text{
	text-align: center;
	font-family: "geomb";
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
	font-size: 24px;
	line-height: 1.21;
	letter-spacing: -0.25px;
	color: var(--text-color-white);
	margin-bottom: 39px;
}

.slider_box .item  .sign{
	text-align: center;
	font-weight: 600;
	color: var(--text-color-white);
	font-size: 18px;
	line-height: 1.44;
	margin-bottom: 19px;
}

#thanks{
	font-family: "geomb";
}

.typed_outer{
	display: inline-block;
	min-width: 250px;
	text-align: left;
}

.app_logos img {
	height: 131px;
	margin-right: 5px;
	margin-bottom: 5px;
}

.logo-segment {
	clear: both;
	width: 100%;
	border: 1px solid var(--color-gray);
	border-radius: 16px;
	box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.05);
	padding: 20px;
	margin: 30px;
}
.logo-segment h3 {
	text-align: left;
	margin-bottom: 20px;
}
.logo-segment p {
	margin-top: 20px;
}

.plugin_body .banner {
  background-image: url(../img/poziom.jpg);
}
.plugin_body .volunteer_boxes {
  background-image: url(../img/pion.jpg) ;
}
.plugin_body .volunteer_boxes .full {
  padding-top: 80px;
}
.plugin_body .info-boxes .box {
	width: 33%;
}
.plugin_body p.bigger {
	background: white;
	width: 50%;
	opacity: 0.6;
	color: #222;
	padding: 20px;
	font-weight: bold;
	font-size: 26px;
}


.lp_pp_body .info-boxes .box {
	width: 33%;
}
.lp_pp_body .slider_box .item::before {
	background-image: none;
}
.lp_pp_body .slider_box .item .text {
	color: black;
}
.lp_pp_body .slider_box .item .sign {
	color: black;
}
.lp_pp_body .owl-dots .owl-dot.active {
  background-color: black;
}
.lp_pp_body .owl-dots .owl-dot span {
	border: solid 2px black;
}


.app_logos_wrapper  {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.app_logos_wrapper div.item {
	width: 33%;
}
.app_logos_wrapper div.item img {
	width: 100%;
}
.app_logos_wrapper .app-icons {
	display: flex;
	justify-content: center;
}
.app_logos_wrapper .app-icon {
	height: 30px;
	margin: 0 5px;
}