/* FONTE ROBOTO DO GOOGLE */ @import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap'); /*ESTILO GENÉRICO/GLOBAL*/ /*PSEUDO CLASSE COM AS VARIÁVEIS DOS PADRÕES DE CORES*/ :root{ --main-color: #f82318;/*COR PRINCIPAL*/ --bg: #13131a; /*COR DE FUNDO */ --bg-card: #0c0c14; /*COR DE FUNDO DO CARD*/ --cor-border: 0.1rem solid rgba(247, 243, 243, 0.3);/*COR E ESTILO DA BORDA*/ } /*PADRÃO DE TODO O SITE, INCLUINDO ZERAR ALGUMAS PROPRIEDADES PARA QUE POSSAMOS TER CONTROLE*/ *{ font-family: 'Roboto', sans-serif; margin: 0; padding: 0; /*O box-sizing com o valor border-box faz com que o navegador não calcule a dimensão de um elemento somando bordas e margens com altura e largura.*/ box-sizing: border-box; outline: none; /*CONTORNO*/ border: none; text-decoration: none; text-transform: capitalize; transition: 0.2s linear; } /*DEFINIÇÃO PADRÃO DE TODOS OS ELEMENTOS DO SITE*/ html{ font-size: 62.5%; overflow-x: hidden; /*OCULTAR QUALQUER CONTEÚDO, QUE ESTEJA NA HORIZONTAL, QUE ULTRAPASSE A ÁREA VISÍVEL DO MEU ELEMENTO */ scroll-padding-top: 9rem; /* ADICIONA UM ESPAÇO EXTRA NO TOPO DA ÁREA VISÍVEL QUANDO ROLAR PARA ALGUM ALVO, POR EXEMPLO: QUANDO CLICAR EM UM LINK DE ÂNCORA QUEREMOS QUE ELE SUBA DEIXANDO ESSE ESPAÇAMENTO DE 9rem */ scroll-behavior: smooth;/* COMPORTAMENTO SUAVE NA ROLAGEM DA PÁGINA QUANDO UM LINK INTERNO É CLICADO */ } /*CONFIGURAÇÃO DA BARRA DE ROLAGEM*/ /* PARA CONFIGURAR A BARRA DE ROLAGEM, UTILIZAREMOS ALGUNS PSEUDOS SELETORES*/ /*DEFINIÇÃO DA LARGURA DA BARRA DE ROLAGEM */ html::-webkit-scrollbar{ width: 0.8rem; } /*ADIÇÃO DA TRANSPARÊNCIA NA BARRA DE ROLAGEM*/ html::-webkit-scrollbar-track{ background: transparent; } /*APARÊNCIA DA BARRA DE ROLAGEM*/ html::-webkit-scrollbar-thumb{ background: #fff; border-radius: 5rem; } /*PADRÃO DE TODOS OS ELEMENTOS DA BODY*/ /*UTILIZANDO A VARIÁVEL CRIADA NO ROOT*/ body{ background: var(--bg);/*COR PADRÃO DE FUNDO*/ } /*PADRÃO PARA CADA SEÇÃO*/ section{ padding: 2rem 7%; } /*ESTILIZANDO AS CLASSES DOS TÍTULOS H1*/ .title{ text-align: center; color: #fff; text-transform: uppercase;/*TUDO EM MAIÚSCULO*/ padding-bottom: 3.5rem; font-size: 4rem; } /*ESTILIZANDO CONTEÚDO DO SPAN QUE ESTIVER DENTRO DA CLASSE TITLE*/ .title span{ color: var(--main-color); text-transform: uppercase; } /*ESTILO DOS BOTÕES*/ .btn{ margin-top: 1rem; color: #fff; display: inline-block; font-size: 1.7rem; background: var(--main-color); padding: 0.9rem 3rem; cursor: pointer; border-radius: 2rem; } /*AO PASSAR O MOUSE EM CIMA*/ .btn:hover{ letter-spacing: 0.2rem; } /*FIM DAS ESTILIZAÇÕES GENERICAS/GLOBAIS*/ /* INICIO DA ESTILIZAÇÃO DO HEADER/CABEÇALHO */ .header{ background: var(--bg); display: flex; align-items: center; justify-content: space-between; padding: 1.5rem 7%; border-bottom: var(--cor-border); position: fixed; top: 0; left: 0; right: 0; /*DEFINIÇÃO DA ORDEM PADRÃO DAS CAMADAS DO HTML*/ z-index: 1000; } #menu-btn{ display: none; } .header .logo img{ height: 6.5rem; border-radius: 100%; } .header .navbar a{ margin: 0 1rem; font-size: 1.6rem; color: #fff; } .header .navbar a:hover{ color: var(--main-color); border-bottom: 0.1rem solid var(--main-color); padding-bottom: 0.5rem; } .header .icons{ display: flex; align-items: center; } .header .icons ion-icon{ color: #fff; cursor: pointer; font-size: 2.5rem; padding: 1.5rem; } /*1ª SEÇÃO: HOME*/ .home{ position: relative; min-height: 85vh; display: flex; align-items: center; background: url(images/home.jpg) no-repeat; background-size: cover; background-position: center; border-bottom: var(--cor-border); } .home::before{ content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); z-index: 1; } .home .content{ max-width: 60rem; position: relative; /*UTILIZADO PARA ORGANIZAR OS ELEMENTOS DENTRO DO CONTAINER/CAIXA/DIV. A PROPRIEDADE Z-INDEX, PARA QUE SE TENHA UM MELHOR APROVEITAMENTO DA PROPRIEDADE, DEVEMOS TER TAMBÉM A PROPRIEDADE POSITION COM UM DOS VALORES: relative, absolute, fixed ou */ z-index: 2; } .home .content h3{ color: #fff; font-size: 6rem; text-transform: uppercase;/*MAIÚSCULO*/ } .home .content p{ color: #fff; font-size: 2rem; line-height: 1.8; /*ESPAÇAMENTO ENTRE LINHAS*/ font-weight: lighter;/*FONTE MAIS CLARA*/ padding: 1rem 0; } /*2ª SEÇÃO: ABOUT/SOBRE*/ .about .row{ display: flex; align-items: center; background: var(--bg-card); /*QUANDO ALGUM DOS ITENS ULTRAPASSA A ÁREA VISÍVEL, OCORRE UMA QUEBRA DE LINHA, DESDE QUE TENHAMOS UM DISPLAY FLEX*/ flex-wrap: wrap; border: var(--cor-border); } .about .row .image{ /*A IMAGEM GANHA DIMENSÕES DENTRO DO CONTAINER/CAIXA - 1º VALOR "1" = ROW: TAMANHO QUE CRESCE CONFORME O TAMANHO DA JANELA DO NAVEGADOR E O 2º VALOR "1" STRING: TAMANHO DA IMAGEM QUANDO ELA REDUZ E 45REM É A BASE TOTAL DA DIMENSÃO DO ESPAÇO OCUPADO PELA IMAGEM*/ flex: 1 1 45rem; } .about .row .image img{ width: 100%; } .about .row .content{ flex: 1 1 45rem; padding: 2rem; } .about .row .content h3{ color: #fff; font-size: 3rem; } .about .row .content p{ color: #ccc; font-size: 1.5rem; line-height: 1.8;/*ESPAÇAMENTO ENTRE LINHAS*/ padding: 1rem 0; } /*3ª SEÇÃO: MENU/CARDÁPIO*/ .menu .container-menu{ display: grid; /*DEFINIÇÃO DE LINHAS E COLUNAS. O AUTO-FIT: CRIA AUTOMÁTICAMENTE AS COLUNAS QUE CABERÃO DENTRO DO CONTAINER. DEFINIDO EM UM TAMANHO MÁXIMO DE 30REN E UM MÍNIMO DE 1 FRAÇÃO*/ grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr)); gap: 1.5rem;/*define os espaços (gutters) entre as linhas e colunas*/ } .menu .container-menu .box{ padding: 5rem; text-align: center; border: var(--cor-border); background-color: var(--bg-card); } .menu .container-menu .box img{ height: 18rem; border-radius: 100%; } .menu .container-menu .box h3{ color: #fff; font-size: 2rem; padding: 1rem 0; } .menu .container-menu .box .price{ color: #fff; font-size: 2.5rem; padding: 0.5rem 0; } .menu .container-menu .box .price span{ font-size: 1.5rem; text-decoration: line-through;/*TACHADO*/ font-weight: lighter;/*NEGRITO LEVE - COR SUAVE*/ } .menu .container-menu .box:hover { background: #fff; } /*UTILIZANDO OUTRO PSEUDO CLASSE QUE TODO (*) O ELEMENTO FILHO (>) QUE ESTIVER DENTRO DA CLASSE BOX*/ .menu .container-menu .box:hover > * { color: black; } /*4ª SEÇÃO: PRODUCTS/PROMOÇÕES*/ .products .container-products { display: grid; grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr)); gap: 1.5rem;/*define os espaços (gutters) entre as linhas e colunas*/ } .products .container-products .box{ text-align: center; border: var(--cor-border); padding: 2rem; } .products .container-products .box .icons a ion-icon{ color: #fff; font-size: 1.7rem; height: 3rem; width: 3rem; line-height: 3rem; margin: 0.3rem; border: var(--cor-border); } .products .container-products .box .icons a ion-icon:hover{ background: var(--main-color); } .products .container-products .box .image{ padding: 2.5rem 0; } .products .container-products .box .image img{ height: 25rem; } .products .container-products .box .content h3{ color: #fff; font-size: 2.5rem; } .products .container-products .box .content .star{ padding: 1.5rem; } .products .container-products .box .content .star i{ color: var(--main-color); font-size: 1.9rem; } .products .container-products .box .content .price{ color: #fff; font-size: 2.5rem; padding: 0.5rem 0; } .products .container-products .box .content .price span{ font-size: 1.5rem; text-transform: lowercase; font-weight: lighter;/*NEGRITO LEVE - COR SUAVE*/ } /*5ª SEÇÃO: REVIEW/AVALIAÇÕES*/ .review .container-review { display: grid; grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr)); gap: 1.5rem;/*define os espaços (gutters) entre as linhas e colunas*/ } .review .container-review .box{ color: #fff; border: var(--cor-border); line-height: 1.8rem; text-align: center; padding: 3rem 2rem; } .review .container-review .box p{ font-size: 1.7rem; line-height: 1.8; padding: 2rem 0; } .review .container-review .box .user{ height: 10rem; width: 10rem; border-radius: 100%; object-fit: cover;/*USADO PARA ESPECIFICAR COMO O OBJETO/IMAGEM IRÁ SER REDIMENSIONADO*/ } .review .container-review .box h3{ padding: 1rem 0; font-size: 2.2rem; } .review .container-review .box .star{ font-size: 1.7rem; color: var(--main-color); } /*FOOTER/RODAPÉ*/ .footer{ color: #fff; text-align: center; text-transform: uppercase; margin-bottom: 1.5rem; padding: 4rem 0; } .footer .container{ display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0 7%; } .footer .footer-col{ flex: 1 1 25rem; margin: 1rem; } .footer .footer-col h4{ text-transform: uppercase; font-size: 2rem; } .footer .footer-col h4 span{ color: var(--main-color); text-transform: uppercase; } .footer .container .footer-col ul{ list-style: none; padding-top: 0.7rem; } .footer .container .footer-col ul li{ margin-bottom: 1rem; } .footer .container .footer-col ul li a{ color: #ccc; text-decoration: none; font-size: 1.6rem; transition: color 0.3s; } .footer .container .footer-col ul li a:hover{ color: var(--main-color); } .footer .container .footer-col .link-social{ display: flex; gap: 1rem; justify-content: center; margin-top: 1.5rem; } .footer .container .footer-col .link-social a{ color: #ccc; font-size: 3rem; transition: color 0.3s; } .footer .container .footer-col .link-social a:hover{ color: var(--main-color); } .footer .footer-bottom{ padding: 1rem 0; font-size: 1.6rem; border-top: var(--cor-border); margin-top: 2rem; color: #ccc; } /* MÉDIA QUERIES - RESPONSIVIDADE */ /* SÍNTAXE: @media (condição) { Estilos que serão aplicados se a condição for verdadeira } */ @media(max-width: 991px){ html{ font-size: 55%; } .header{ padding: 1.5rem 2rem; } section{ padding: 2rem; } } /*ESTILIZAÇÃO PARA CELULARES */ @media(max-width: 768px){ #menu-btn{ display: inline-block; } .header .navbar{ position: absolute; top: 100%; right: -100%; background: #fff; width: 30rem; height: calc(100vh - 9.5rem); } .header .navbar a{ color: var(--bg-card); display: block; margin: 1.5rem; padding: 0.5rem; font-size: 2rem; } .home{ background-position: left; justify-content: center; text-align: center; } .home .content h3{ font-size: 4.5rem; } .home .content p{ font-size: 1.5rem; } }