@media screen and (max-height: 630px) {
	#query_close {
		top: 10px;
		right: 10px;
	}
	#query_content {
		overflow-y: auto;
	}
}
@media screen and (max-width: 1680px) {
	header .swiper-slide img {
		width: 100%;
	}
}
@media screen and (max-width: 1366px) {
	.container {
		max-width: 94%;
	}
}
@media screen and (max-width: 1199px) {
	.container {
		max-width: 94%;
	}
	#main img {
		max-width: 100%;
		height: auto;
		display: block;
		margin: 0;
	}
	#kontakt .row:last-child {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	#kontakt .col-4,
	#kontakt .col-5 {
		margin-bottom: 30px;
		text-align: center;
		width: 100%;
		max-width: 100%;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		margin-right: 0;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		margin-left: 0;
		margin-right: 0;
	}
	.mr {
		right: -15vw;
	}
	.green-wave {
		max-width: 60vw;
	}
	#o-firmie .col-7 img.img1 {
		bottom: 150px;
		left: 90px;
		max-width: 44vw;
	}
	.card_body p {
		font-size: 0.8rem;
		line-height: 1.3em;
	}
	#query_close {
		top: 10px;
		right: 10px;
	}
}
@media screen and (max-width: 1023px) {
	header {
		z-index: 666;
	}
	.slogan h1 {
		font-size: 2.5rem;
	}
	.slogan p {
		font-size: 1.3rem;
	}
	#o-firmie {
		padding: 50px 0;
	}
	#zakres-uslug {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	#kontakt_box {
		margin-top: 50px;
	}
	#kontakt_box__text {
		width: 36%;
	}
	#kontakt .row {
		margin-bottom: 50px;
	}
	footer {
		padding: 50px 0;
	}
	.navbar__toggler {
		display: block;
		padding: 4px;
		border: 1px solid #7cb042;
		background: #fff;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
	}
	.navbar__toggler span {
		width: 30px;
		height: 3px;
		display: block;
		background: #7cb042;
		margin: 4px;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
	}
	.navbar__toggler.show {
		border-color: transparent;
		padding: 0;
	}
	.navbar__toggler.show span:nth-child(2) {
		opacity: 0;
		height: 0;
	}
	.navbar__toggler.show span:first-child {
		-webkit-transform: rotate(-45deg) translateY(4.5px);
		transform: rotate(-45deg) translateY(4.5px);
	}
	.navbar__toggler.show span:last-child {
		-webkit-transform: rotate(45deg) translateY(-4.5px);
		transform: rotate(45deg) translateY(-4.5px);
	}
	.navbar-nav {
		position: absolute;
		top: 0;
		left: 0;
		width: 50vw;
		min-width: 270px;
		height: 100vh;
		overflow-y: auto;
		background: rgba(0, 0, 0, 0.9);
		-webkit-box-shadow: 10px 0 15px rgba(0, 0, 0, 0.1);
		box-shadow: 10px 0 15px rgba(0, 0, 0, 0.1);
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		opacity: 0;
	}
	.navbar-nav.show {
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		opacity: 1;
	}
	.navbar-nav a,
	.navbar-nav li {
		display: block;
		width: 100%;
		margin: 0;
	}
	.navbar-nav a::after,
	.navbar-nav li::after {
		display: none;
	}
	.navbar-nav a {
		width: calc(100% - 30px);
		padding: 15px;
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		color: #fff;
	}
	.navbar-nav a.active,
	.navbar-nav a:focus,
	.navbar-nav a:hover {
		background: #7cb042;
		color: #fff;
	}
	.navbar-nav .dropdown {
		position: relative;
		top: 0;
		left: 0;
		width: 100%;
		-webkit-box-shadow: none;
		box-shadow: none;
		background: rgba(0, 0, 0, 0.05);
		max-height: 0;
	}
	.navbar-nav .dropdown a.active,
	.navbar-nav .dropdown a:focus,
	.navbar-nav .dropdown a:hover {
		background: #4d6d29 !important;
		color: #fff;
	}
	.navbar-nav li:hover > .dropdown {
		max-height: 100%;
	}


	aside.col-3, article.col-9 {
		width: 100%;
		max-width: 100%;
		flex-basis: 100%;
	}

	aside.col-3 {
		margin-top: 30px;
		order: 999;
	}

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



@media screen and (max-width: 800px) {
	#main .col-3,
	#main .col-9 {
		width: 100%;
		max-width: 100%;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		margin-right: 0;
	}
	.mr {
		max-height: 80vh;
		right: -20vw;
	}
	#o-firmie .col-7 img {
		width: 40vw;
	}
	#o-firmie .col-7 img.img1 {
		bottom: 185px;
		left: 30px;
		max-width: 75vw;
		width: 50vw;
	}
	#o-firmie .col-7 img.img2 {
		top: 50px;
	}
	#zakres-uslug .col-3 {
		width: calc(99.99% * 6 / 12 - (30px - 30px * 6 / 12));
		max-width: calc(99.99% * 6 / 12 - (30px - 30px * 6 / 12));
		-ms-flex-preferred-size: calc(99.99% * 6 / 12 - (30px - 30px * 6 / 12));
		flex-basis: calc(99.99% * 6 / 12 - (30px - 30px * 6 / 12));
		margin-right: 30px;
	}
	#zakres-uslug .col-3:nth-child(4n) {
		margin-right: 30px;
	}
	#zakres-uslug .col-3:nth-child(2n) {
		margin-right: 0;
	}
	#kontakt_box {
		max-height: 55vh;
	}
	#kontakt_box__img {
		display: block;
		max-width: 100%;
		-o-object-fit: contain;
		object-fit: contain;
		-o-object-position: right;
		object-position: right;
	}
	.h2,
	h2 {
		font-size: 2.5rem;
	}
	.flex {
		flex-direction: column;
	}
	.flex .col-6 {
		width: 100%;
		max-width: 100%;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		margin-right: 0;
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 800px) and (max-height: 480px) {
	header::after {
		display: none;
	}
	.slogan {
		margin-top: -50px;
	}
	.slogan h1 {
		font-size: 1.5rem;
		margin-bottom: 10px;
	}
	.slogan p {
		font-size: 1rem;
	}
}
@media screen and (max-width: 768px) {
	#main .col-4,
	#main .col-8 {
		width: 100%;
		max-width: 100%;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		margin-right: 0;
	}
	#kontakt_box__text {
		width: 38%;
		padding-left: 30px;
	}
	#kontakt_box {
		max-height: 68vh;
	}
}
@media screen and (max-width: 640px) {
	.slogan {
		width: 55%;
	}
	.mr {
		max-height: 80vh;
		right: -31vw;
	}
	#o-firmie .row {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	#o-firmie .col-7 {
		height: auto;
		background: 0 0;
	}
	#o-firmie .col-7 img {
		position: relative;
	}
	#o-firmie .col-7 img.img2 {
		display: none;
	}
	#o-firmie .col-7 img.img1 {
		bottom: auto;
		left: auto;
		max-width: 100%;
		width: 100%;
		margin-top: 30px;
	}
	main .col-5,
	main .col-7 {
		width: 100%;
		max-width: 100%;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		margin-right: 0;
	}
	#kontakt_box__text {
		width: 47%;
		padding-left: 30px;
	}
	#query_content {
		max-width: 75vw;
	}
	.slogan h1 {
		font-size: 2.1rem;
	}
	#query_content {
		overflow-y: auto;
		max-height: 80vh;
	}
}
@media screen and (max-width: 600px) {
	#header_top .container {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		text-align: center;
		-webkit-box-align: start;
		-ms-flex-align: start;
		align-items: flex-start;
	}
	.slogan {
		margin-top: 30px;
	}
	#scroll {
		display: none;
	}
	.mr {
		max-height: 53vh;
		right: 5%;
	}
	.green-wave {
		max-width: 84vw;
	}
	.blue-wave {
		max-width: 47vw;
	}
	form fieldset.col {
		width: 100%;
		max-width: 100%;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		margin-right: 0;
	}
	#main .col-5,
	#main .col-7 {
		width: 100%;
		max-width: 100%;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		margin-right: 0;
	}
	header .swiper-slide img {
		width: 100%;
		height: 40vh;
		-o-object-fit: cover;
		object-fit: cover;
		-o-object-position: center;
		object-position: center;
	}
	#kontakt_box__text {
		width: 51%;
	}
}
@media screen and (max-width: 480px) {
	.slogan h1 {
		margin-bottom: 10px;
	}
	.mr {
		max-height: 50vh;
		right: -6vw;
	}
	#main .col-6 {
		width: 100%;
		max-width: 100%;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		margin-right: 0;
	}
	footer .cb {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.madeby {
		margin-top: 15px;
	}
	#kontakt_box {
		max-height: 666em;
		height: 300px;
		padding-bottom: 300px;
		background: #003f6b url(../../img/kontakt-img.jpg) right bottom
			no-repeat;
		background-size: 120% auto;
	}
	#kontakt_box img {
		display: none;
	}
	#kontakt_box__text {
		width: calc(100% - 60px);
		height: 50%;
		padding: 30px 30px 100px 30px;
		text-align: center;
		background: -webkit-gradient(
			linear,
			left top,
			left bottom,
			color-stop(61%, #003f6b),
			to(rgba(0, 63, 107, 0))
		);
		background: linear-gradient(180deg, #003f6b 61%, rgba(0, 63, 107, 0));
	}
	#kontakt_box__text .btn {
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		margin: 15px auto 0;
	}
	footer .ml-3.rem,
	footer .mr-3.rem {
		margin-left: 0;
		margin-right: 0;
	}

	.sub h1, .sub .h1 {font-size: 3rem;}
	.sub h2, .sub .h2 {font-size: 2.4rem;}
	.sub h3, .sub .h3 {font-size: 2.2rem;}
	.sub h4, .sub .h4 {font-size: 1.8rem;}
	.sub h5, .sub .h5 {font-size: 1.2rem;}

	.lead {font-size: 1.1rem;}
}


@media screen and (max-width: 435px) {
	.mr {
		max-height: 60vh;
		right: -16vw;
	}
	#kontakt_box__text {
		padding-bottom: 155px;
	}
	#kontakt .tel {
		font-size: 1.5rem;
	}
	#kontakt .tel img {
		height: 24px;
	}
}
@media screen and (max-width: 425px) {
	.slogan {
		width: 100%;
	}
}
@media screen and (max-width: 414px) {
	.container {
		max-width: 90%;
	}
	.mr {
		max-height: 60vh;
		right: -20vw;
	}
}
@media screen and (max-width: 375px) {
	.downloads a {
		padding: 15px;
		width: calc(100% - 30px);
		margin-bottom: 15px;
	}
	.downloads .text strong {
		line-height: 1.3em;
	}
	.downloads a img {
		max-width: 25px;
		margin-right: 15px;
	}
	.mr {
		max-height: 50vh;
		right: -18vw;
	}
	#zakres-uslug .col-3 {
		width: 100px;
		max-width: 100%;
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		margin-right: 0;
	}
	.card_body p {
		font-size: 1rem;
		line-height: 1.5em;
	}
}
@media screen and (max-width: 360px) {
	.mr {
		max-height: 50vh;
		right: -22vw;
	}
}
@media screen and (max-width: 320px) {
	.mr {
		max-height: 50vh;
		right: -20vw;
	}
}
