html, body, div, span, h1, h2, h3, h4, h5, h6, p, blockquote, a, img, small, sub, b, dl, dd, dt, ul, li, label, article, details, footer, header, menu, nav, input, textarea, select, button {
	background: transparent;
	border: 0;
	outline: 0;
	padding: 0;
	margin: 0;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html, body {
	font-family: 'Raleway', sans-serif;
	height: 100%;
	width: 100%;
	background-color: #ffffff;
    scroll-behavior: smooth;
}

body {
	position:relative;
	overflow-x: hidden;
	/*-moz-osx-font-smoothing: grayscale;
	font-smoothing: grayscale;
	text-rendering: optimizelegibility;*/
}
a:hover, a:active, a:focus, button, input, textarea {
	outline: 0;
	-webkit-border-radius:0; 
	border-radius:0;
	text-decoration: none;	
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	
}
a:not(.ft_contactos_txt), button, input.submit, input[type="submit"], input[type="reset"], input[type="button"], input[type="image"], .animationcss, *:before, *:after, span, input, textarea {
	-moz-transition: all 0.3s linear;
	-o-transition: all 0.3s linear;
	-ms-transition: all 0.3s linear;
	-webkit-transition: all 0.3s linear;
	transition: all 0.3s linear;
}
a {
	outline: 0 !important;
	text-decoration: none;
}
img {
	display: block;
}
textarea {
	resize: none;
}
.scrolloff {
	pointer-events: none;
}
.overHidden{
	overflow:hidden;
}

/* ANIMAÇÕES AO APARECER */
.element_from_top {
	top: -50px;
	padding-right: 0px;
	opacity: 0;
	position: relative;
}
.element_from_bottom {
	bottom: -50px;
	padding-left: 0px;
	opacity: 0;
	position: relative;
}
.element_from_left {
	left: -80px;
	padding-right: 0px;
	opacity: 0;
	position: relative;
}
.element_from_right {
	right: -80px;
	padding-left: 0px;
	opacity: 0;
	position: relative;
}
.element_fade_in {
	opacity: 0;
	position: relative;
	padding-left: 0px;
	right: 0px;
}

@media only screen and (max-width: 768px) {
	.element_from_top {
		top: 0px;
		opacity: 1;
	}
	.element_from_bottom {
		bottom: 0px;
		opacity: 1;
	}
	.element_from_left {
		left: 0px;
		opacity: 1;
	}
	.element_from_right {
		right: 0px;
		opacity: 1;
	}
	.element_fade_in {
		opacity: 1;
	}
}

/*LOADER*/
.mask {
	top: 0;
	left: 0;
	background-color: #f4ede7;
	width: 100%;
	height: 100%;
	position: fixed;
	z-index: 10000000;
	display: table;
	text-align: center;
}
#loader {
	display: table-cell;
	width: 100%;
	height: 100%;
	vertical-align: middle;
}


/*ESTILOS GERAIS*/
.mainDiv {
	width: 100%;
	height: 100%;
	display: table;
	position: relative;
}
.row1 {
	width: 100%;
	height: 100%;
	display: table-row;
	vertical-align: top;
}
.row2 {
	height: 100%;
	display: table-row;
	width: 100%;
	vertical-align: bottom;
}
.div_90 {
	display: table;
	width: 90%;
	table-layout: fixed;
	margin: auto;
}
.div_100 {
	display: table;
	width: 100%;
	table-layout: fixed;
}
.div_table_cell {
	display: table-cell;
	height: 100%;
	vertical-align: middle;
}
.container_1280 {
	display: table;
	width: 100%;
	max-width: 1440px;
	padding:0 20px;
	margin: auto;
}
.divs_50{
	width:50%;
	display: table-cell;
	height: 100%;
	vertical-align: middle;
}

@media only screen and (max-width: 1400px) {
	.container_1280 {
		max-width: 1320px;
	}
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
	.divs_50, .div_table_cell{
		height: 1px;
	}
}



/*TOPO FIXO*/
.topo_fixo {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  transition: transform 0.3s ease;
  background-color: #ffffff;
}

.topo_fixo.hidden {
  transform: translateY(-100%);
}


/* MENU MOBILE */
.nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  /*padding: 5px 5px;*/
  background: #ffffff;
  color: #000000;
}

.nav .menu {
  list-style: none;
  display: none;
  gap: 20px;
}

.nav .menu li a {
    text-decoration: none;
    color: #ffffff;
    font-size: 20px;
    font-weight: 300;
    line-height: 25px;
    text-transform: uppercase; 
}

.nav .menu li a:hover {
    color: #5f5f5f;
}

.nav .menu-toggle {
  display: none;
  font-size: 30px;
  cursor: pointer;
}

@media only screen and (max-width: 1000px) {
  .nav .menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    background: #000000;
    padding: 20px;
    z-index: 10;
  }

  .nav .menu.active {
    display: flex;
  }

  .nav .menu-toggle {
    display: block;
  }
}




/* MENU TOPO */

.header {
    background-color: #ffffff; 
}
.header_border {
    background: #ffffff url("https://onlybestbrands.com/imgs/header_bg.png") repeat-x bottom; 
}

.header .logotipo{
    display: inline-block;
    width: 36%;
    padding: 10px 0 15px 0;
} 
.header .logotipo img{
    max-width:250px;
}  
.header .menu{
    display: inline-block;
    vertical-align: top;
    line-height: 30px;
    margin-top: 10px;
    width: 32%;
    text-align: right;
} 
.header .menu a{
    color: #000;
    font-size: 17px;
    font-weight: 500;
    line-height: 22px;
    text-transform: none;
    padding: 0 20px;
}
.header .menu a:last-child{
    padding-right: 0px;
}
.header .menu a:hover{
    color: #5f5f5f;
}

.header .menu .mail{
    display: table;
    background-image: url('imgs/phone.png');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 20px;
    padding-left: 30px; 
    height: 20px;

    color: #000000;
    font-size: 14px;
    font-weight: 600 !important;
    line-height: 16px;
    text-transform: lowercase;
    text-align: left;
}
.header .menu .mail:hover{
    background-image: url('imgs/phone_.png');
    color: #5f5f5f;
}


.topo_idiomas{
    background-color: #ffffff;
    display: block;
}
.idiomas{
    display: inline-flex;
}
.idiomas img{
    max-width: 25px;
}
.idiomas a{
    padding: 10px 5px 5px 5px;
    transition: opacity 0.3s ease;
    opacity: 0.7;
}
.idiomas a:hover{
    opacity: 1.0;
}
.idiomas a.sel{
    opacity: 1.0;
}   



@media only screen and (max-width: 1200px) {
    .header .menu a {
        font-size: 16px;
        padding: 0 10px;
    }
}

@media only screen and (max-width: 1000px) {
    .header .logotipo{
        width: 100%;
        padding: 10px 0 10px 0;
    } 
    .header .logotipo img{
        max-width:220px;
    }
    .header .menu{
        display: none;
    }
    .topo_idiomas{
        display: none;
    }
}



 /* BANNER  */

.topo_espacamente{
    margin-top: 195px;
}
.header .banner{
    width: 100%;
    position: relative;
} 
.header .banner .imagem{
    width: 100%;
    height: auto;
    display: block;
} 
.header .banner .imagem_mob{
    width: 100%;
    height: auto;
    display: none;
} 
.header .banner .txt{
    position: absolute;
    color: #ffffff;
    font-size: 30px;
    font-weight: 500;
    line-height: 30px;
    text-transform: uppercase; 
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 800px;
}
.header .banner .txt span{
    margin-top: 30px;
    font-size: 35px;
    font-weight: 100;
    line-height: 28px;
}

@media only screen and (max-width: 1000px) {
    .topo_espacamente{
        margin-top: 185px;
    }
    .header .banner .imagem{
        display: none;
    } 
    .header .banner .imagem_mob{
        display: block;
    } 
    .header .banner .txt{
        font-size: 25px;
        line-height: 25px;
        width: 100%;
        padding: 0 40px;
        color: #ffffff;
    }
    .header .banner .txt span{
        font-size: 25px;
        line-height: 28px;
    }
}

 /* MARCAS */

.marcas{
    padding: 100px 20px;
    text-align: center;
}
.marcas .txt{
    color: #5f5f5f;
    font-size: 20px;
    font-weight: 400;
    line-height: 25px;
    text-transform: none;
    max-width: 900px;
    margin: auto;
}
.marcas .imagem{
    padding-top: 100px;
    margin: auto;
    max-width: 900px;
}

@media only screen and (max-width: 800px) {
    .marcas{
        padding: 50px 20px;
        text-align: center;
    }
    .marcas .txt{
        font-size: 16px;
        font-weight: 400;
        line-height: 20px;
        max-width: 100%;
    }
    .marcas .imagem{
        padding-top: 50px;
        max-width: 100%;
    }
}



/* ABOUT US */
.about_us{
    background-color: #f4f3f3;
}
.about_us .content{
    margin: auto;
    padding: 100px 50px;
    max-width: 1200px;
}
.about_us .content .td_1{
    display: inline-block;
    width: 50%;
    padding-right: 35px;
}
.about_us .content .td_2{
    display: inline-block;
    width: 50%;
    padding-left: 50px;
    padding-top: 30px;
    text-align: left;
    vertical-align: top;
}
.about_us .content .td_2.right{
    padding-left: 0px;
    padding-right: 50px;
}
.about_us .content .td_2 .tit{
    color: #000000;
    font-size: 30px;
    font-weight: 500;
    line-height: 30px;
    text-transform: none;
}
.about_us .content .td_2 .subtit{
    color: #2a2a2a;
    font-size: 19px;
    font-weight: 400;
    line-height: 26px;
    padding: 50px 0;
}
.about_us .content .td_2 .txt{
    color: #292929;
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
}
.about_us .content .td_2 .txt b{
    font-weight: 500;
}


.about_us .botao{
    border: 1px solid #000000;
    background-color: none;
    color: #000000;
    text-transform: uppercase;
    padding: 15px 10px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    transition: background-color 0.3s ease, transform 0.2s ease;
}
.about_us .botao:hover {
    background-color: #2a2a2a;
    color: #f4f3f3;
}

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

    .about_us .content .td_1{
        display: inline-block;
        width: 50%;
        padding-right: 0px;
    }
    .about_us .content .td_2{
        width: 50%;
        padding-left: 40px;
    }
    .about_us .content .td_2.right{
        padding-right: 40px;
        padding-left: 0px;
    }.
    .about_us .content .td_2 .tit{
        font-size: 20px;
        line-height: 24px;
    }
    .about_us .content .td_2 .subtit{
        font-size: 16px;
        line-height: 25px;
        padding: 20px 0;
    }
    .about_us .content .td_2 .txt{
        font-size: 18px;
        line-height: 22px;
    }
}

@media only screen and (max-width: 1000px) {
    .about_us .content{
        padding: 50px 20px;
    }
    .about_us .content .td_1{
        width: 100%;
    }
    .about_us .content .td_2{
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }
    .about_us .content .td_2.right{
        padding-left: 20px;
        padding-right: 20px;
        padding-top: 0px;
    }
}


/* CATEGORIAS */

.categ{
    padding: 100px 50px;
}
.categ .categ_tit{
    text-align: center;
}
.categ .categ_tit .tit{
    color: #292929;
    font-size: 35px;
    font-weight: 200;
    line-height: 35px;
    text-transform: uppercase;
}

.categ .menu{
    margin: auto;
    text-align: center;

}
.categ .menu .td_pad{
    padding: 10px;
    display: inline-block;
    width: 31%;
    vertical-align: top;
}
.categ .menu .td{
    padding: 50px;
    vertical-align: top;
    text-align: left;
    background-color: #2a2a2a;
    border-radius: 10px;
    min-height: 600px;
}
.categ .menu .td .tit{
    color: #ffffff;
    font-size: 27px;
    font-weight: 400;
    line-height: 32px;
    text-align: left;
    margin: 20px 0;
}
.categ .menu .td .txt{
    color: #ffffff;
    font-size: 19px;
    font-weight: 300;
    line-height: 25px;
    text-align: left;
}
.categ .menu .td img{
    max-width: 90px;
}


.categ .botao{
    background-color: #bf573e;
    color: #f4e3d1;
    text-transform: uppercase;
    padding: 15px 10px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 300;
    transition: background-color 0.3s ease, transform 0.2s ease;
}
.categ .botao:hover {
    background-color: #74130a;
}

@media only screen and (max-width: 1200px) {
    .categ .menu .td{
        min-height: 900px;
    }

}

@media only screen and (max-width: 1000px) {
    .categ{
        padding: 50px 20px;
    }
    .categ .menu .td_pad{
        width: 100%;
    }
    .categ .menu .td{
        padding: 50px;
        min-height: auto;
    }
    .categ .menu .td .tit{
        font-size: 22px;
        line-height: 27px;
    }
    .categ .menu .td .txt{
        font-size: 16px;
        line-height: 20px;
    }
}

@media only screen and (max-width: 800px) {
    .categ .categ_tit .tit{
        font-size: 25px;
        line-height: 25px;
    }
    .categ .categ_tit{
        padding: 50px 50px 20px 50px;
    }
}

@media only screen and (max-width: 600px) {
    .categ .menu .td{
        width: 100%;
    }
}


/* CONTACTOS FORM */
.contact{
    max-width: 1000px;
    padding: 50px 20px 100px 20px;
    margin: auto;
}
.contact .tit{
    text-align: center;
    color: #000000;
    font-size: 40px;
    font-weight: 500;
    line-height: 40px;
    padding-bottom: 30px;
    text-transform: none;
    width: max-content;
    margin: auto;
}
.contact .tit_form{
    text-align: center;
    color: #2a2a2a;
    font-size: 24px;
    font-weight: 400;
    line-height: 30px;
    padding: 20px 0 50px 0;
    text-transform: none;
}

.contact .form{
    margin: auto;
    width: 100%;
    background-color: #f4f3f3;
    border-radius: 20px;
    padding: 30px 50px 50px 50px;
}
.contact .form .td_1, .contact .form .td_2{
    display: inline-block;
    width: 44%;
    vertical-align: top;
    padding-top: 20px;
}
.contact .form .td_split{
    display: inline-block;
    width: 9%;
}
.contact .form label{
    color: #2a2a2a;
    font-size: 16px;
    font-weight: 500;
    line-height: 20px;
    text-transform: none;
}
.contact .form .td_3{
    display: inline-block;
    width: 100%;
    vertical-align: top;
    padding-top: 20px;
}
.contact .form input, .contact .form textarea{
    color: #2a2a2a;
    font-size: 14px;
    font-weight: 300;
    line-height: 18px;
    padding-bottom: 5px;
    padding-top: 5px;
    border-bottom: 1px solid #2a2a2a;
    width: 100%;
}
.contact .form textarea{
    resize: false;
    margin-top: 20px;
}
.contact .form button {
    background-color: #2a2a2a;
    color: #fff;
    text-transform: uppercase;
    padding: 15px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 200;
    transition: background-color 0.3s ease, transform 0.2s ease;
    margin: auto;
}
.contact .form button:hover {
    background-color: #5f5f5f;
}

.contact .message{
    text-align: center;
    color: #2a2a2a;
    font-size: 30px;
    font-weight: 200;
    line-height: 34px;
    padding: 50px 0;
}

@media only screen and (max-width: 1000px) {
    .contact .form .td_1, .contact .form .td_2{
        width: 100%;
    }
    .contact .form .td_split{
        display: none;
    }
    .contact .tit{
        font-size: 30px;
        line-height: 30px;
        padding-bottom: 20px;
    }
    .contact .tit_form{
        font-size: 30px;
        line-height: 30px;
    }
}
@media only screen and (max-width: 600px) {
    .contact .tit{
        font-size: 25px;
        line-height: 25px;
        padding-bottom: 10px;
    }
    .contact .tit_form{
        font-size: 25px;
        line-height: 25px;
    }
}




/* RODAPE */
.rodape{
    padding: 50px 50px 20px 50px;
    margin: auto;
    background-color: #2a2a2a;
}
.rodape .top{
    width: 100%;
}

.rodape .top .td_3{
    padding-top: 0px;
    display: inline-block;
    width: 50%;
    vertical-align: top;
}

.rodape .top .td_1{
    display: inline-block;
    width: 50%;
    padding-right: 50px;
}
.rodape .top .td_1 .txt{
    display: table;
    padding-bottom: 30px;
    margin: auto;
}
.rodape .top .td_1 .txt .img{
    width: 20px;
}
.rodape .top .td_1 .txt .content{
    display: table-cell;
    text-align: left;
    color: #f4f3f3;
    font-size: 15px;
    font-weight: 200;
    line-height: 18px;
    padding-left: 15px;
    vertical-align: top;
}
.rodape .top .td_1 .txt .content a{
    color: #f4f3f3;
    font-size: 15px;
    font-weight: 200;
    line-height: 18px;
}
.rodape .top .td_1 .txt .content a:hover{
    color: #ffffff;
}
.rodape .top .td_2{
    display: inline-block;
    width: 50%;
    vertical-align: top;
    text-align: center;
}
.rodape .top .td_2 .imagens {
  display: flex;
  gap: 10px;
}
.rodape .top .td_2 img{
    width: 30px;
    transition: opacity 0.3s ease;
}
.rodape .top .td_2 img:hover {
    opacity: 0.6;
}
.rodape .bottom{
    width: 100%;
    padding-top: 100px;
}
.rodape .bottom img{
    max-width:400px;
    margin: auto;
}  
.rodape .td_3 img{
    max-width: 250px;
}  

@media only screen and (max-width: 1000px) {
    .rodape{
        padding: 50px 20px 20px 20px;
    }
    .rodape .top .td_3{
        padding-top: 0px;
        width: 100%;
        padding-bottom: 40px;
    }
    .rodape .top .td_1{
        width: 100%;
        padding-right: 0px;
    }
    .rodape .top .td_2{
        width: 100%;
        padding-left: 0px;
        padding-top: 20px;
    }
    .rodape .top .td_1 .txt .tit{
        text-align: left;
        width: 80px;
    }
}
@media only screen and (max-width: 800px) {
    .rodape .td_3 img{
        max-width: 200px;
    }  
}





