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

* { 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: 'Raleway', sans-serif; font-size: 15px; font-weight: 500; color: #808184; padding: 0; margin: 0; line-height: 23px; }

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

.font-title { font-size: 30px; line-height: 36px; font-weight: 700; }

.medium { font-weight: 500; }
.semi-bold { font-weight: 600; }
.bold { font-weight: 700; }

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

html, body	{ position: relative; margin: 0; padding: 0; width: 100%; height: 100%; font-size: 0; }
*		{ transition-property: all; -webkit-transition-property: all; -moz-transition-property: all; transition-duration: 400ms; -webkit-transition-duration: 400ms; -moz-transition-duration: 400ms; }
.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-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; }

/* ================================================================================================================== */
/* 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; }

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

div#header { display: block; position: fixed; top: 0; left: 0; height: 100px; width: 100%; background-color: #ffffff; z-index: 500; }
div#header[data-responsive="closed"] {  }
div#header[data-responsive="opened"] {  }
	div#header div.container { display: flex; position: relative; justify-content: space-between; align-items: center; width: auto; margin: 0 100px; height: 100%; }
		div#header div.container a.logo { display: inline-block; position: relative; width: 211px; height: 77px; background: transparent url(../images/logo.png) no-repeat left center; background-size: contain; vertical-align: middle; }
		div#header div.container div.contents { display: inline-block; position: relative; width: auto; height: 25px; vertical-align: middle; }
			div#header div.container div.contents div.menu { display: inline-block; position: relative; width: auto; height: 25px; vertical-align: middle; margin: 0 50px 0 0; }
				div#header div.container div.contents div.menu a { display: inline-block; position: relative; width: auto; background-color: #e1332a; color: #ffffff; text-decoration: none; margin: 0 5px; padding: 5px 15px; }
				div#header div.container div.contents div.menu a.selected,
				div#header div.container div.contents div.menu a:hover { color: #ffffff; background-color: #000000; }
			div#header div.container div.contents a.icons { display: inline-block; position: relative; width: 21px; height: 21px; background: transparent url(../images/header_icons.png) no-repeat; vertical-align: middle; font-size: 0; margin: 0 25px 0 0; }
			div#header div.container div.contents a.icons:hover { background-position-y: -21px; }
			div#header div.container div.contents a.icons.search { background-position-x: 0; text-decoration: none; }
			div#header div.container div.contents a.icons.search[data-status="true"],
			div#header div.container div.contents a.icons.search.selected { background-position-y: -21px; }
			div#header div.container div.contents a.icons.shopping_cart { background-position-x: -21px; text-decoration: none; }
			div#header div.container div.contents a.icons.shopping_cart.selected { background-position-y: -21px; }
			div#header div.container div.contents a.icons.reserved { background-position-x: -42px; text-decoration: none; }
				div#header div.container div.contents a.icons.shopping_cart span { display: block; position: relative; width: 100%; height: auto; margin: 4px 0 0 0; line-height: 13px; font-size: 13px; color: #e1332a; text-align: center; }
			div#header div.container div.contents a.social_network { display: inline-block; position: relative; width: 26px; height: 26px; background: transparent url(../images/social_network.png) no-repeat; vertical-align: middle; font-size: 0; margin: 0 0 0 3px; }
			div#header div.container div.contents a.social_network:hover { background-position-y: -26px; }
			div#header div.container div.contents a.social_network.facebook { background-position-x: 0; }
			div#header div.container div.contents a.social_network.instagram { background-position-x: -26px; }
			div#header div.container div.contents a.social_network.whatsapp { background-position-x: -52px; }
			div#header div.container div.contents a.social_network.youtube { background-position-x: -78px; }
			div#header div.container div.contents a.language { display: inline-block; position: relative; font-size: 15px; line-height: 25px; vertical-align: middle; text-decoration: none; margin: 0 0 0 8px; color: #cfd2d3; }
			div#header div.container div.contents a.language:hover,
			div#header div.container div.contents a.language.selected { color: #323a47; }
		div#header div.container form.search { display: inline-block; position: relative; height: 25px; vertical-align: middle; overflow: hidden; margin-right: 10px; }
		div#header div.container form.search[data-status="false"] { width: 0; }
		div#header div.container form.search[data-status="true"] { width: 200px; }
			div#header div.container form.search input[type="text"] { display: block; position: relative; width: 100%; height: 100%; line-height: 25px; border: 1px solid #808184; padding: 0 5px; font-size: 12px; }

		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: #e1332a; }
			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%; }

@media all and ( max-width: 1500px ) {
			div#header div.container div.contents div.menu { margin: 0 15px 0 0; }
				div#header div.container div.contents div.menu a { font-size: 14px; padding: 5px 10px; }
			div#header div.container div.contents a.icons { margin: 0 15px 0 0; }
}
@media all and ( max-width: 1340px ) {
	div#header { height: 75px; }
		div#header div.container { margin: 0 10px; }
			div#header div.container a.logo { height: 50px; }

	div#header div.container span.responsive_icon { display: block; margin: 0; top: 28px; }

	div#header div.container div.contents { display: block; position: fixed; top: 75px; left: 0; width: 100%; height: auto; background-color: #ffffff; text-align: center; overflow: hidden; }
	div#header[data-responsive="opened"] div.container div.contents { height: auto; padding: 25px 0; }
	div#header[data-responsive="closed"] div.container div.contents { height: 0; padding: 0; }

	div#header div.container div.contents div.menu { display: block; height: auto; width: auto; padding: 0; margin: 0 auto 10px auto; }
		div#header div.container div.contents div.menu a { display: block; margin: 0 auto 5px auto; font-size: 12px; padding: 2px 10px; width: 250px; }
}
@media all and ( max-width: 750px ) {
	div#header div.container form.search[data-status="true"] { width: 150px; }
}

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

div#principal_container { display: table; position: relative; width: 100%; min-height: 100%; margin: 0 auto; overflow: hidden; }
	div#principal_container div#principal_header { display: table-row; position: relative; width: 100%; height: 100px; }
	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: 100px; }

@media all and ( max-width: 1200px ) {
	div#principal_container div#principal_footer { height: auto; }
}

/* ================================================================================================================== */
/* widget carrinho de compras */
/* ================================================================================================================== */

div#shoppingcart_widget { display: block; position: fixed; width: 100%; height: auto; background-color: #ffffff; top: 0; left: 0; padding: 35px 0; margin: 0; z-index: 600; overflow: hidden; }
div#shoppingcart_widget[data-status="closed"] { height: 0; border-bottom: 0; padding: 0; }
div#shoppingcart_widget[data-status="opened"] { height: auto; border-bottom: 10px solid #e1332a; }
	div#shoppingcart_widget div.container { display: block; position: relative; margin: 0 100px; text-align: center; }
		div#shoppingcart_widget h1 { color: #e1332a; }
		div#shoppingcart_widget p { margin: 10px 0 35px 0; }
		div#shoppingcart_widget table { width: 100%; }
			div#shoppingcart_widget table thead th { background-color: #ededed; padding: 10px 25px; font-size: 18px; color: #000000; }
			div#shoppingcart_widget table .center { text-align: center; }
			div#shoppingcart_widget table td { padding: 10px 25px; color: #000000; }
				div#shoppingcart_widget table td span.photo { display: inline-block; position: relative; width: 150px; height: 75px; vertical-align: middle; background: transparent no-repeat left center; background-size: contain; }
				div#shoppingcart_widget table td p.title { display: inline-block; position: relative; margin: 0 0 0 25px; vertical-align: middle; color: #000000; }
		div#shoppingcart_widget div.col { display: inline-block; position: relative; width: 50%; vertical-align: top; }
		div#shoppingcart_widget div.col.left { text-align: left; }
		div#shoppingcart_widget div.col.right { text-align: right; }
			div#shoppingcart_widget div.col a.close { display: inline-block; position: relative; border: 1px solid #a1a1a1; padding: 15px 50px; color: #a1a1a1; text-decoration: none; }
			div#shoppingcart_widget div.col a.close:hover { border: 1px solid #000000; color: #ffffff; background-color: #000000; }
			div#shoppingcart_widget div.col a.submit { display: inline-block; position: relative; background-color: #e1332a; padding: 15px 50px; color: #ffffff; text-decoration: none; }
			div#shoppingcart_widget div.col a.submit:hover { background-color: #000000; }

@media all and ( max-width: 750px ) {
	div#shoppingcart_widget { padding: 25px; }
		div#shoppingcart_widget div.container { margin: 0 10px; }
		div#shoppingcart_widget div.responsive { display: block; position: relative; width: 100%; height: auto; overflow: auto; }
		div#shoppingcart_widget table { width: 750px; }

		div#shoppingcart_widget div.col { display: block; width: 100%; padding: 5px; margin: 0; }
		div#shoppingcart_widget div.col.left,
		div#shoppingcart_widget div.col.right { text-align: center; }
			div#shoppingcart_widget div.col a.close { padding: 10px 20px; }
			div#shoppingcart_widget div.col a.submit { padding: 10px 20px; }
}

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

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

@media all and ( max-width: 1200px ) {
	div#body { margin: 0 10px; }
}

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

div#footer { display: block; position: relative; width: auto; height: auto; background-color: #ffffff; padding: 45px 0 0 0; z-index: 1; margin: 0 100px; }
	div#footer div.newsletter { display: block; position: relative;  align-items: start; width: auto; padding: 35px 0; background: transparent url(../images/talk_to_us_bg.jpg) no-repeat top center; background-size: cover; text-align: center; }
		div#footer div.newsletter div.col { display: inline-block; position: relative; width: auto; height: auto; vertical-align: top; text-align: left; margin: 0 100px; }
			div#footer div.newsletter div.col p { display: block; position: relative; color: #ffffff; }
			div#footer div.newsletter div.col .title { display: block; position: relative; width: auto; height: auto; vertical-align: top; color: #ffffff; font-size: 30px; text-decoration: none; line-height: 45px; }
			div#footer div.newsletter div.col a.title:hover { color: #e1332a; }
			div#footer div.newsletter div.col .title.small { font-size: 15px; color: #e1332a; }
	div#footer div.container { display: flex; position: relative; justify-content: space-between; align-items: start; width: auto; margin: 50px 25px 0 25px; }
		div#footer div.container div.col { display: inline-block; position: relative; width: auto; height: auto; vertical-align: top; }
			div#footer div.container div.col h1 { display: block; position: relative; color: #e1332a; font-size: 16px; line-height: 20px; margin: 0 0 15px 0; }
			div#footer div.container div.col p { display: block; position: relative; line-height: 30px; }
			div#footer div.container div.col a { display: block; position: relative; line-height: 30px; text-decoration: none; }
			div#footer div.container div.col a:hover { color: #e1332a; }
	div#footer div.copyright { display: block; position: relative; border-top: 15px solid #e1332a; margin: 50px 0 0 0; padding: 35px 0; text-align: center; }
		div#footer div.copyright a { display: inline-block; position: relative; width: 88px; height: 34px; background: transparent url(../images/fuio.png) no-repeat center center; background-size: contain; margin: 0 20px; }
		div#footer div.copyright a.reclamacoes { display: inline-block; position: relative; font-size: 11px; width: 132px; height: 51px; background: transparent url(../images/reclamacoes.png) no-repeat left center; background-size: contain; margin: 0 20px; }

@media all and ( max-width: 1200px ) {
	div#footer { margin: 0 10px; }
		div#footer div.newsletter { display: none; }
		div#footer div.container { display: block; text-align: center; }
			div#footer div.container div.col { display: none; }
			div#footer div.container div.col:last-child { display: inline-block; }

		div#footer div.copyright { margin: 35px 0 0 0; }
}

/* ================================================================================================================== */
/* cookies */
/* ================================================================================================================== */

div#cookie { display: block; position: fixed; top: 0; left: 0; margin: 0; width: 100%; height: 100%; padding: 0; text-align: center; z-index: 999999; }
	div#cookie span.bg { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #000000; opacity: 0.75; }
	div#cookie div.container { display: block; position: absolute; bottom: 0; left: 0; width: 100%; height: auto; padding: 50px; margin: 0; background-color: #ffffff; text-align: left; }
		div#cookie div.container h1 { display: block; position: relative; padding: 0; margin: 0; font-family: 'bold1', sans-serif; font-size: 28px; height: 50px; line-height: 50px; }
		div#cookie div.container p { display: block; position: relative; margin: 5px 0 0 0; font-size: 14px; line-height: 25px; overflow: hidden; }
		div#cookie div.container div.buttons { display: block; position: relative; text-align: center; margin-top: 25px; }
			div#cookie div.container a.text { display: inline-block; position: relative; text-decoration: none; color: #e1332a; font-size: 14px; line-height: 25px; }
			div#cookie div.container a.text:hover { text-decoration: underline; }
			div#cookie div.container a.button { display: inline-block; position: relative; width: 200px; line-height: 35px; text-decoration: none; color: #ffffff; margin: 0 50px; }
			div#cookie div.container a.button.accept { background-color: #e1332a; }
			div#cookie div.container a.button.reject { background-color: #e1332a; }
			div#cookie div.container a.button:hover { background-color: #636362; }

/* ================================================================================================================== */
/* separador */
/* ================================================================================================================== */

span.separator { display: block; position: relative; width: 100%; border: none; height: 0; border-top: 1px solid #dfe1e2; border-bottom: 1px solid #f1f1f2; margin: 25px 0; }

/* ================================================================================================================== */
/* paginador */
/* ================================================================================================================== */

div.paginator { display: block; position: relative; width: auto; margin: 75px 0; text-align: center; }
	div.paginator p,
	div.paginator a { display: inline-block; position: relative; width: auto; text-align: center; vertical-align: top; border: 1px solid #808184; padding: 10px 25px; font-style: normal; margin: 0 20px; }
	div.paginator p { border: 1px solid #cfd2d3; }
	div.paginator a:hover { border: 1px solid #e1332a; }
		div.paginator p span.text,
		div.paginator a span.text { display: inline-block; position: relative; color: #808184; vertical-align: middle; font-size: 15px; text-decoration: none; }
		div.paginator p span.text { color: #cfd2d3; }
		div.paginator a:hover span.text { color: #e1332a; }
		div.paginator p span.arrow,
		div.paginator a span.arrow { display: inline-block; position: relative; width: 30px; height: 16px; background: transparent url(../images/arrows.png) no-repeat; vertical-align: middle; }
		div.paginator p span.arrow { background-position-y: -16px; }
		div.paginator p.prev span.arrow,
		div.paginator a.prev span.arrow { margin: 0 20px 0 0; }
		div.paginator p.next span.arrow,
		div.paginator a.next span.arrow { background-position-x: -30px; margin: 0 0 0 20px; }

/* ================================================================================================================== */
/* navegador */
/* ================================================================================================================== */

#navigator { display: block; position: relative; vertical-align: top; background-color: #ededed; text-align: center; margin: 0 0 50px 0; }
	#navigator a,
	#navigator p { display: inline-block; position: relative; text-decoration: none; font-size: 18px; line-height: 40px; margin: 0 50px; color: #000000; text-decoration: none; }
	#navigator a { margin: 0 25px; }
	#navigator a:hover,
	#navigator a.selected,
	#navigator p.selected { color: #e1332a; }

@media all and ( max-width: 950px ) {
	#navigator { display: none; }
}

/* ================================================================================================================== */
/* 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: #f6f6f6; box-sizing: border-box; padding: 20px 35px; text-align: center; }
		div#popup div.container span.close { display: inline-block; position: relative; font-size: 12px; line-height: 38px; border: 2px solid #ffffff; background-color: #ffffff; color: #ec1c24; padding: 0 50px; margin: 15px 0 0 0; text-decoration: none; cursor: pointer; }
		div#popup div.container span.close:hover { border: 2px solid #ec1c24; background-color: #ec1c24; color: #ffffff; }
		div#popup div.container p { margin: 5px 0; }
