@media only screen and (max-width: 1030px) {

	#h-main {
		padding: 0 0 30px 0;
	}

	#h-main > nav {
		font-size: 100%;
		padding: 0 20px;
	}

	#h-main > nav > a {
		padding: 5px 10px;
	}

	#website > main {
		padding: 0 15px;
		width: calc(100% - (15px * 2));
	}

	footer > div {
		padding: 10px;
		width: calc(100% - (10px * 2));
	}

	footer > div > .location > .map {
		margin: 10px 0;
	}

	footer > div > .location > .info {
		display: block;
		padding: 0 10px 20px 10px;
		width: 100%;
	}

	footer > div > .location > .icons {
		margin-left: 0;
		padding: 0 10px 20px 10px;
		text-align: center;
		width: 100%;
	}

	footer > div > .location > .icons > a {
		display: inline-block;
		padding: 5px 10px;
	}

	#products > .images {
		flex-direction: column;
	}
	
	#products > .images > figure > img {
		object-fit: cover;
		width: 100%;
	}

	#contact > .side-by-side {
		flex-direction: column;
	}

	#contact > .side-by-side > .contact,
	#contact > .side-by-side > .openinghours {
		margin-left: 0;
		width: 100%;
	}

	#contact > .side-by-side > .openinghours {
		margin-top: 50px;
	}

}







@media only screen and (max-width: 512px) {

	footer > div > .location > .map > a > .image {
		max-width: 100%;
	}

}







@media only screen and (max-width: 850px) {

	#treatments > div > div {
		margin-bottom: 20px;
	}

	#treatments > div > div > .item.side-by-side {
		display: block;
	}

	#treatments > div > div > .item.side-by-side > div {
		display: inline-block;
	}

	#treatments > div > div > .item.side-by-side > .name {
		display: block;
		line-height: 120%;
	}

	#treatments > div > div > .item.side-by-side > .line {
		display: none;
	}

	#treatments > div > div > .item.side-by-side > .time {
		margin-right: 15px;
	}

	#treatments > div > div > .item.side-by-side > .price {
		width: auto;
	}

}