*, *::before, *::after {
	box-sizing: border-box;
}

#homepage {
	display:   flex;
	flex-flow: wrap;
}

#homepage .pg {
	display:   flex;
	flex-flow: wrap;
}

#homepage .pg .right {
	width: unset;
	flex: 1 1 300px;
}

#homepage .pg .left {
	width: unset;
	flex: 1 1 300px;
}

#homepage .hp_galerie {
	display:   flex;
	flex:      200px;
	flex-flow: wrap row;
}

#homepage .hp_galerie h2 {
	flex: 100%;
}

#homepage .hp_galerie .fotka {
	flex: 200px;
}



#homepage .hp_galerie img {
	width:      100%;
	max-width:  200px;
	object-fit: cover;
}

.gallerxy {
	display:               flex; /* IE :) */
	display:               grid;
	
	flex-flow:             wrap row;
	margin-top:            30px;
	grid-template-columns: repeat(5, 1fr);
}

.gallerxy .gallery2 {
	flex:    1 0 calc(100% / 5);
	padding: 5px;
}

.gallerxy .gallery2 img {
	display: block;
	margin:  auto;
}

.header {
	display:     flex;
	align-items: center;
}

.header #logo {
	flex: 1;
}

.header .hamburger-input {
	display:    none;
	visibility: hidden
}

.header .hamburger {
	display: none;
	cursor:  pointer
}

.header .hamburger:hover {
	opacity: .8
}

.header .hamburger-input:checked ~ .hamburger {
	color: #ffc619;
}

#socials a {
	font-size:       18px;
	font-weight:     500;
	padding:         0px 10px;
	text-decoration: none;
	color:           #fff;
}

.line, #footer .wrapper {
	display:   flex;
	flex-flow: wrap row;
}

.line > * {
	flex: 1;
}

#footer .left {
	flex: 1;
}

#footer .right {
	margin-left: 20px;
	text-align:  right;
}

.form-horizontal fieldset {
	display: block;
}

.form-horizontal .control-label {
	padding: 6px 12px;
}

.form-group .form-control {
	width:         100%;
	max-width:     50%;
	padding:       8px 12px;
	border-radius: 3px;
}

.form-group div {
	position: relative;
}

.form-group .help-block {
	position:    absolute;
	left:        0;
	bottom:      calc(100% + 3px);
	font-weight: 900;
	color:       #ffc619;
}

@media (max-width: 1100px) {
	
	#nav {
		display: none;
	}
	
	#menu {
		position: relative
	}
	
	#socials {
		order: 2;
	}
	
	.hamburger {
		order: 3;
	}
	
	.header .hamburger-input:checked ~ #nav {
		position:   absolute;
		top:        100%;
		left:       50%;
		display:    block;
		z-index:    100;
		width:      calc(100% - 30px);
		max-width:  560px;
		margin:     0;
		padding:    15px;
		transform:  translateX(-50%);
		border-top: 1px #15415a solid;
		background: #042842;
	}
	
	#nav a {
		display: block;
		width:   100%;
		padding: 6px 15px;
	}
	
	.header .hamburger {
		display:   block;
		font-size: 32px;
		padding:   0 0 0 15px;
	}
	
	.wrapper {
		width:   768px;
		padding: 0 15px;
	}
	
	#homepage .hp_galerie .fotka {
		flex: 50%;
	}
	
	#homepage .pg {
		width:        unset;
		margin-right: 0;
	}
	
	.gallerxy {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.gallerxy .gallery2 {
		flex: 1 0 calc(100% / 4);
	}
	
	.bxslider .slide .t {
		position: relative;
		top:      unset;
		left:     unset;
		width:    unset;
		height:   unset;
		margin:   45px 0 45px 45px;
	}
	
	.bxslider .slide .nabidka,
	.bxslider .slide .reference {
		position:    relative;
		top:         unset;
		left:        unset;
		bottom:      unset;
		width:       unset;
		height:      unset;
		margin-left: 50px;
		padding:     15px 35px;
	}
	
}

@media (max-width: 768px) {
	.wrapper {
		width: 540px;
	}
	
	#homepage .hp_galerie {
		margin-top: 30px
	}
	
	#homepage .pg .left {
		margin: 0;
	}
	
	.gallerxy {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.gallerxy .gallery2 {
		flex: 1 0 calc(100% / 3);
	}
	
	.line > * {
		flex: 1 0 450px;
	}
	
	.form-group .form-control {
		max-width: unset;
	}
	
	.form-group .button {
		display: block;
		width:   unset;
		margin:  auto;
		padding: 0 64px;
	}
	
}

@media (max-width: 540px) {
	body, #homepage .references a, #nav a, .form-group .form-control, .form-group .control-label {
		font-size: 20px;
	}
	
	.form-group textarea.form-control {
		height: 160px;
	}
	
	.form-group .help-block {
		bottom: calc(100% + 7px);
		font-size: 14px;
	}
	
	.wrapper {
		width: 100%;
	}
	
	.gallerxy .gallery2 {
		flex: 50%
	}
	
	.gallerxy {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.gallerxy .gallery2 {
		flex: 1 0 calc(100% / 2);
	}
	
	.bxslider .slide {
		display:         flex;
		justify-content: center;
		align-items:     baseline;
		flex-flow:       wrap row;
		padding:         35px;
	}
	
	.bxslider .slide .t {
		flex:   100%;
		margin: 0;
	}
	
	.bxslider .slide .nabidka,
	.bxslider .slide .reference {
		flex:    calc(50% - 30px);
		margin:  0 15px;
		padding: 0;
	}
	
	#homepage .hp_galerie .fotka {
		padding: 0 10px;
	}
	
	#homepage .hp_galerie img {
		width:         140px;
		height:        140px;
		border-radius: 100%;
	}
	
	#homepage .hp_galerie .link {
		flex: 100%;
		margin: 0 45px;
	}
	
	.line > * {
		flex: 100%;
	}
	
	#footer .wrapper .left, #footer .wrapper .right {
		flex: 100%;
	}
	#footer .wrapper .right {
		order: 1;
	}
	#footer .wrapper .left {
		order: 2;
	}
	
}

