h1, h2, h3, h4, h5, h6, p, div.text, a, input, label, textarea, span, select, table, tr, th, td, ::placeholder { font-family: 'Oswald', sans-serif; font-size: 1em; line-height: 1.5em; font-weight: 400; color: #000000; padding: 0; margin: 0; }

* { box-sizing: border-box; font-size: 0; }

.light { font-weight: 300; }
.regular { font-weight: 400; }
.bold { font-weight: 700; }

html, body	{ position: relative; margin: 0; padding: 0; width: 100%; height: 100%; font-size: 21px; }
.animation-normal,
.animation-normal * { transition-property: all; -webkit-transition-property: all; -moz-transition-property: all; transition-duration: 400ms; -webkit-transition-duration: 400ms; -moz-transition-duration: 400ms; }

.trick_align_middle { display: inline-block; position: relative; width: 0; height: 100vh; vertical-align: middle; }

div#principal_container { display: table; position: relative; width: 100%; min-height: 100%; margin: 0 auto; padding: 0; background: transparent url(../images/bg.jpg) no-repeat center center; background-size: cover; text-align: center; }
	div#principal_container div#principal_header { display: table-row; position: relative; width: 100%; height: 0; }
	div#principal_container div#principal_body { display: table-row; position: relative; width: 100%; height: 100%; z-index: 10; }
	div#principal_container div#principal_footer { display: table-row; position: relative; width: 100%; height: 0; }

div.content { display: inline-block; position: relative; width: 460px; height: 100%; vertical-align: middle; text-align: left; margin-left: -460px; }
	div.content span.bg { display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #ffffff; opacity: 0.75; }
	div.content span.logo { display: block; position: relative; width: 100%; height: 119px; background: transparent url(../images/logo.png) no-repeat center center; background-size: contain; }
	div.content p.address { display: block; position: relative; width: auto; font-size: 1em; margin-top: 50px; }
	div.content p.contacts { display: block; position: relative; width: auto; font-size: 1em; margin-top: 15px; }
		div.content p.contacts a { text-decoration: none; }
		div.content p.contacts a:hover { color: #ff0000; }
	div.content a.location { display: inline-block; position: relative; border: 1px solid #ff0000; text-decoration: none; margin-top: 50px; font-size: 0.761em; background-color: #ffffff; color: #ff0000; padding: 5px 25px; vertical-align: middle; }
	div.content a.location:hover { background-color: #ff0000; color: #ffffff; }
		div.content a.location span { display: inline-block; position: relative; width: 11px; height: 17px; background: transparent url(../images/location_icon.png) no-repeat center center; background-size: contain; vertical-align: middle; margin-right: 25px; }

@media all and (max-width: 950px) {
	div.content { margin-left: -200px; }
}
@media all and (max-width: 700px) {
	div.content { margin-left: 0; padding: 25px; text-align: center; }
		div.content span.bg { display: block; }
}
@media all and (max-width: 550px) {
	div.content { width: 100%; }
}
