/* ================================================================================================================== */
/* */
/* ================================================================================================================== */

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

/* ================================================================================================================== */
/* fontes */
/* ================================================================================================================== */

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

.font2 { font-family: 'Roboto', sans-serif; }

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

/* ================================================================================================================== */
/* principal e animacoes de defeito */
/* ================================================================================================================== */

html, body	{ position: relative; margin: 0; padding: 0; width: 100%; height: 100%; font-size: 16px; background-color: #ffffff; z-index: 2; }
.animation-long { transition-property: all; -webkit-transition-property: all; -moz-transition-property: all; transition-duration: 800ms; -webkit-transition-duration: 800ms; -moz-transition-duration: 800ms; }
.animation-extra-long { transition-property: all; -webkit-transition-property: all; -moz-transition-property: all; transition-duration: 1600ms; -webkit-transition-duration: 1600ms; -moz-transition-duration: 1600ms; }
.animation-none,
.animation-none * { transition-property: none; -webkit-transition-property: none; -moz-transition-property: none; transition-duration: 0ms; -webkit-transition-duration: 0ms; -moz-transition-duration: 0ms; }
.animation-none-hierarchy * { transition-property: none; -webkit-transition-property: none; -moz-transition-property: none; transition-duration: 0ms; -webkit-transition-duration: 0ms; -moz-transition-duration: 0ms; }
*,
*:after,
.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; }

@media all and ( max-width: 1200px ) {
	html, body { font-size: 13px; }
	h1, h2, h3, h4, h5, h6, p, div.text, a, input, label, textarea, span, select, table, tr, th, td, ::placeholder { line-height: 1.7em; }
}
@media all and ( max-width: 500px ) {
	html, body { font-size: 12px; }
	h1, h2, h3, h4, h5, h6, p, div.text, a, input, label, textarea, span, select, table, tr, th, td, ::placeholder { line-height: 1.6em; }
}

/* ================================================================================================================== */
/* limpador e truque para inline-block alinhamento */
/* ================================================================================================================== */

div.clear { clear: both; }
.trick_align_middle { display: inline-block; position: relative; width: 0; height: 100%; vertical-align: middle; background-color: transparent; }
.trick_align_top { display: inline-block; position: relative; width: 0; height: 100%; vertical-align: top; background-color: transparent; }
.trick_align_bottom { display: inline-block; position: relative; width: 0; height: 100%; vertical-align: bottom; background-color: transparent; }

/* ================================================================================================================== */
/* estrutura principal */
/* ================================================================================================================== */

div#principal_container { display: table; position: relative; width: 100%; min-height: 100%; margin: 0 auto; padding: 0 35px; background-color: #ffffff; z-index: 2; }
	div#principal_container div#principal_header { display: table-row; position: relative; width: 100%; height: 140px; }
	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: auto; }

@media all and (max-width: 1050px) {
	div#principal_container div#principal_header { display: block; height: 75px; }
}
@media all and (max-width: 649px) {
	div#principal_container { display: block; min-height: auto; padding: 0 5px; }
		div#principal_container div#principal_header { display: block; height: 75px; }
		div#principal_container div#principal_body { display: block; }
		div#principal_container div#principal_footer { display: block; }
}

/* ================================================================================================================== */
/* cabecalho */
/* ================================================================================================================== */

div#header { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 140px; z-index: 500; }
div#header[data-status="closed"] {  }
div#header[data-status="opened"] {  }
div#header[data-scroll="true"] {  }
div#header[data-scroll="false"] {  }
	div#header div.container { display: block; position: relative; width: auto; margin: 0 35px; height: 100%; text-align: left; }
		div#header div.container div.top { display: block; position: relative; width: 100%; background-color: #ffffff; height: 35px; text-align: right; }
			div#header div.container div.top p { display: block; position: absolute; top: 0; left: 0; width: 100%; line-height: 35px; color: #e81c24; text-align: center; }
			div#header div.container div.top div.social_networks { display: inline-block; position: relative; vertical-align: middle; height: 100%; margin-right: 25px; }
				div#header div.container div.top div.social_networks a { display: inline-block; position: relative; vertical-align: middle; width: 20px; height: 20px; vertical-align: middle; background: transparent url(../images/social_networks.png) no-repeat; margin-right: 10px; }
				div#header div.container div.top div.social_networks a.facebook { background-position-x: 0; }
				div#header div.container div.top div.social_networks a.instagram { background-position-x: -20px; }
			div#header div.container div.top div.languages { display: inline-block; position: relative; vertical-align: middle; height: 100%; margin-right: 25px; }
				div#header div.container div.top div.languages a { display: inline-block; position: relative; vertical-align: middle; width: auto; height: auto; font-size: 0.85em; line-height: 20px; vertical-align: middle; margin-right: 10px; text-decoration: none; color: #e81c24; text-transform: uppercase; }

		div#header div.container div.bottom { display: flex; position: relative; justify-content: space-between; align-items: center; width: 100%; background-color: #e81c24; height: 105px; padding: 0 30px; }
			div#header div.container div.bottom div.right { display: inline-block; position: relative; width: auto; }
			div#header div.container div.bottom div.left { display: inline-block; position: relative; width: auto; }

		div#header div.container a.logo { display: inline-block; position: relative; width: 319px; height: 63px; background: transparent url(../images/logo.png) no-repeat center center; background-size: contain; vertical-align: middle; margin: 0 80px 0 0; }

		div#header div.container div.menu { display: inline-block; position: relative; width: auto; height: auto; vertical-align: middle; }
			div#header div.container div.menu a { display: inline-block; position: relative; width: auto; height: auto; color: #ffffff; text-decoration: none; margin: 0 20px; }
			div#header div.container div.menu a.responsive { display: none; }
			div#header div.container div.menu a.selected { font-weight: 700; }
				div#header div.container div.menu a span { display: block; position: absolute; bottom: -7px; left: 50%; height: 3px; background-color: #ffffff; width: 0; margin: 0 0 0 0; }
				div#header div.container div.menu a.selected span,
				div#header div.container div.menu a:hover span { width: 50%; margin: 0 0 0 -25%; }

		div#header div.container div.icons { display: inline-block; position: relative; width: auto; height: auto; vertical-align: middle; margin-left: 30px; }
			div#header div.container div.icons a { display: inline-block; position: relative; width: 22px; height: 21px; vertical-align: middle; margin-left: 20px; background: transparent url(../images/header_icons.png) no-repeat; }
			div#header div.container div.icons a:hover { background-position-y: -21px; }
			div#header div.container div.icons a.search { background-position-x: -22px; }
			div#header div.container div.icons a.wishlist { background-position-x: 0; }
				div#header div.container div.icons a.wishlist span { display: block; position: absolute; top: -10px; right: -10px; width: 18px; height: 18px; background-color: #cfd2d3; font-size: 0.65em; color: #e81c24; line-height: 18px; text-align: center; border-radius: 100%; }
				div#header div.container div.icons a.wishlist span[data-status="hidden"] { opacity: 0; }
				div#header div.container div.icons a.wishlist span[data-status="visible"] { opacity: 1; }

		div#header div.container span.responsive_icon { display: none; position: absolute; width: 32px; height: 19px; top: 20px; right: 0; background-color: transparent; cursor: pointer; margin: 40px 0 0 0; }
			div#header div.container span.responsive_icon span { display: block; position: absolute; left: 0; width: 100%; height: 3px; background-color: #ffffff; }
			div#header div.container span.responsive_icon span:nth-child(1) { top: 0; }
			div#header div.container span.responsive_icon span:nth-child(2) { top: 8px; }
			div#header div.container span.responsive_icon span:nth-child(3) { bottom: 0; }

			div#header div.container span.responsive_icon:hover span:nth-child(1) { width: 84%; left: 16%; }
			div#header div.container span.responsive_icon:hover span:nth-child(2) { width: 60%; left: 40%; }

form#search { display: block; position: fixed; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 501; overflow: hidden; border: none; text-align: right; }
form#search span.close { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #000000; opacity: 0.85; }
form#search[data-status="closed"] { opacity: 0; bottom: -100%; }
form#search[data-status="open"] { opacity: 1; bottom: 0; }
	form#search div.container { display: block; position: relative; width: auto; margin: 50px; }
		form#search input { display: block; position: relative; width: 100%; height: 50px; line-height: 50px; background-color: #ffffff; border: none; padding: 0 10px; font-size: 1em; color: #323a42; text-align: center; border-radius: 10px; }
	form#search input::-webkit-input-placeholder { color: #323a42; }
	form#search input::-ms-input-placeholder { color: #323a42; }
	form#search input::placeholder { color: #323a42; }

@media all and ( max-width: 1200px ) {
		div#header div.container a.logo { width: 200px; height: 55px; margin: 0; }

		div#header div.container div.bottom { padding: 0 10px; }
}
@media all and ( max-width: 1050px ) {
	div#header { height: 75px; }
		div#header div.container { margin: 0; }

			div#header div.container div.top { display: block; position: absolute; text-align: center; overflow: hidden; }
			div#header[data-status="opened"] div.container div.top { top: 75px; height: 35px; }
			div#header[data-status="closed"] div.container div.top { top: 75px; height: 0; }
				div#header div.container div.top p { display: none; }

			div#header div.container div.bottom { height: 100%; }

			div#header div.container span.responsive_icon { display: block; margin: -10px 10px 0 0; top: 50%; }

			div#header div.container div.menu { display: block; position: fixed; left: 0; width: 100%; height: auto; background-color: #e81c24; z-index: 10; overflow: hidden; text-align: center; }
			div#header[data-status="opened"] div.container div.menu { top: 140px; height: auto; padding: 10px 25px; }
			div#header[data-status="closed"] div.container div.menu { top: 75px; height: 0; padding: 0; }
				div#header div.container div.menu a { display: block; margin: 3px 0; font-size: 1.2em; }
					div#header div.container div.menu a span { display: none; }

			div#header div.container div.icons { display: block; position: fixed; left: 0; width: 100%; height: auto; background-color: #e81c24; z-index: 10; overflow: hidden; text-align: center; margin: 0; }
			div#header[data-status="opened"] div.container div.icons { top: 110px; height: 30px; padding: 0; }
			div#header[data-status="closed"] div.container div.icons { top: 75px; height: 0; padding: 0; }
				div#header div.container div.icons a { margin: 0 10px; }

		form#search div.container { margin: 25px; }
}

/* ================================================================================================================== */
/* wishlist */
/* ================================================================================================================== */

div#wishlist { display: block; position: fixed; top: 150px; right: 0; width: 400px; height: auto; z-index: 501; background-color: #ffffff; }
div#wishlist[data-status="open"] { right: 0; }
div#wishlist[data-status="closed"] { right: -400px; }
	div#wishlist h3.title { display: block; position: relative; color: #ffffff; background-color: #e81c24; padding: 0 30px; line-height: 50px; }
		div#wishlist h3.title span.icon { display: inline-block; position: relative; width: 22px; height: 21px; background: transparent url(../images/header_icons.png) no-repeat; vertical-align: middle; background-position-y: -21px; margin-right: 15px; }
		div#wishlist h3.title span.close { display: block; position: absolute; top: 50%; right: 30px; width: 16px; height: 16px; background: transparent url(../images/wishlist_close.png) no-repeat; transform: translate(-50%,-50%); cursor: pointer; }
		div#wishlist h3.title span.close:hover { background-position-y: -16px; }
	div#wishlist div.content { display: block; position: relative; color: #ffffff; background-color: #ffffff; padding: 0 30px; overflow: auto; }
	div#wishlist div.content
	{
		height: 90vh;
		height: -webkit-calc(100vh - 150px - 150px - 50px);
		height:    -moz-calc(100vh - 150px - 150px - 50px);
		height:         calc(100vh - 150px - 150px - 50px);
	}
		div#wishlist div.content div.block { display: block; position: relative; border-bottom: 1px solid #e0e0e0; padding: 25px 0; }
			div#wishlist div.content div.block span.icon { display: inline-block; position: relative; width: 25px; height: 25px; background: transparent url(../images/wishlist_remove.png) no-repeat; vertical-align: middle; cursor: pointer; margin: 0 15px; }
			div#wishlist div.content div.block span.icon:hover { background-position-y: -25px; }
			div#wishlist div.content div.block span.photo { display: inline-block; position: relative; width: 135px; height: 75px; background: transparent no-repeat; background-size: cover; vertical-align: middle; margin: 0; }
			div#wishlist div.content div.block a.text { display: inline-block; position: relative; width: 120px; margin: 0 15px; vertical-align: middle; white-space: normal; text-decoration: none; }
				div#wishlist div.content div.block a.text:hover h3 { color: #e81c24; }
				div#wishlist div.content div.block a.text h3 { line-height: 25px; text-wrap: normal; }

@media all and ( max-width: 450px ) {
	div#wishlist { top: 80px; width: 250px; }
		div#wishlist div.content div.block { padding: 15px 0; }
			div#wishlist div.content div.block span.icon { margin: 0 10px 0 0; }
			div#wishlist div.content div.block a.text { display: block; width: auto; margin: 5px 0 0 35px; }
}

/* ================================================================================================================== */
/* corpo */
/* ================================================================================================================== */

div#body { display: block; position: relative; width: auto; height: auto; margin: 0; z-index: 2; padding: 0; }

/* ================================================================================================================== */
/* rodape */
/* ================================================================================================================== */

div#footer { display: flex; position: relative; justify-content: space-between; align-items: center; width: auto; height: auto; border-bottom: 10px solid #e81c24; padding: 30px 50px; z-index: 1; }
	div#footer p { display: block; position: relative; color: #a2a4a7; }
	div#footer a.idstudies { display: inline-block; position: relative; width: 82px; height: 23px; background: transparent url(../images/idstudies.png) no-repeat; }

@media all and ( max-width: 600px ) {
	div#footer { display: block; border-bottom-width: 5px; padding: 20px 10px 40px 10px; text-align: center; }
		div#footer p { display: inline-block; vertical-align: middle; margin: 10px; }
		div#footer a.idstudies { display: inline-block; vertical-align: middle; margin: 10px; }
}

/* ================================================================================================================== */
/* lojas */
/* ================================================================================================================== */

div#stores { display: block; position: relative; margin-top: 100px; padding: 35px; background-color: #eeefea; }
div#stores.transparent { padding: 0 35px; background-color: transparent; }
	div#stores h1 { display: block; position: relative; font-size: 3.125em; color: #e81c24; }
	div#stores p { display: block; position: relative; }
	div#stores div.content { display: flex; position: relative; text-align: left; margin-top: 50px; justify-content: space-between; align-items: start; }
		div#stores div.content div.col { display: inline-block; position: relative; width: 23%; vertical-align: top; text-align: center; }
			div#stores div.content div.col iframe { display: block; position: relative; width: 100%; height: 225px; }
			div#stores div.content div.col h2 { display: block; position: relative; font-size: 1.5em; margin-top: 15px; }
			div#stores div.content div.col a { display: inline-block; position: relative; color: #a2a4a7; text-decoration: none; font-size: 0.85em; background-color: transparent; border: 1px solid #a2a4a7; margin-top: 15px; padding: 0 35px; }
			div#stores div.content div.col a:hover { border: 1px solid #e81c24; background-color: #e81c24; color: #ffffff; }

@media all and ( max-width: 1024px ) {
	div#stores { margin-top: 50px; }
		div#stores div.content { display: block; margin-top: 25px; }
			div#stores div.content div.col { width: 50%; padding: 5px; margin-bottom: 35px; }
}
@media all and ( max-width: 650px ) {
	div#stores div.content div.col { width: 100%; padding: 0; }
}

/* ================================================================================================================== */
/* popup */
/* ================================================================================================================== */

div#popup { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 1000; text-align: center; overflow: auto; }
	div#popup span.bg { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #000000; opacity: 0.8; }
	div#popup div.container { display: inline-block; position: relative; max-width: 90%; max-height: 90%; vertical-align: middle; background-color: #e81c24; box-sizing: border-box; padding: 20px 35px; text-align: center; }
		div#popup div.container span.close { display: inline-block; position: relative; font-size: 0.75em; line-height: 40px; border: 2px solid #ffffff; background-color: transparent; color: #ffffff; padding: 0 50px; margin: 15px 0 0 0; text-decoration: none; cursor: pointer; }
		div#popup div.container span.close:hover { background-color: #ffffff; color: #e81c24; }
		div#popup div.container p { margin: 5px 0; color: #ffffff; }

/* ================================================================================================================== */
/* orcamento */
/* ================================================================================================================== */

div#budget_icon { display: block; position: fixed; bottom: 0; right: 40px; width: auto; z-index: 500; padding: 5px 20px; background-color: #ffffff; border: 1px solid #e81c24; border-bottom: none; cursor: pointer; }
div#budget_icon:hover { background-color: #e81c24; }
	div#budget_icon span { display: inline-block; position: relative; width: 24px; height: 23px; background: transparent url(../images/budget_icon.png) no-repeat center center; background-size: contain; vertical-align: middle; }
	div#budget_icon p { display: inline-block; position: relative; font-size: 1em; color: #e81c24; vertical-align: middle; line-height: 23px; margin-left: 20px; }
	div#budget_icon:hover p { color: #ffffff; }

div#budget { display: block; position: fixed; top: 0; right: 0; width: 100%; height: 100%; z-index: 502; padding: 0; }
div#budget[data-status="closed"] { right: -100%;  }
div#budget[data-status="opened"] { right: 0; }
	div#budget span.close { display: inline-block; position: relative; width: 50%; height: 100%; background-color: #ececec; opacity: 0.5; vertical-align: top; }
	div#budget[data-status="closed"] span.close { width: 0; opacity: 1; }
	div#budget[data-status="opened"] span.close { width: 50%; opacity: 0.5; }
	div#budget div.form { display: inline-block; position: relative; width: 50%; height: 100%; background-color: #e81c24; vertical-align: top; padding: 150px 200px; }
		div#budget div.form h1 { display: block; position: relative; color: #ffffff; font-size: 2.5em; }
		div#budget div.form p.description { display: block; position: relative; color: #ffffff; margin-bottom: 25px; }
		div#budget div.form label { display: block; position: relative; width: auto; margin: 0 0 15px 0; color: #ffffff; }
			div#budget div.form label p { display: block; position: relative; color: #ffffff; }
			div#budget div.form label input[type="text"] { display: block; position: relative; background: none; border: none; border: none; border-bottom: 1px solid #ffffff; width: 100%; color: #ffffff; font-size: 0.75em; padding: 0 3px; line-height: 25px; }
			div#budget div.form label textarea { display: block; position: relative; border: none; border-bottom: 1px solid #ffffff; width: 100%; line-height: 25px; height: 30px; color: #ffffff; font-size: 0.75em; background: none; padding: 0 3px; resize: vertical; }

			div#budget div.form p.terms { display: block; position: relative; font-size: 0.625em; margin: 25px 0; text-align: left; vertical-align: middle; color: #ffffff; }
				div#budget div.form p.terms a { display: inline-block; position: relative; font-size: 1em; text-decoration: none; color: #ffffff; }
				div#budget div.form p.terms a:hover { text-decoration: underline; }

			div#budget div.form input[type="submit"] { display: inline-block; position: relative; font-size: 0.875em; line-height: 40px; border: 1px solid #ffffff; background-color: #e81c24; color: #ffffff; padding: 0 50px; margin: 0; text-decoration: none; cursor: pointer; vertical-align: middle; }
			div#budget div.form input[type="submit"]:hover { background-color: #ffffff; color: #e81c24; }

@media all and ( max-width: 1366px ) {
	div#budget span.close { width: 20%; }
	div#budget[data-status="opened"] span.close { width: 20%; }
	div#budget div.form { width: 80%; padding: 50px; }
}
@media all and ( max-width: 475px ) {
	div#budget_icon { right: 0; }

	div#budget div.form { padding: 25px; }
		div#budget div.form label { margin: 0 0 5px 0; }
			div#budget div.form label input[type="text"] { line-height: 20px; }
		div#budget div.form p.terms { margin: 10px 0; }

}

/* ================================================================================================================== */
/* popups */
/* ================================================================================================================== */

div#popup_products { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; padding: 15px 0; }
div#popup_products[data-status="closed"] { z-index: -2; opacity: 0; }
div#popup_products[data-status="open"] { z-index: 2000; opacity: 1; }
	div#popup_products span.bg { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #000000; opacity: 0.85; }
	div#popup_products span.close { display: block; position: absolute; top: 15px; right: 50px; width: 50px; height: 50px; z-index: 3; border: 1px solid #ffffff; background: transparent url(../images/button_close.png) no-repeat center center; cursor: pointer; }
	div#popup_products span.close:hover { background-color: #e81c24; border: 1px solid #e81c24; }
	div#popup_products div.inner { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

	div#popup_products div.container { display: block; position: relative; width: auto; margin: 10px 50px 0 50px; }
		div#popup_products div.container div.col { display: block; position: absolute; top: 0; width: auto; height: 50px; cursor: pointer; }
		div#popup_products div.container div.col.left { left: 0; text-align: left; }
		div#popup_products div.container div.col.right { right: 0; text-align: right; }
			div#popup_products div.container div.col span.button { display: inline-block; position: relative; width: 50px; height: 50px; border: 1px solid #ffffff; background: transparent no-repeat center center; vertical-align: middle; }
			div#popup_products div.container div.col.left span.button { background-image: url(../images/button_left.png); text-align: left; }
			div#popup_products div.container div.col.right span.button { background-image: url(../images/button_right.png); text-align: right; }
			div#popup_products div.container div.col:hover span.button { background-color: #e81c24; border: 1px solid #e81c24; }
			div#popup_products div.container div.col div.text { display: inline-block; position: relative; height: auto; vertical-align: middle; margin: 0 35px; }
				div#popup_products div.container div.col div.text h3 { display: block; position: relative; height: auto; font-size: 0.75em; line-height: 25px; color: #ffffff; margin: 0; }
				div#popup_products div.container div.col:hover div.text h3 { color: #e81c24; }
				div#popup_products div.container div.col div.text p { display: block; position: relative; height: auto; font-size: 1.5em; line-height: 25px; color: #ffffff; }
				div#popup_products div.container div.col:hover div.text p { color: #e81c24; }

	div#popup_products span.arrow { display: block; position: absolute; top: 50%; width: 50px; height: 50px; z-index: 10000; margin-top: -25px; cursor: pointer; border: 1px solid #ffffff; }
	div#popup_products span.arrow.prev { left: 50px; background: transparent url(../images/button_left.png) no-repeat center center; }
	div#popup_products span.arrow.next { right: 50px; background: transparent url(../images/button_right.png) no-repeat center center; }
	div#popup_products span.arrow:hover { background-color: #e81c24; border: 1px solid #e81c24; }

	div#popup_products div.slide_container { display: block; position: relative; width: auto; white-space: nowrap; z-index: 2; margin: 0 110px; }
	div#popup_products div.slide_container
	{
		height: 100%;
		height: -webkit-calc(100% - 25px - 65px);
		height:    -moz-calc(100% - 25px - 65px);
		height:         calc(100% - 25px - 65px);
	}
		div#popup_products div.slide_container div.slide { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; margin: 0; }
		div#popup_products div.slide_container div.slide[data-status="actual"] { left: 0; }
		div#popup_products div.slide_container div.slide[data-status="prev"] { left: -200%; }
		div#popup_products div.slide_container div.slide[data-status="next"] { left: 200%; }

			div#popup_products div.slide_container div.slide h1 { display: block; position: relative; width: 100%; height: auto; line-height: 20px; font-size: 1.875em; color: #ffffff; margin: 20px 0 0 0; text-align: center; cursor: default; }
			div#popup_products div.slide_container div.slide[data-status="actual"] h1 { opacity: 1; }
			div#popup_products div.slide_container div.slide[data-status="next"] h1,
			div#popup_products div.slide_container div.slide[data-status="prev"] h1 { opacity: 0; }

			div#popup_products div.slide_container div.slide p.counter { display: block; position: relative; width: 100%; height: auto; line-height: 25px; font-size: 0.875em; color: #a2a4a7; margin: 0; text-align: center; cursor: default; }
			div#popup_products div.slide_container div.slide[data-status="actual"] p.counter { opacity: 1; }
			div#popup_products div.slide_container div.slide[data-status="next"] p.counter,
			div#popup_products div.slide_container div.slide[data-status="prev"] p.counter { opacity: 0; }

			div#popup_products div.slide_container div.slide p.description { display: block; position: relative; width: 100%; height: auto; line-height: 15px; font-size: 0.70em; max-height: 15px; color: #a2a4a7; margin: 10px 0 0 0; text-align: center; overflow: hidden; cursor: default; }
			div#popup_products div.slide_container div.slide[data-status="actual"] p.description { opacity: 1; }
			div#popup_products div.slide_container div.slide[data-status="next"] p.description,
			div#popup_products div.slide_container div.slide[data-status="prev"] p.description { opacity: 0; }

			div#popup_products div.slide_container div.slide div.photos { display: block; position: relative; width: 100%; margin: 0; }
			div#popup_products div.slide_container div.slide div.photos
			{
				height: 100%;
				height: -webkit-calc(100% - 85px);
				height:    -moz-calc(100% - 85px);
				height:         calc(100% - 85px);
			}

				div#popup_products div.slide_container div.slide div.photos span.photo { display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent no-repeat center center; background-size: contain; }
				div#popup_products div.slide_container div.slide div.photos span.photo:first-child { display: block; }

	div#popup_products div.controls { display: block; position: absolute; bottom: 25px; left: 50%; transform: translate(-50%, 0); background-color: transparent; }
		div#popup_products div.controls div.share { display: inline-block; position: relative; vertical-align: middle; margin: 0; width: auto; height: auto; z-index: 100; }
		div#popup_products div.controls div.wishlist { display: inline-block; position: relative; vertical-align: middle; border: 1px solid #a2a4a7; border-radius: 4px; padding: 1px 10px; min-height: 25px; cursor: pointer; background-color: transparent; margin-right: 10px; }
		div#popup_products div.controls div.wishlist[data-selected="true"] { background-color: #a2a4a7; }
			div#popup_products div.controls div.wishlist span { display: inline-block; position: relative; width: 15px; height: 15px; background: transparent url(../images/wishlist_icon.png) no-repeat -7px -56px; vertical-align: middle; margin-right: 5px; }
			div#popup_products div.controls div.wishlist p { display: inline-block; position: relative; vertical-align: middle; font-size: 0.750em; color: #a2a4a7; line-height: 23px; }
			div#popup_products div.controls div.wishlist[data-selected="true"] p { color: #ffffff; }

@media all and ( min-width: 1050px ) {
	div#popup_products div.controls div.wishlist:hover { background-color: #a2a4a7; }
	div#popup_products div.controls div.wishlist:hover p { color: #ffffff; }
}

@media all and ( max-width: 1050px ) {
	div#popup_products span.close { width: 35px; height: 35px; top: 15px; right: 15px; }
	div#popup_products span.bg { opacity: 0.9; }

	div#popup_products div.container { margin: 10px 15px 0 15px; }

	div#popup_products span.arrow { width: 35px; height: 35px; }
	div#popup_products span.arrow.prev { left: 15px; }
	div#popup_products span.arrow.next { right: 15px; }

	div#popup_products div.slide_container { width: auto; margin: 0 60px; }
	div#popup_products div.slide_container
	{
		height: 100%;
		height: -webkit-calc(100% - 25px - 135px);
		height:    -moz-calc(100% - 25px - 135px);
		height:         calc(100% - 25px - 135px);
	}

		div#popup_products div.slide_container div.slide div.photos { margin: 15px 0 0 0; }

	div#popup_products div.container div.col { height: 50px; }
		div#popup_products div.container div.col span.button { width: 35px; height: 35px; }
		div#popup_products div.container div.col div.text { display: none; }
}
@media all and ( max-width: 475px ) {
	div#popup_products span.close { width: 25px; height: 25px; top: 5px; right: 5px; }

	div#popup_products div.container { margin: 5px 5px 0 5px; }

	div#popup_products span.arrow { width: 25px; height: 25px; margin-top: -50px; }
	div#popup_products span.arrow.prev { left: 5px; }
	div#popup_products span.arrow.next { right: 5px; }

	div#popup_products div.slide_container { width: auto; margin: 0 40px; }
	div#popup_products div.slide_container
	{
		height: 100%;
		height: -webkit-calc(100% - 65px);
		height:    -moz-calc(100% - 65px);
		height:         calc(100% - 65px);
	}

		div#popup_products div.slide_container div.slide h1 { white-space: normal; }
		div#popup_products div.slide_container div.slide p.description { white-space: normal; overflow: visible; max-height: none; }
		div#popup_products div.slide_container div.slide div.photos { margin: 5px 0 0 0; }
		div#popup_products div.slide_container div.slide div.photos
		{
			height: 100%;
			height: -webkit-calc(100% - 135px);
			height:    -moz-calc(100% - 135px);
			height:         calc(100% - 135px);
		}

	div#popup_products div.container div.col { height: 50px; }
		div#popup_products div.container div.col span.button { width: 25px; height: 25px; }
		div#popup_products div.container div.col div.text { display: none; }

	div#popup_products div.controls { bottom: 15px; width: 100%; text-align: center; }
		div#popup_products div.controls div.wishlist { margin-right: 5px; font-size: 16px; }
}

/* ================================================================================================================== */
/* loading */
/* ================================================================================================================== */

@-webkit-keyframes loading_animation_span_1 {
    0% { top: 10px; left: 0; transform: rotate(45deg); }
    33% { top: 10px; left: 25px; transform: rotate(135deg); }
    66% { top: 37px; left: 25px; transform: rotate(225deg); }
    100% { top: 37px; left: 0; transform: rotate(315deg); }
}

@-webkit-keyframes loading_animation_span_2 {
    0% { top: 10px; left: 25px; transform: rotate(135deg); }
    33% { top: 37px; left: 25px; transform: rotate(225deg); }
    66% { top: 37px; left: 0; transform: rotate(315deg); }
	100% { top: 10px; left: 0; transform: rotate(405deg); }
}

@-webkit-keyframes loading_animation_span_3 {
    0% { top: 37px; left: 25px; transform: rotate(225deg); }
    33% { top: 37px; left: 0; transform: rotate(315deg); }
	66% { top: 10px; left: 0; transform: rotate(405deg); }
    100% { top: 10px; left: 25px; transform: rotate(495deg); }
}

@-webkit-keyframes loading_animation_span_4 {
    0% { top: 37px; left: 0; transform: rotate(315deg); }
	33% { top: 10px; left: 0; transform: rotate(405deg); }
    66% { top: 10px; left: 25px; transform: rotate(495deg); }
    100% { top: 37px; left: 25px; transform: rotate(585deg); }
}

@-moz-keyframes loading_animation_span_1 {
    0% { top: 10px; left: 0; transform: rotate(45deg); }
    33% { top: 10px; left: 25px; transform: rotate(135deg); }
    66% { top: 37px; left: 25px; transform: rotate(225deg); }
    100% { top: 37px; left: 0; transform: rotate(315deg); }
}

@-moz-keyframes loading_animation_span_2 {
    0% { top: 10px; left: 25px; transform: rotate(135deg); }
    33% { top: 37px; left: 25px; transform: rotate(225deg); }
    66% { top: 37px; left: 0; transform: rotate(315deg); }
	100% { top: 10px; left: 0; transform: rotate(405deg); }
}

@-moz-keyframes loading_animation_span_3 {
    0% { top: 37px; left: 25px; transform: rotate(225deg); }
    33% { top: 37px; left: 0; transform: rotate(315deg); }
	66% { top: 10px; left: 0; transform: rotate(405deg); }
    100% { top: 10px; left: 25px; transform: rotate(495deg); }
}

@-moz-keyframes loading_animation_span_4 {
    0% { top: 37px; left: 0; transform: rotate(315deg); }
	33% { top: 10px; left: 0; transform: rotate(405deg); }
    66% { top: 10px; left: 25px; transform: rotate(495deg); }
    100% { top: 37px; left: 25px; transform: rotate(585deg); }
}

@-o-keyframes loading_animation_span_1 {
    0% { top: 10px; left: 0; transform: rotate(45deg); }
    33% { top: 10px; left: 25px; transform: rotate(135deg); }
    66% { top: 37px; left: 25px; transform: rotate(225deg); }
    100% { top: 37px; left: 0; transform: rotate(315deg); }
}

@-o-keyframes loading_animation_span_2 {
    0% { top: 10px; left: 25px; transform: rotate(135deg); }
    33% { top: 37px; left: 25px; transform: rotate(225deg); }
    66% { top: 37px; left: 0; transform: rotate(315deg); }
	100% { top: 10px; left: 0; transform: rotate(405deg); }
}

@-o-keyframes loading_animation_span_3 {
    0% { top: 37px; left: 25px; transform: rotate(225deg); }
    33% { top: 37px; left: 0; transform: rotate(315deg); }
	66% { top: 10px; left: 0; transform: rotate(405deg); }
    100% { top: 10px; left: 25px; transform: rotate(495deg); }
}

@-o-keyframes loading_animation_span_4 {
    0% { top: 37px; left: 0; transform: rotate(315deg); }
	33% { top: 10px; left: 0; transform: rotate(405deg); }
    66% { top: 10px; left: 25px; transform: rotate(495deg); }
    100% { top: 37px; left: 25px; transform: rotate(585deg); }
}

@keyframes loading_animation_span_1 {
    0% { top: 10px; left: 0; transform: rotate(45deg); }
    33% { top: 10px; left: 25px; transform: rotate(135deg); }
    66% { top: 37px; left: 25px; transform: rotate(225deg); }
    100% { top: 37px; left: 0; transform: rotate(315deg); }
}

@keyframes loading_animation_span_2 {
    0% { top: 10px; left: 25px; transform: rotate(135deg); }
    33% { top: 37px; left: 25px; transform: rotate(225deg); }
    66% { top: 37px; left: 0; transform: rotate(315deg); }
	100% { top: 10px; left: 0; transform: rotate(405deg); }
}

@keyframes loading_animation_span_3 {
    0% { top: 37px; left: 25px; transform: rotate(225deg); }
    33% { top: 37px; left: 0; transform: rotate(315deg); }
	66% { top: 10px; left: 0; transform: rotate(405deg); }
    100% { top: 10px; left: 25px; transform: rotate(495deg); }
}

@keyframes loading_animation_span_4 {
    0% { top: 37px; left: 0; transform: rotate(315deg); }
	33% { top: 10px; left: 0; transform: rotate(405deg); }
    66% { top: 10px; left: 25px; transform: rotate(495deg); }
    100% { top: 37px; left: 25px; transform: rotate(585deg); }
}

div.loading { display: block; position: relative; text-align: center; width: 100%; height: auto; margin: 25px 0; background-color: transparent; text-align: center; }
	div.loading div.inside { display: inline-block; position: relative; width: 50px; height: 50px; }
		div.loading div.inside span { display: none; position: absolute; width: 25px; height: 4px; border: 1px solid #e81c24; border-radius: 100%; }
		div.loading.white div.inside span { border: 1px solid #ffffff; }
		div.loading div.inside span:nth-child(1) { display: block; top: 10px; left: 0; transform: rotate(45deg); }
		div.loading div.inside span:nth-child(2) { display: block; top: 10px; left: 25px; transform: rotate(135deg); }
		div.loading div.inside span:nth-child(3) { display: block; top: 37px; left: 25px; transform: rotate(225deg); }
		div.loading div.inside span:nth-child(4) { display: block; top: 37px; left: 0; transform: rotate(315deg); }
		div.loading div.inside span:nth-child(1)
		{
			-webkit-animation: loading_animation_span_1 1250ms infinite linear;
			   -moz-animation: loading_animation_span_1 1250ms infinite linear;
				 -o-animation: loading_animation_span_1 1250ms infinite linear;
					animation: loading_animation_span_1 1250ms infinite linear;
		}
		div.loading div.inside span:nth-child(2)
		{
			-webkit-animation: loading_animation_span_2 1250ms infinite linear;
			   -moz-animation: loading_animation_span_2 1250ms infinite linear;
				 -o-animation: loading_animation_span_2 1250ms infinite linear;
					animation: loading_animation_span_2 1250ms infinite linear;
		}
		div.loading div.inside span:nth-child(3)
		{
			-webkit-animation: loading_animation_span_3 1250ms infinite linear;
			   -moz-animation: loading_animation_span_3 1250ms infinite linear;
				 -o-animation: loading_animation_span_3 1250ms infinite linear;
					animation: loading_animation_span_3 1250ms infinite linear;
		}
		div.loading div.inside span:nth-child(4)
		{
			-webkit-animation: loading_animation_span_4 1250ms infinite linear;
			   -moz-animation: loading_animation_span_4 1250ms infinite linear;
				 -o-animation: loading_animation_span_4 1250ms infinite linear;
					animation: loading_animation_span_4 1250ms infinite linear;
		}
