@font-face {
	font-family: 'Raleway';
	src: url(fonts/Raleway-VariableFont_wght.ttf) format('truetype');
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Raleway';
	src: url(fonts/Raleway-Italic-VariableFont_wght.ttf) format('truetype');
	font-style: italic;
	font-display: swap;
}
:root {
	--main-bg-color: rgb(252, 254, 255);
	--header-bg-color: rgba(252, 254, 255, 0.3);
	--shadow-color: rgba(0,0,0,0.3);
	--box-bg-color: rgba(255,255,255, 0.35);
	--highlight-color: rgba(73,191,242,1);
	--brigth-color: rgba(65,172,222,1);
	--btn-default-bg-color: rgba(233,44,67,1);
	--btn-alternate-bg-color: #ecf7f9;
	--text-color-default: rgba(0,0,0,0.6);
	--text-color-light: rgba(255,255,255,1);
	--text-color-grey: #666;
	--text-color-blue: #14397f;
	--text-color-light-blue: #86c9d4;
	--text-color-pink: #d70661;
	--text-color-dark: rgba(0,0,0,0.8);
	--bg-blue: rgba(23,39,77,1);
	--box-radius: 20px;
}
html, body{height: auto; width: 100%; min-height: auto; margin: 0px; padding: 0px;}
body{
	font-family: 'Raleway', sans-serif;
	background: var(--main-bg-color);
	color: var(--text-color-default);
}
header{
	font-size: 0.9rem;
}
.menu_toggle{
	display: none;
}
h1, h2, h3, h4, h5{
	font-weight: 300;
	color: var(--text-color-blue);
	margin: 20px 0 5px 0;
	font-family: 'Raleway', sans-serif;
}
h1{
	font-size: 4rem;
	line-height: 4.5rem;
}
h2{
	font-size: 3.3rem;
	line-height: 4rem;
}
h3{
	font-size: 2.8rem;
	line-height: 3.2rem;
}
h4{
	font-size: 2.3rem;
	line-height: 2.8rem;
}
h5{
	font-size: 1.8rem;
	line-height: 2.2rem;
}
.dfs-bg-alternate{
	background-color: var(--btn-alternate-bg-color);
}
.titulo{
	color: var(--text-color-blue);
	font-weight: 300;
	margin: 20px 0 5px 0;
	font-size: 1.8rem;
	line-height: 2.2rem;
}
.container{
	max-width: 1280px;
	margin: 0px auto;
	padding: 0px 20px;
}
.tribuMarket{
	font-family: 'Raleway', sans-serif;
}
input, textarea, button, .btn{
	font-family: 'Raleway', 'Gil Sans', Tahoma;
	-webkit-transition: all 0.30s ease-in-out;
	-moz-transition: all 0.30s ease-in-out;
	-ms-transition: all 0.30s ease-in-out;
	-o-transition: all 0.30s ease-in-out;
	outline: none;
}
select{
	border: 1px solid rgba(0,0,0,0.1);
}
input:focus, textarea:focus, button:focus, select:focus, .btn:focus {
	box-shadow: 0 0 16px -2px var(--shadow-color);
}
a:not(.btn), a:not(.btn):visited{
	color: var(--highlight-color);
}
a:not(.btn):hover, a:not(.btn):active{
	color: var(--text-color-light);
}
.form-c35{
	min-width: 300px;
}
.form-c35 label{
	display: none;
}
.form-c35 .top-field{
	border-top-left-radius: 15px;
	border-top-right-radius: 15px;
	border-bottom: 1px solid rgba(0,0,0,0.07);
}
.form-c35 .bottom-field{
	border-bottom-left-radius: 15px;
	border-bottom-right-radius: 15px;
}
.form-c35 a, .form-c35 a:visited{
	color: var(--text-color-blue);
}
.form-c35 a:hover{
	color: var(--text-color-blue);
}
.form-c35 .form-g{
	padding: 0px 10px;
}
button, .btn{
	background-color: var(--btn-default-bg-color);
	color: var(--text-color-light);
	letter-spacing: 1px;
	font-weight: 400;
	position: relative;
	overflow: hidden;
	transition: background 400ms;
	border-radius: 5px;
	padding: 7px 15px;
	display: inline-block;
}
.btn.btn-light{
	background-color: #ffffff;
	color: rgba(114, 209, 250, 1);
	fill: rgba(114, 209, 250, 1);
}
header .container{
	padding: 0px 30px;
	background-color: rgba(255,255,255,0.9);
}
header .logo{
	margin: 0px;
}
.logo img{
	height: 90px;
	width: auto;
}
header nav{
	position: relative;
	font-weight: 300;
}
header a{
	color: var(--text-color-blue) !important;
}
nav ul, nav li{
	display: inline-block;
	padding: 0px;
}
nav li a{
	padding: 15px 12px;
}
nav a:hover, nav a:active {
    color: var(--highlight-color) !important;
}
#account .box{
	font-weight: 300;
	color: var(--text-color-blue);
	padding: 0px 5px;
	border-radius: var(--box-radius);
	float: left;
	margin-left: 6px;
}
#account .box svg, #account .box a{
	vertical-align: bottom;
	line-height: 26px;
}
.avt-img{
	float: left;
	margin: 0px 10px 0px -5px;
	vertical-align: bottom;
}
canvas{
	z-index: 900;
}
.top-header{
	background-color: #17274d;
	background-repeat: no-repeat;
	background-image: url('../img/home_product4_pic5.webp');
	background-size: cover;
	background-position: right center;
	width: 100%;
	height: calc(65vh - 50px);
	min-height: 550px;
	z-index: 20;
}
.home .top-header{
	height: calc(100vh - 50px);
	background-position: center center;
}
.top-header>div{
	position: relative;
	display: block;
	visibility: visible;
	max-width: 1280px;
	margin: 0px auto;
}
.top-header>div:nth-child(1){
	z-index: 10;
	white-space: nowrap;
	letter-spacing: 0px;
	text-align: inherit;
	padding: 185px 0 0 170px;
}
.top-header>div:nth-child(1) h1{
	color: var(--text-color-light);
	font-size: 4rem;
	line-height: 4.5rem;
}
.top-header>div:nth-child(2){
	color: var(--text-color-light);
	padding: 50px 0 0 170px;
	z-index: 9;
}
.top-header>div:nth-child(3){
	padding: 30px 0 0 170px;
	z-index: 8;
}
.top-header>div:nth-child(4){
	padding: 0 0;
	z-index: 7;
	margin: -265px auto 0;
	height: 250px;
	text-align: right;
}
.top-header>div:nth-child(4) img{
	height: 636px;
	border-width: 0px; margin: 0px;
}
footer{
	padding: 30px 20px 0px;
	margin-top: 50px;
}
footer .container{
	padding: 0px 30px;
}

footer .container .titulo{
	color: var(--text-color-blue);
}
footer .container, footer .container a{
	font-size: 0.8rem;
	color: var(--text-color-grey);
	font-weight: 300;
	line-height: 24px;
}
footer p{
	line-height: 1rem;
	margin: 5px 0px;
}
.servicios section{
	max-width: 1000px;
	margin: 0px auto;
}
.dfs-card{
	border-radius: 30px;
	overflow: hidden;
}
.dfs-card-shadow{
	box-shadow: 0px 0px 18px -4px var(--shadow-color);
}
.dfs-card-content{
	padding: 15px;
}
.servicios section .container:nth-child(2){
	background: linear-gradient(45deg, rgba(115,185,255,0.05) 50%, rgba(115,185,255,0.1) 100%);
}
.bg-transparent{
	background: none !important;
}
.searchbar{
	background-color: rgba(0,0,0,0.07);
	padding-left: 0px;
	border-radius: 20px;
}
.searchbar input{
	background-color: transparent;
	width: calc(100% - 45px);
	padding: 10px 20px;
}
.searchbar button{
	background-color: transparent;
	height: 30px;
	padding: 5px;
	float: right;
	margin-top: 3px;
	margin-right: 5px;
}
.searchbar button:focus, .searchbar input:focus{
	box-shadow: none;
}
.swiper.top-home {
	width: inherit;
	height: auto;
	max-height: 300px;
	margin: 20px 0px;
	border-radius: 30px;
	overflow: hidden;
	--swiper-theme-color: var(--text-color-light-blue);
}
.top-home.swiper-horizontal>.swiper-pagination{
	bottom: 0px;
}
.top-home .swiper-slide>div{
	height: 300px;
	background-size: cover;
	background-position: center;
}
.top-home .swiper-slide div.h{
	display: block;
}
.top-home .swiper-slide div.s{
	display: none;
}
#products-list .dfs-flex{
	gap: 20px;
	flex-wrap: wrap;
	margin-top: 20px;
}
#products-list .dfs-card{
	padding: 0px;
	overflow: hidden;
	flex: 1 1 20%;
	margin: 0px;
}
#products-list .titulo{
	font-size: 1.1rem;
	font-weight: bold;
}
.precio{
	color: var(--text-color-pink);
	font-size: .9rem;
}
.descripcion{
	color: var(--text-color-blue);
	font-size: 1rem;
}
.input-group{
	position: relative;
	height: 70px;
}
.input-group>*{
	display: inline-block;
}
.input-group svg{
	width: 18px;
	height: 18px;
}
.input-group svg path{
	fill: var(--text-color-pink);
}
.input-group-prepend{
	height: 30px;
	position: absolute;
    top: 9px;
    left: 7px;
}
.input-group .input-group-prepend .input-group-text{
	vertical-align: middle;
}
.input-group input:not([type='checkbox']){
	width: calc(100% - 35px);
	padding-left: 30px;
}
.input-group .invalid-feedback{
	display: none;
	clear: both;
	color: red;
}
.input-group-prepend input{
	width: auto;
}
form label.titulo{
	font-weight: bold;
	font-size: 1.2rem;
}

form .invalid input{
	border: 1px solid red;
}
form .invalid .invalid-feedback{
	display: block;
}

.messages{
	text-align: center;
	color: var(--text-color-blue);
	padding-right: 20px;
}

.error{
	color: red;
	font-weight: bold;
}

@media screen and (max-width: 900px){
	html{ font-size: 14px; }
	.swiper.top-home {
		max-height: 250px;
		border-radius: 20px;
	}
	.top-home .swiper-slide>div{
		height: 250px;
	}
	.top-home .swiper-slide div.h{
		display: none;
	}
	.top-home .swiper-slide div.s{
		display: block;
	}
	.login{
		background-position: center right;
	}
	.page header{
		padding: 0px;
		width: 100vw;
		height: 80px;
		z-index: 2000;
	}
	.page header .container{
		margin: 0px;
		padding: 10px 10px 10px;
		background-color: #ffffff;
		z-index: 1999;
	}
	.page header .dfs-flex{
		flex-wrap: wrap;
	}
	.page header .logo{
		float: left;
		margin: 0px;
		width: auto;
	}
	.page header .logo img{
		max-height: 40px;
		width: auto;
	}
	.page header .menu_toggle{
		display: block;
		width: auto;
		background: transparent;
		margin: 0px;
		padding: 7px;
		line-height: 16px;
		top: 0px;
		right: 10px;
	}
	h1.page-title{
		display: block;
		margin: 0px;
	}
	.breadcrumb{ margin: 0px; float: none; text-align: right;}
	.page header nav{
		width: 100%;
	}
	.page nav li{
		display: block;
	}
	.page nav li a{
		display: block;
		padding: 10px;
	}
	.page header #account{
		padding-bottom: 30px;
	}
	.page footer{
		padding: 10px 0 0 0;
	}
	.page footer .container{
		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
		border-bottom-left-radius: 0px;
		border-bottom-right-radius: 0px;
	}
	.container{
		padding: 0px 12px;
	}
	.container img.responsive{
		width: 40vw;
		height: auto;
	}
	.container .dfs-ph-40{
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
	.card-content{
		overflow: auto;
		padding: 5px 0 10px 0;
	}
	.dfs-card{
		border-radius: 20px;
	}
	.list-nolist .truncate {
		width: calc(33vw - 30px);
		max-width: 320px;
	}
	#products-list .dfs-flex{
		gap: 15px;
	}
	#products-list .dfs-card{
		flex: 1 1 30%;
	}
	#products-list .dfs-card img{
		width: 100%;
		height: auto;
	}
}
@media screen and (max-height: 680px){
	h1.page-title{
		display: block;
		margin: 0px;
	}
	section:not(#slider) > .container:first-of-type > div:first-of-type {
		padding-top: 15px;
	}
	.swiper.top-home {
		max-height: 200px;
	}
	.top-home .swiper-slide>div{
		height: 200px;
	}
	
	.page-title{
		float: left;
	}
	.breadcrumb{
		margin-top: 20px;
		float: right;
	}
	.container > .content{
		clear: both;
	}
	.dfs-card {
		margin-bottom: 10px;
		margin-top: 0px;
		padding: 5px 15px;
	}
	#products-list .dfs-card{
		flex: 1 1 45%;
	}
}