Topo - Modelo 05

Modelo 05 para o topo da loja virtual.

#HTML
{% set paginasTopo = store.dynamicPages() %}
{% set televendas = store.getTextTop() %}
{% set usuario = store.userStore() %}
{% set categorias = store.categories() %}
{% set categorias_menu = store.categoriesMenu() %}
<header class="block">
	<component data-modulo="ofertasperiodicas" loading="false" data-paddingtop="true" data-hidescroll="true"></component>
   	<div id="linha-topo" class="block">
		<div class="central">
			<div class="pull-left">
				<div class="links-line">
					<a href="./">Home</a>
					<a href="sobre/">Sobre nós</a>
				{% for page in paginasTopo %}
					{{ page|raw }}
				{% endfor %}
					<a href="fale-conosco/">Fale conosco</a>
				</div>
			</div>
			<div class="pull-right">
			{% if televendas %}
				<div class="links-line">
					<a href="fale-conosco/">{{ televendas }}</a>
				</div>
			{% endif %}
			</div>
		</div>
	</div>
    <div class="central">
		<div class="mobile-inc"></div>
		<div class="row mb-0 px-3">
			<div class="col-12 px-0 d-flex align-items-center justify-content-between">
				<span class="openmenu">
					<i class="fa fa-bars"></i>
					<span class="t">MENU</span>
				</span>
				
				<h1><a href="./" id="btLogo" style="background-image:url({{ store.getLogo() }});">{{ seo.title }}</a></h1>
				
				<div class="links">
					<nav>
						<ul>
						{% if categorias|length > 3 and global.show_menu_todaloja %}
							<li>
								<a href="" onClick="return false;">
								{% if store.showMenuIcons() == '2' %}
									<i class="fa fa-th"></i>
								{% endif %}
									<strong>Toda a loja</strong>
									<span class="fa fa-angle-down"></span>
								</a>
							
								{% if categorias|length > 1 %}
								<div class="drop">
									<div class="central">
										<div class="grid">
										{% for categoria in categorias %}
											<ul class="list">
												<li class="t"><a href="{{ categoria.url }}/"{{ categoria.cor != '' ? ' style=color:' ~ categoria.cor : '' }}>{{ categoria.nome }}</a></li>
											{% for level2 in categoria.subs %}
												<li><a href="{{ level2.url }}/"><i class="fa fa-caret-right muted"></i> {{ level2.nome }}</a></li>
												{% for level3 in level2.subs %}
													<li class="indent"><a href="{{ level3.url }}/">- {{ level3.nome }}</a></li>
												{% endfor %}
											{% endfor %}
											</ul>
										{% endfor %}
										</div>
									</div>
								</div>
								{% endif %}
							</li>
						{% endif %}
						
						{% for cat in categorias_menu|slice(0,12) %}
							<li>
								<a href="{{ cat.url }}/">
									{{ cat.icone_categoria|raw }}
									<span{{ cat.cor != '' ? ' style=color:' ~ cat.cor : '' }}>{{ cat.nome }}</span>
									{% if cat.subs|length >= 1 %}
										<span class="fa fa-angle-down"></span>
									{% endif %}
								</a>
								{% if cat.subs|length >= 1 %}
									<div class="drop{{ cat.banner != '' ? ' subs' : '' }}">
										<div class="central">
											<div class="grid">
											{% for level2 in cat.subs %}
												<ul class="list">
													<li class="t"><a href="{{ level2.url }}/">{{ level2.nome }}</a></li>
													{% for level3 in level2.subs %}
														<li><a href="{{ level3.url }}/"><i class="fa fa-caret-right muted"></i> {{ level3.nome }}</a></li>
													{% endfor %}
												</ul>
											{% endfor %}
											</div>
											{% if cat.banner != '' %}
												<div class="bnr">
													{{ cat.banner|raw }}
												</div>
											{% endif %}
										</div>
									</div>
								{% endif %}
							</li>
						{% endfor %}
						</ul>
					</nav>
				</div>
				
				<div class="pull-right">
					<div class="search">
						<form action="busca/" method="get">
							<input type="text" class="form-control" name="q" aria-label="Buscar" data-url="produtos_autocomplete.php" placeholder="Buscar">
							<button type="submit" aria-label="Pesquisar"><i class="fa fa-search"></i></button>
						</form>
						<span class="cover"></span>
						<span class="rm">&times;</span>
						<span class="cover-all"></span>
					</div>
					
					{% if not global.var_mostruario %}
						<div class="dropdown">
							<p><i class="fa fa-user-o"></i> Meus pedidos</p>
							<div class="list">
							{% if not usuario.logged %}
								<a href="login/">Entrar</a>
							{% else %}
								<a href="central/pedidos/">Central de pedidos</a>
								<a href="central/dados/">Meus dados</a>
								<a href="#" id="b-desconectar" class="text-error">Desconectar</a>
							{% endif %}
							</div>
						</div>
						<div class="shopcart"></div>
					{% elseif global.var_mostruario and not global.var_bloquear_cadastros %}
						<div class="dropdown">
							<p><i class="fa fa-user-o"></i> Central de informações</p>
							<div class="list">
							{% if not usuario.logged %}
								<a href="login/">Entrar</a>
								<a href="#" class="mymodal" data-include="inc.php?meio=inc_cadastro" data-width="500" title="Efetuar cadastro">Cadastrar</a>
							{% else %}
								<a href="central/dados/">Meus dados</a>
								<a href="#" id="b-desconectar" class="text-error">Desconectar</a>
							{% endif %}
							</div>
						</div>
					{% endif %}
				</div>
			</div>
		</div>
    </div>
</header>
<script defer>
$(function(){
	$(window).scroll(function(){
		var scr = $(this).scrollTop(),
			w = $(this).width();
		if(scr >= 30 && w > 800)
			!$('header').hasClass('scroll') ? $('header').addClass('scroll') : '';
		else
			$('header').hasClass('scroll') ? $('header').removeClass('scroll') : '';
	});
	
	{% if not global.var_mostruario %}
	$('.shopcart').load('inc.php?meio=shop_inc');
	{% endif %}
	$('.mobile-inc').load('inc.php?meio=menu_mobile');
});
</script>
// CSS
body{
	padding-top: 100px;
}
#btLogo{
	width: 140px;
	height: 50px;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	overflow: hidden;
	margin: 10px 15px 10px 10px;
	float: left;
	color: transparent;
}
header{
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 999;
	background-color: #000;
	color: #FFF;
	
	.links{
		float: left;
		max-width: 640px;
		height: 70px;
		white-space: nowrap;
		
		ul{
			list-style: none;
			
			> li{
				display: inline-block;
				
				> a{
					float: left;
					font-size: 14px;
					line-height: 68px;
					padding: 0 10px;
					color: #FFF;
					border-bottom: solid 2px #000;
					transition: all .01s ease;
					
					i.fa{
						margin-right: 5px;
						font-size: 20px;
						vertical-align: middle;
					}
					
					img{
						margin-right: 5px;
						max-height: 20px;
						vertical-align: middle;
					}
				}
				
				&:hover{
					> a{
						border-bottom: solid 2px #F60;
					}
					
					.drop{
						visibility: visible;
						opacity: 1;
						transition: all .25s ease;
					}
				}
			}
		}
	}
	
	.search{
		width: 190px;
		float: left;
		margin: 15px 10px;
		position: relative;
		.cover-all{
			width: 100%;
			height: 100%;
			position: fixed;
			left: 0;
			background-color: rgba(255,255,255,0.7);
			top: 0;
			z-index: 1;
			visibility: hidden;
		}
		.bt-mobile{
			color: #FFF;
		}
		form{
			position: initial !important;
		}
		input{
			width: calc(100% - 40px);
			float: left;
			background-color: #333;
			color: #FFF;
			padding: 0 15px;
			line-height: 40px;
			height: 40px;
			border: 0;
			border-bottom: solid 1px rgba(0,0,0,0);
			box-shadow: none !important;
			&:focus{
				border-color: initial;
			}
		}
		button{
			width: 40px;
			height: 40px;
			float: left;
			background-color: #F60;
			color: #FFF;
			font-size: 20px;
			&:active{
				opacity: 0.7;
			}
		}
		.cover{
			visibility: hidden;
			position: absolute;
			left: 0;
			top: 0;
			z-index: 3;
			width: 100%;
			height: 100%;
			&.close{
				visibility: hidden;
				opacity: 0;
			}
		}
		.rm{
			visibility: hidden;
			position: absolute;
			left: 100%;
			top: 0;
			z-index: 3;
			width: 100%;
			height: 100%;
			background-color: #444;
			line-height: 40px;
			width: 40px;
			color: #FFF;
			text-align: center;
			font-size: 20px;
		}
		.boxquery{
			width: 400px;
			left: auto;
			right: 0;
			color: #000;
			.foto{
				width: 50px;
				height: 50px;
				float: left;
				background-color: #EEE;
				margin-right: 10px;
				position: relative;
				overflow: hidden;
			}
			.det{
				width: calc(100% - 60px);
				float: left;
				h3{
					font-size: 16px;
					line-height: 18px;
					margin-bottom: 5px;
				}
				p{
					font-size: 14px;
					line-height: 16px;
					color: #F60;
				}
			}
		}
	}
	
	.dropdown{
		float: left;
		line-height: 70px;
		margin: 0 10px;
		position: relative;
		p{
			cursor: pointer;
		}
		.list{
			visibility: hidden;
			opacity: 0;
			width: 150px;
			position: absolute;
			top: 100%;
			right: 0;
			z-index: 2;
			background-color: #FFF;
			border: solid 1px #000;
			transition: all .25s ease;
			a{
				width: 100%;
				float: left;
				line-height: 35px;
				color: #444;
				border-top: solid 1px #EEE;
				padding: 0 15px;
				transition: all .25s ease;
				&:first-child{
					border-top: 0;
				}
				&:hover{
					background-color: #EEE;
				}
			}
		}
		&:hover{
			.list{
				visibility: visible;
				opacity: 1;
			}
		}
	}
	
	.shopcart{
		float: left;
		border-left: solid 1px #444;
		padding-left: 10px;
		margin: 10px 0;
	}
	
	.cart{
		width: 30px;
		float: left;
		position: relative;
		&:not(.zero){
			cursor: pointer;
		}
		i{
			font-size: 20px;
			line-height: 50px;
		}
		.sup{
			position: absolute;
			top: 0;
			right: 0;
			width: 20px;
			height: 20px;
			line-height: 20px;
			background-color: #F60;
			color: #FFF;
			border-radius: 100%;
			text-align: center;
		}
	}
	
	&.scroll{
		box-shadow: 0 2px 2px #DDD;
		#linha-topo{
			margin-top: -30px;
		}
	}
}
.drop{
	position: absolute;
	width: 100%;
	max-height: 400px;
	overflow: auto;
	left: 0;
	top: 100%;
	padding: 15px 15px 0 15px;
	background-color: #FFF;
	visibility: hidden;
	opacity: 0;
	transition: all .25s ease;
	box-shadow: 0px 5px 10px rgba(0,0,0,0.2);
    border-radius: 0 0 4px 4px;
	
	&.subs{
		.grid{
			width: calc(100% - 350px);
			float: left;
		}
		
		.list{
			width: calc(33.3% - 10px);
		}
		
		.bnr{
			width: 340px;
			height: 280px;
			float: right;
			
			img{
				width: 100% !important;
				height: 100% !important;
				object-fit: cover;
			}
		}
	}
	
	.list{
		width: calc(25% - 10px);
		display: inline-block;
		vertical-align: top;
		margin-bottom: 15px;
		float: left;
		
		li{
			width: 100%;
			float: left;
			text-indent: 5px;
			
			&:nth-child(2){
				margin-top: 5px;
			}
			
			&.indent{
				text-indent: 15px;
			}
			
			&.t{
				text-indent: 0;
				
				a{
					font-size: 16px;
					line-height: 18px;
					padding: 5px 10px;
					transition: all .25s ease;
					font-weight: bold;
					
					&:hover{
						text-decoration: none !important;
						background-color: #000;
						color: #FFF;
					}
				}
			}
		}
		
		a{
			width: 100%;
			float: left;
			padding: 0;
			color: #000;
			font-size: 14px;
			line-height: 22px;
			border: none !important;
			
			i{
				transition: all .25s ease;
			}
			
			&:hover i{
				color: #F60;
			}
		}
	}
}
.openmenu{
	float: left;
	width: 50px;
	background-color: #444;
	color: #FFF;
	text-align: center;
	margin: 10px !important;
	font-size: 20px;
	cursor: pointer;
	display: none;
	padding: 7px 0;
	
	span{
		font-size: 10px;
		line-height: 10px;
		margin-top: 5px;
		display: block;
	}
}
#linha-topo{
	width: 100%;
	float: left;
	background-color: #CCC;
	position: relative;
	transition: all .25s ease;
}
#links-line,
.links-line{
	float: left;
	
	a{
		color: #000;
		line-height: 30px;
		float: left;
		padding: 0 15px;
		font-size: 12px;
		transition: linear .25s;
		
		&:hover{
			background-color: #000;
			color: #FFF;
		}
	}
}
// responsive
@media screen and (max-width: 1024px) {
	header{
		.links{
			max-width: 490px;
			
			ul{
				> li{
					&:nth-child(4){
						display: none;
					}
					
					> a{
						padding: 0 5px;
					}
				}
			}
		}
		
		.shopcart{
			padding-left: 0;
			
			.cart{
				margin: 0 10px;
			}
		}
	}
	
	#btLogo{
		width: 120px;
	}
}
@media screen and (max-width: 800px) {
	
	body{
		padding-top: 70px;
	}
	
	.openmenu{
		display: block;
	}
	
	#btLogo{
		margin-left: 0;
		margin-right: 0;
	}
	
	header{
		.bar{
			padding-right: 10px;
		}
		
		.search{
			margin-top: 15px;
		}
		
		.links,
		.dropdown,
		#linha-topo{
			display: none;
		}
	}
}
@media screen and (max-width: 598px) {
	
	header{
		.search{
			width: 40px;
			button{
				position: relative;
				z-index: 2;
			}
			&.open{
				.cover-all{
					visibility: visible;
				}
				
				input,
				.rm{
					visibility: visible;
				}
			}
			
			input{
				visibility: hidden;
				width: 200px;
				position: absolute;
				right: 100%;
				top: 0;
				z-index: 2;
				background-color: #FFF !important;
				color: #000 !important;
			}
			
			.boxquery{
				width: 100%;
				position: fixed;
				left: 0;
				top: 70px;
			}
			
			.cover{
				visibility: visible;
			}
		}
	}
	
}
@media screen and (max-width: 425px) {
	
}
@media screen and (max-width: 360px) {
	
}
@media screen and (max-width: 320px) {
	
}