/*  
Theme Name: DC Beauty Cosmetics
Theme URI: www.dcbeautycosmetics.com
Description: Este tema WordPress foi criado exclusivamente para <strong>DC Beauty Cosmetics</strong>, refletindo um design único e funcionalidades personalizadas para atender às necessidades específicas do projeto. A cópia total ou parcial deste tema é estritamente proibida. Todos os direitos reservados.
Author: Mustache
Version: 1.0.0
Author URI: https://mustache.com.br
*/

*{font-family: "Montserrat", sans-serif; box-sizing: border-box;} :root { --d: 700ms; --e: cubic-bezier(0.19, 1, 0.22, 1);} body{padding: 0; margin: 0; background: #000; color: #fff;} html, body, address, blockquote, div, dl, form, h1, h2, h3, h4, h5, h6, ol, p, pre, table, ul, dd, dt, li, tbody, td, tfoot, th, thead, tr, button, del, ins, map, object, a, abbr, acronym, b, bdo, big, br, cite, code, dfn, em, i, img, kbd, q, samp, small, span, strong, sub, sup, tt, var, legend, fieldset, figure {margin: 0; padding: 0; } img, fieldset{border: 0;} article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{display: block;} @media screen {img {width: auto;}} a, a:hover{text-decoration: none; outline: none;} p {margin: 0 0 20px; padding: 0;} ul, ol, li {margin: 0; padding: 0;} h1, h2, h3, h4, h5, h6 {line-height: 1.4em; margin: 20px 0 .4em;} h1 {font-size: 2em; } h2 {font-size: 2.2em; } h3 {font-size: 1.6em; } h4 {font-size: 1.4em; } h5 {font-size: 1.2em; } h6 {font-size: 1em; } html{scroll-behavior: smooth;} button, button:focus{cursor: pointer; outline: none; border:0} .grecaptcha-badge{display:none!important;} section{scroll-margin-top: 70px;}
.wppfloat {
    background: #25D366;
    font-weight: 500;
    width: 60px;
    height: 60px;
    color: #fff;
    font-size: 25px;
    text-align: center;
    border-radius: 50%;
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

/*Menu*/
#menu{
	width: 100%; 
	padding: 10px 10%; 
	height: auto; 
	top: 0; 
	right: 0; 
	left: 0; 
	z-index: 9999; 
	& .navbar{
		padding: 0;
		& .navbar-brand{
			padding: 0; 
			margin: 0;
			& img{
				max-height: 100px; 
				width: auto; 
				margin-bottom: 0px; 
				margin-right: 15px;
			}
		}
	}
	& .navbar-expand-xl .navbar-collapse{
		margin: 0px auto;
	}
	& .navbar-expand-xl .navbar-nav{
		margin: 0 0 0 auto;
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 45px;
			& .dropdown-menu {
				position: absolute; 
				background: #000; 
				font-size: .9rem; 
				margin: 0 -10px;
				&:before {
					content: ''; 
					top: -16px; 
					position: absolute; 
					left: 10%; 
					width: 0; 
					height: 0; 
					border-right: 8px solid transparent; 
					border-top: 8px solid transparent; 
					border-left: 8px solid transparent; 
					border-bottom: 8px solid #ffffff;
				}
			}
	}
	& .navbar-nav .nav-item{
		margin: 5px 0px; 
		padding: 10px 5px;
	}
	& .navbar-nav .nav-link {
		color: #fff; 
		font-size: 1.1rem; 
		font-weight: 400; 
		transition: .3s; 
		padding: 10px 0px; 
		text-transform: uppercase;
		margin: 0 0px;
		&:hover{
			color: #D9D9D9;
		}
	}
	& .navbar-nav .nav-link.contato {
		background: #D9D9D9;
		padding: 10px 40px;
		border-radius: 25px;
		color: #000;
		&:hover {
			background: #626262;
			color: #fff;
		}
	}
	&.navbar-nav li:hover .dropdown-menu {
		display: block;
	}
	& .dropdown-item:hover {
		display: block; 
		width: 100%; 
		padding: 0.25rem 1.5rem; 
		clear: both; 
		color: #D9D9D9; 
		text-align: inherit; 
		white-space: nowrap; 
		background-color: transparent; border: 0;
	}
	& .dropdown-toggle::after{
		font-weight: 900;
		font-family: "Font Awesome 5 Free";
		content: "\f078";
		color: #D9D9D9; 
		display: inline-block;
		font-size: 11px;
		width: 15px;
		height: 15px;
		margin-left: .355em; 
		vertical-align: 0.055em;
		border-top: 0em solid; 
		border-right: 0em solid transparent;
		border-bottom: 0;
		border-left: 0em solid transparent;
	}
	& .dropdown-menu li a {
		padding: 5px 15px; 
		font-weight: 300;
	} 
	& .collapse navbar-collapse{
		margin-top: 7px;
	}
}
#menu.scroll{
	position: sticky; 
	background: #000;
}

/*Topo*/
.topo{
	width: 100%;
	margin-top: -130px;
	img{
		width: 100%;
		display: block;
		height: auto;
		margin: 0;
	}
}

/*Como funciona*/
.funciona{
	padding: 80px 10%;
	background: #F5F5F5;
	h2{
		color: #626262;
		font-weight: 400;
		text-transform: uppercase;
		font-size: 2.5rem;
		line-height: 1.2;
		width: 95%;
		strong{
			font-weight: 700;
		}
	}
	.btn{
		background: #000;
		color: #fff;
		border-radius: 5px;
		padding: 15px 30px;
		text-transform: uppercase;
		transition: .5s;
		&:hover{
			background: #626262;
		}
	}
	.btn-mobile{
		background: #000;
		display: none;
		color: #fff;
		border-radius: 5px;
		padding: 15px 30px;
		text-transform: uppercase;
		transition: .5s;
		&:hover{
			background: #626262;
		}
	}	
	.project-carousel {
		position: relative;
	}
	.project-slide {
		outline: none;
	}
	.slide-media img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		aspect-ratio: 1/1;
		display: block;
	}
	.slide-content {
		position: relative;
		height: 100%;
		min-height: 360px;
		padding: 50px;
		background: #fff;
		display: grid;
		align-content: space-between;  
		border: 1px solid rgba(0, 0, 0, 1);
	}
	.slide-top {
		top: 28px;
		right: 28px;
		font-size: 18px;
		opacity: 0.7;
		text-align: right;
		color: #000;
		font-size: 1.5rem;
	}
	.slide-title {
		margin: 0 0 18px 0;
		font-weight: 500;
		letter-spacing: 0.04em;
		line-height: 1.05;
		font-size: 2rem;
		color: #000000;
	}
	.slide-subtitle {
		margin: 0;
		font-size: 1.5rem;
		line-height: 1.2;
		opacity: 0.85;
		color: #000000;
		width: 90%;
	}
	.slide-next {
		text-align: right;
		height: 56px;
		border: 0;
		background: transparent;
		display: grid;
		place-items: center;
		font-size: 34px;
		cursor: pointer;
		margin: 0 0 0 auto;  
		transition: .3s;
		&:hover{
			color: #626262;
		}
	}
}

/*Diferenciais*/
.diferenciais{
	padding: 80px 0 0;
	h2{
		color: #fff;
		font-weight: 400;
		text-transform: uppercase;
		font-size: 2.5rem;
		line-height: 1.2;
		width: 100%;
		margin: 0 auto 20px;
		padding: 0 30px;
		text-align: center;
		strong{
			font-weight: 700;
		}
	}	
	p{
		max-width: 100%;
		width: 350px;
		text-align: center;
		color: #fff;
		font-size: 1.3rem;
		line-height: 1.5;
		margin:  0 auto 50px;
	}
	ul{
		display: flex;
		flex-direction: row;
		width: 100%;
		li{
            width: 20%;
            border-right: solid 5px #000;
            background: #D9D9D9;
            padding: 50px;
            color: #000;
            font-size: 1.4rem;
            line-height: 1.2;
            list-style: none;
            display: inline;
            align-items: center;
            align-content: center;
			transition: .3s;
			&:hover{
				background-color: #c0c0c0;
			}
			&:last-of-type{
				border-right: 0;
			}
		}
		
	}
}

/*Soluções*/
.solucoes{
	padding: 80px 0 0;
	.top{
		padding: 0px 15% 40px;
			h2{
			color: #fff;
			font-weight: 400;
			text-transform: uppercase;
			font-size: 2.5rem;
			line-height: 1.2;
			margin: 0;
			width: 90%;
			strong{
				font-weight: 700;
			}
		}			
	}
	ul{
		li.nav-item {
			width: 50%;
			background: #fff;
			color: #000;
			text-align: center;

			text-transform: uppercase;
			& .nav-link{
			padding: 15px 30px;		
			border-radius: 0;		
			color: #000;
			i{
				transition: transform .3s;
			}
			}
			& .nav-link.active{
			background: #626262;
			color: #fff;
			i{
				transform: rotate(90deg);
			}
			}			

		}
	}
	.produtos{
	ul{
		display: flex;
		flex-direction: row;
		width: 100%;
		li{
            width: 25%;
            border-right: solid 8px #000;
            background: #626262;
            color: #fff;
            font-size: 1.4rem;
            line-height: 1.2;
            list-style: none;
            display: inline;
            align-items: center;
            align-content: center;
			transition: .3s;
			&:hover{
				background: #4d4d4d;
			}
			&:last-of-type{
				border-right: 0;
			}
			img{
				width: 100%;
			}
			& h4{
				text-transform: uppercase;
				margin: 30px;
				font-size: 1.2rem;
				line-height: 1;
				text-align: center;
			}
		}
		
	}		

	}
	
}

/*Formulário*/
.contato {
	padding: 80px 0;
	.head{
		text-align: center;
		margin:  0 auto 60px;
		h2{
			color: #fff;
			font-weight: 400;
			text-transform: uppercase;
			font-size: 2.5rem;
			line-height: 1.2;
			width: 100%;
			strong{
				font-weight: 700;
				display: block;
			}
		}		
		p{
			max-width: 100%;
			width: 350px;
			text-align: center;
			color: #fff;
			font-size: 1.3rem;
			line-height: 1.5;
			margin:  0 auto 50px;
		}		
		}
	img{
		width: 100%;
	}
	.formulario {
	  width: 100%;
	  padding: 50px 18%;
	  margin: 0 auto ;
	  p{
		margin: 0;
	  }
	  input, select {
		padding: 15px;
		outline: 0;
		margin: 5px 0;
		width: 100%;
		border: 0;
		border-radius: 10px;
		transition: .3s;
		&:focus {
		  border-color: #D9D9D9;
		}
	  }
	  label{
		text-transform: uppercase;
		margin-bottom: 0;
	  }
	  button[type="submit"] {
		background: #626262!important;
		color: #fff;
		padding: 18px 30px;
		text-transform: uppercase;
		font-weight: 700;
		border-radius: 10px;
		margin-top: 10px;
		font-size: 1.1rem;
		border: 0;
		outline: 0;
		width: max-content;
		transition: .3s;
  
		&:hover {
		  background: #D9D9D9!important;
		  color: #626262;
		}
	  }
      .fluentform .ff-el-group {
		 margin-bottom: 10px;
	  }	  
	}
}

/*Rodape*/
.rodape {
	background: url(images/rodape.png);
	background-size: cover;
	padding: 70px 20% 40px;
	color: #fff;
  
	img.logo {
	  margin: 0 auto 30px 0;
	  display: block;
	  height: 170px;
	  width: max-content;
	}
  
	.redes {
	  width: max-content;
	  max-width: 100%;
	  display: flex;
	  gap: 10px;
	  justify-content: center;
	  align-items: center;
	  margin: 20px 0 20px auto;
  
	  .item {
		color: #fff;
		border: solid 1px #fff;
		background: transparent;
		width: 50px;
		height: 50px;
		border-radius: 50%;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 1.5rem;
		transition: .3s;
		line-height: 1rem;
  
		&:hover {
		  color: #000;
		  background: #D9D9D9;
		}
	  }
	}
  
	a.telefone {
	  display: block;
	  color: #fff;
	  margin: 0 0 20px;
	  transition: .3s;
	  font-weight: 300;
	  font-size: 1.3rem;
	  line-height: 1.5;
	   text-align: center;
	  i {
		width: 15px;
		margin-right: 15px;
		transition: .3s;
		font-size: 1.5rem;
		color: #fff;
	  }
  
	}
  
	p.endereco {
	  font-size: 1.3rem;
	  color: #fff;
	  line-height: 1.5;
	  font-weight: 300;
	  text-align: center;
  
	  i {
		width: 15px;
		margin-right: 15px;
		transition: .3s;
		font-size: 1.5rem;
		color: #fff;
	  }
	}
}
  
.copy {
width: 100%;
color: #fff;
font-size: .95rem;
margin-top: 40px;

	& .direitos a {
		color: #fff;
		margin: 0 0 0 5px;
		border-bottom: solid 1px #2387f1;
	}

	& img {
		width: 40px;
		margin: 0 0 0 auto;
		display: block;
		filter: brightness(100);
	}
}

/*404*/
.naoencontrado{ 
	color: #000; 
	padding: 200px 10%; 
	margin-bottom: 0px;
	&  h1{
		font-weight: 700; 
		font-size: 3rem; 
		margin-bottom: 15px; 
		color: #00759C;
	}
	& p{
		max-width: 90%; 
		font-size: 1.4rem; 
		line-height: 2.4rem; 
		font-weight: 400;
	}
	& a{
		color: #00759C; 
		transition: .3s
		&:hover{
			color: #00AEDA
		}
	}
}

/*Topo da página*/
.topo-pagina{
	background: #00759C;
	color: #fff; 
	padding: 120px 10%; 
	text-align: left; 
	margin-bottom: 0px;
	& h1{
		font-weight: 600; 
		font-size: clamp(1.6rem,3rem, 5rem); 
		margin: 0;
	}
}

/*Página*/
.page {
	padding: 80px 10%;
	color: #000;
	text-align: justify;
	line-height: 1.6;
	font-size: 1.1rem;

	h1, h2, h3, h4, h5, h6 {
		width: 100%;
		margin: 20px auto 10px;
		color: #00759C;
		font-weight: 600;
		line-height: 1.2;
	}
  
	& th, td {
	  text-align: left;
	  border: 1px solid #e8e9eb;
	  line-height: 140%;
	  padding: 10px 14px;
	}
  
	& a {
	  color: #00759C;
	}
  
	& label {
	  width: 100%;
	  text-align: left;
	}
  
	& select {
	  text-transform: none;
	  width: 100%;
	  background: #f7f7f7;
	  border: 0;
	  padding: 10px 10px;
	  color: #00759C;
  
	  &:focus {
		outline: none;
		border: solid 1px #00759C;
	  }
	}
  
	& input {
	  width: 100%;
	  background: #f7f7f7;
	  color: #00759C;
	  padding: 10px 15px;
	  border: solid 1px #00759C;
	  border-radius: 3px;
  
	  &:focus {
		outline: none;
		border: solid 1px #00759C;
	  }
  
	  &[type="submit"] {
		background: #00759C;
		color: #00759C;
		padding: 10px 35px;
		width: auto;
		border: solid 1px #00759C;
		border-radius: 3px;
		transition: .3s;
  
		&:hover {
		  background: #00AEDA;
		  border-color: #00AEDA;
		  color: #fff;
		}
	  }
	}
  
	& textarea {
	  width: 100%;
	  height: 150px;
	  background: #f7f7f7;
	  color: #00759C;
	  padding: 10px 15px;
	  border: solid 1px #f7f7f7;
	  border-radius: 3px;
  
	  &:focus {
		outline: none;
		border: solid 1px #00759C;
	  }
	}
  
	& ul, ol {
	  list-style-position: inside;
	  list-style: none;
	}
  
	& b, strong {
	  color: #00759C;
	}
}

@keyframes slideInUp {
    0% {
        transform: translateY(20px);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@media screen and (max-width: 1500px) {
	#menu{
		padding: 12px 5%;
		& .navbar-expand-xl .navbar-nav {
			gap: 35px;
		}
		& .navbar-nav .nav-link{
		    font-size: 1rem;
		}
		& .navbar-nav .nav-link.contato {
			padding: 10px 35px;
		}
		& .navbar {
			& .navbar-brand {
				& img {
					max-height: 100px;
				}
			}
		}
	}
	.funciona {
		padding: 80px 5%;
		h2{
			font-size: 2rem;
		}
		.btn {
        	font-size: .9rem;
		}
		.slide-content{
			padding: 40px;
			margin-right: 1px;
		}
		.slide-top{
			font-size: 1.3rem;
		}
		.slide-title{
		    font-size: 1.6rem;	
			margin: 0 0 10px 0;
		}
		.slide-subtitle{
			font-size: 1.1rem;
			width: 100%;
			line-height: 1.3;			
		}
	}	
	.diferenciais {
		& ul {
			li {
				padding: 35px;
				font-size: 1.2rem;
			}
		}
	}
	.solucoes {
		.top {
			padding: 0px 10% 40px;
			h2 {
				font-size: 2rem;	
			}
		}
	}	
	.contato {
		.head {
			margin: 0 auto 30px;
		}
		.formulario {
			padding: 0 10%;
			margin: 0 auto;
			.fluentform .ff-el-input--label{
				margin-bottom: 0;
			}
			label {
				font-size: .9rem;
			}
		}		
	}	
	.topo-agina{
		padding: 100px 5%;
	}
	.rodape {
		padding: 70px 15%;
		p.endereco, a.telefone {
			font-size: 1rem;
		}
	}
}

@media screen and (max-width: 1024px) {
	#menu {
		background: #000;
		position: sticky;
		top: 0;
		padding: 25px 5%;
		& .navbar-toggler-icon{
			height: auto; 
			width: auto;
		}
		& .navbar-toggler {
			padding: 0; 
			outline: none; 
			font-size: 2.2rem; 
			color: #fff; 
			line-height: 1; 
			background-color: transparent; 
			border: 0px solid transparent; 
			height: auto;
		}
		& .navbar-expand-xl .navbar-collapse { 
			margin: 15px auto 0px;
			padding: 0 0 30px;
		}
		& .navbar-nav .nav-link{
			padding: 5px 0px; 
			margin: 0;
		}
		& .navbar-nav {
			margin: 0px 0px!important; 
			width: 100%;
			& li:hover .dropdown-menu {
				display: block; 
				border: 0; 
				margin: 7px 0px 0px;
			}
			& .nav-item {
				margin: 0px 0px; 
				padding: 10px 0px;
			}

		}
		& .navbar-expand-xl .navbar-nav .dropdown-menu{
			position: relative;
			&:before{
				left: 5%
			}
		}
		& .navbar-collapse .navbar-nav{
			margin: 0px!important;
			flex-direction: column;
				& .nav-link{
					text-align: left;
				}
		}
	}
	.funciona{
        h2 {
            margin-bottom: 1.5rem;
        }		
		.btn{
			display: none;
		}
		.btn-mobile{
			display: inline-block;
			margin-top: 30px;
		}
	}
    .solucoes {
        & .top {
            h2 {
                margin-bottom: 1.5rem;
            }
        }
    }	
	.rodape{
		& img.logo { 
			margin: 0 auto 20px;
		}
	}
}

@media screen and (max-width: 780px) {
	.topo{
		margin-top: 0;
	}
    .funciona {
        padding: 60px;
    }
	.diferenciais {
		padding: 60px 0 0;
		& ul{
			flex-direction: column;
			li{
				width: 100%;
				border-right: 0;
				border-bottom: solid 5px #000;
				text-align: center;
			}
		}
	}	
	.solucoes {
		padding: 60px 0 0;
        .top {
            padding: 0px 60px 40px;
        }	
		& .produtos {
			padding: 15px;
			ul {
				flex-direction: row;
				flex-wrap: wrap;
				justify-content: space-between;
				gap: 25px 15px;
				li{
					width: calc(50% - 10px);
					border-right: 0;
				}
			}
		}			
	}	
	.contato {
		padding: 60px 0 0;
		& .head{
			h2{
				padding: 0 30px;
			}
		}
        .formulario {
            padding: 0 60px 60px;
		}		
	}		
	.page { 
		padding: 60px 5%;
	}
	.rodape {
        & img.logo {
            margin: 0 auto 20px;
        }
		.redes {
			margin: 20px auto;
		}
    }
}

@media screen and (max-width: 480px) {
	#menu {
		padding: 15px 30px;
        & .navbar {
            & .navbar-brand {
                & img {
                    max-height: 80px;
                }
            }
        }
	}
    .funciona {
        padding: 40px 30px;
        h2 {
            font-size: 1.6rem;
        }		
        .slide-content {
            padding: 30px;
            margin-right: 0;
        }
		.btn-mobile{
			text-align: center;
		}		
    }	
    .diferenciais {
        padding: 40px 0 0;
		h2{
			font-size: 2rem;
        	margin: 0 auto 10px			
		}
		p{
			width: 100%;
			padding: 0 20px;
			font-size: 1.2rem;
		}
    }
    .solucoes {
        padding: 40px 0 0;
        .top {
            padding: 0px 30px 30px;
            h2 {
                font-size: 1.8rem;
            }			
        }
		& ul {
			& li.nav-item {
				& .nav-link {
					padding: 15px;
				}
			}
		}		
        & .produtos {
		padding: 0 30px 0;			
            & ul {
                li {
                    width: 100%;
                    border-right: 0;
                }
            }
        }				
    }		
    .contato {
        padding: 40px 0 0;
        & .head {
            h2 {
                font-size: 2rem;
			}
			p {
				width: 100%;
				padding: 0 30px;
				font-size: 1.1rem;			
			}	
		}	
	    .formulario {
            padding: 0 30px 40px;
			button[type="submit"] {
				padding: 20px 15px;
				font-size: .85rem;
				width: 100%;
			}			
        }		
    }	
	.copy{
		text-align: center;
		margin-top: 20px;
		& img{
			margin: 20px auto 0;
		}
	}
	.page{
		padding: 40px 30px; 
		text-align: left;
	}
	.topo-pagina{padding: 50px 30px;
		& h1 {
			font-size: 1.8rem;
		}
	}
	.rodape{
		padding: 60px 30px;
		& img.logo{
			max-width: 100%;
			width: auto;
			height: 85px;
		}
	}
}
