/*
Theme Name: GrupoN8 Theme
Author: Brainwave Connection
Author URI: https://brainwave.mx
Description: Theme for grupon8
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.3
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: grupon8-theme
Tags: bootstrap, custom-logo
*/

:root {
  --n8-teal: #4a807c;
  --n8-graphite: #494e53;
  --n8-desert-sand: #bca588;
  --n8-golden-clay: #ab8858;
  --n8-fog-gray: #a5a5a5;

}

@font-face {
  font-family: 'SpaceGrotesk-Regular';
  font-style: normal;
  font-weight: 400;
  src: url("./webfonts/SpaceGrotesk-Regular.woff2") format("woff2"), url("./webfonts/SpaceGrotesk-Regular.ttf") format("truetype");
}
@font-face {
  font-family: 'SpaceGrotesk-Medium';
  font-style: normal;
  font-weight: 500;
  src: url("./webfonts/SpaceGrotesk-Medium.woff2") format("woff2"), url("./webfonts/SpaceGrotesk-Medium.ttf") format("truetype");
}
@font-face {
  font-family: 'SpaceGrotesk-SemiBold';
  font-style: normal;
  font-weight: 600;
  src: url("./webfonts/SpaceGrotesk-SemiBold.woff2") format("woff2"), url("./webfonts/SpaceGrotesk-SemiBold.ttf") format("truetype");
}
@font-face {
  font-family: 'SpaceGrotesk-Bold';
  font-style: normal;
  font-weight: 700;
  src: url("./webfonts/SpaceGrotesk-Bold.woff2") format("woff2"), url("./webfonts/SpaceGrotesk-Bold.ttf") format("truetype");
}


@font-face {
  font-family: 'Inter_18pt-Regular';
  font-style: normal;
  font-weight: 400;
  src: url("./webfonts/Inter_18pt-Regular.woff2") format("woff2"), url("./webfonts/Inter_18pt-Regular.ttf") format("truetype");
}
@font-face {
  font-family: 'Inter_18pt-Medium';
  font-style: normal;
  font-weight: 500;
  src: url("./webfonts/Inter_18pt-Medium.woff2") format("woff2"), url("./webfonts/Inter_18pt-Medium.ttf") format("truetype");
}
@font-face {
  font-family: 'Inter_18pt-SemiBold';
  font-style: normal;
  font-weight: 600;
  src: url("./webfonts/Inter_18pt-SemiBold.woff2") format("woff2"), url("./webfonts/Inter_18pt-SemiBold.ttf") format("truetype");
}
@font-face {
  font-family: 'Inter_18pt-Bold';
  font-style: normal;
  font-weight: 700;
  src: url("./webfonts/Inter_18pt-Bold.woff2") format("woff2"), url("./webfonts/Inter_18pt-Bold.ttf") format("truetype");
}

html {
 	color: var(--n8-graphite);
 	font-size: 16px;
	margin: 0;
}
body {
	font-family: 'Inter_18pt-Regular', sans-serif;
    background: #fff;
}

.main {
	font-size: 1.125rem;
}

h1, h2, h3, h4, .h1, .h2, .h3, .h4 {
	font-family: 'SpaceGrotesk-Medium', sans-serif;
	line-height: 1 !important;
	color: var(--n8-graphite);
}

.fw-bold {
	font-family: 'Inter_18pt-Bold', sans-serif;
}

.btn-n8 {
	letter-spacing: 0.2rem;
}

.section-label,
.accent-line,
.bullets {
 	color: var(--n8-golden-clay);
}

.primary-button {
	background: var(--n8-teal);
	color: #fff;
}

.sand-dash {
	background-color: var(--n8-golden-clay);
	height: 3px;
	margin: 30px 0;
	width: 80px;
}

.sand-dash.top {
	margin: 5px 0;
}

a {
	text-decoration: none;
}

.text-white a {
	color: #fff;
}

.text-teal {
	color: var(--n8-teal);
}

.text-golden {
	color: var(--n8-golden-clay);
}

.bg-teal {
	background-color: var(--n8-teal);
}

.bg-graphite {
	background-color: var(--n8-teal);
}

.bg-light-teal {
	background-color: #edf2ec;
}

.h1 {
	font-size: 2.5rem !important;
}

.h2 {
	font-size: 2rem !important;
}

.h3 {
	font-size: 1.2rem !important;
}


ul.ul-n8 {
  list-style: none;
  padding-left: 20px;
}

ul.ul-n8 li {
  position: relative;
  line-height: 1.5rem;
}

ul.ul-n8 li::before {
  content: "•";
  color: var(--n8-golden-clay);
  font-weight: bold;
  font-size: 1.5rem;
  display: inline-block;
  line-height: 1.5rem;
  margin-left: -1em;
  width: 1.2em;
}


.main {
	min-height: 600px;
}

.border-line {
	border: none;
}

.page-cover {
	overflow: hidden;
	position: relative;
}

.top-logo {
	padding-left: 5%;
}

.top-logo img {
	width: 80px;
}

.page-cover .page-meta {
	max-width: 450px;
	padding-left: 5%;
	top: 30px;
	width: 100%;
	z-index: 5;
}

.page-meta {
	color: white;
	font-size: 12px;
	line-height: 1.5;
	margin-bottom: 10px;
}

.page-cover .page-meta .page-title {
	margin: 20px 0;
	max-width: 90%;
	font-size: 3.25rem;
	line-height: 3.4;
	color: #fff;
	text-shadow: 0 1px 0 rgba(0,0,0,.3);
}

.page-cover .overlay {
	--grad-color: rgba(0,0,0,.95);
	background: rgba(0,0,0,.8);
	background: linear-gradient(to bottom,transparent 0%,var(--grad-color) 100%);
	bottom: 0;
	box-sizing: border-box;
	height: 100%;
	width: 100%;
	position: absolute;
	z-index: 5;
}

.page-img {
	background-size: cover;
	background-position: right, 30px;
	background-repeat: no-repeat;
	min-height: 450px;
	display: block;
	position: relative;
}

.page-img .transparencia .wp-post-image {
	object-position: top;
}

.container-n8 {
	padding-left: 5%;
	padding-right: 5%;
}

.reset-list-style {
	list-style: none;
	margin: 0;
}

.footer .page-img {
	background-size: cover;
	background-position: bottom, center;
	background-repeat: no-repeat;
	min-height: 200px;
}

.menu-wrapper {
	font-family: 'Inter_18pt-Bold';
	font-size: 1rem;
	font-weight: 700;
}

ul.footer-menu {
	letter-spacing: 0;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.footer-menu li {
	line-height: 1.2rem;
	margin: 0 0.8rem;
	position: relative;
	padding-top: 10px;
	padding-bottom: 10px;
}

ul.footer-menu, ul.header-menu {
		display: flex;
		flex-wrap: wrap;
	}

ul.header-menu {
	letter-spacing: 0;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.header-menu li {
	line-height: 1.2rem;
	margin: 0 1rem;
	position: relative;
	padding-top: 10px;
	padding-bottom: 10px;
}

/* Primary Menu ---------------------------- */

#menu-btn {
	position: absolute;
	top: 20px;
	right: 20px;
	cursor: pointer;
}

.off-canvas {
	background-color: #fff;
	box-sizing: border-box;
	content-visibility: auto;
	display: flex;
	flex-direction: column;
	height: 100%;
	left: 0;
	max-width: 100%;
	min-width: 100%;
	position: fixed;
	top: 0;
	transform: translate3d(-100%,0,0);
	transition: .4s ease-in-out;
	transition-property: transform,visibility;
	visibility: hidden;
	width: 80vw;
	z-index: 10000;
}
.off-canvas-active .off-canvas-backdrop {
	height: 100%;
	opacity: 1;
	pointer-events: auto;
	width: 100%;
}
.off-canvas-backdrop {
	content: "";
	position: fixed;
	opacity: 0;
	z-index: 9999;
	pointer-events: none;
	height: 0;
	width: 0;
	top: 0;
	left: 0;
	background: rgba(0,0,0,.3);
	transition: opacity .3s ease-in-out;
}
.off-canvas-active .off-canvas {
	transform: translate3d(0,0,0);
	visibility: visible;
	box-shadow: 2px 0px 15px 0 rgba(0,0,0,.1);
}
.off-canvas-head {
	padding: 0 25px;
	padding-top: 38px;
	margin-bottom: 20px;
}
.off-canvas-content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 25px;
}

.off-canvas .menu-close {
	cursor: pointer;
	font-size: 1.2rem;
}
.off-canvas .menu-logo {
	align-items: center;
	display: flex;
	justify-content: center;
}

.mobile-menu ul {
	background: transparent;
	border: 0;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	padding: 0;
	transition: opacity .6s ease,max-height .8s ease;
	width: 100%;
}

.mobile-menu .item-active > ul {
	opacity: 1;
	max-height: 3000px;
	transition: opacity .4s ease-in,max-height 1s ease-in;
}

.mobile-menu li {
  position:relative;
  display:flex;
  width:100%;
  flex-wrap:wrap;
  border-bottom:1px solid var(--c-sep);
}
.mobile-menu li a {
  color:inherit;
  display:block;
  float:none;
  line-height:1.5;
  max-width:calc(100% - 10px);
  padding:12px 0;
  padding-right:50px;
}
.mobile-menu li li {
  padding-left:12px;
  border:0;
}
.mobile-menu li ul li:last-child ul {
  border-bottom-color:transparent;
}
.mobile-menu ul {
  width:100%;
  max-height:0;
  opacity:0;
  background:transparent;
  overflow:hidden;
  border:0;
  transition:opacity .6s ease,max-height .8s ease;
}
.mobile-menu ul > li > ul li {
  padding-left:15px;
}
.mobile-menu ul li a {
  padding:8px 0;
  font-size:.93em;
  font-size:max(13px,.93em);
  font-weight:500;
}
.mobile-menu .nav-icons,
.mobile-menu .mega-menu {
  display:none;
}

.mobile-menu > .item-active {
  padding-bottom:10px;
}
.mobile-menu .chevron {
  display:flex;
  align-items:center;
  margin-left:auto;
  padding:0 25px;
  margin-right:-15px;
  border:0;
  color:var(--c-contrast-400);
  text-align:center;
  font-size:12px;
  -webkit-text-stroke:1.2px var(--c-contrast-0);
  line-height:1.8;
  cursor:pointer;
}
.mobile-menu .item-active > .chevron {
  transform:rotate(180deg);
}
.mobile-menu li:hover > a {
  opacity:.8;
}
@media (max-width: 350px) {
  .off-canvas {
    min-width:300px;
  }
}
.off-canvas-head {
  padding:0 25px;
  padding-top:38px;
  margin-bottom:20px;
}
.off-canvas-content {
  display:flex;
  flex-direction:column;
  padding:25px;
  overflow-y:auto;
  overflow-x:hidden;
  flex:1 1 auto;
}
@media (min-width: 941px) {
  .off-canvas-content {
    --c-sb:var(--c-contrast-200);
    --c-sb-track:transparent;
    --sb-size:4px;
    --sb-width:thin;
    scrollbar-width:var(--sb-width);
    scrollbar-color:var(--c-sb) var(--c-sb-track);
  }
  .off-canvas-content::-webkit-scrollbar-track {
    background-color:var(--c-sb-track);
  }
  .off-canvas-content::-webkit-scrollbar-thumb {
    background-color:var(--c-sb);
    border-radius:3px;
  }
  .has-scrollbar .off-canvas-content::-webkit-scrollbar {
    width:var(--sb-size);
  }
}
.off-canvas .mobile-menu {
  margin-bottom:45px;
}
.off-canvas .mobile-menu {
  margin-top:-10px;
  transition:opacity .5s ease-in;
  opacity:.2;
}

@media (min-width: 1000px) {
  .off-canvas.hide-menu-lg .mobile-menu {
    display:none;
  }
}

.off-canvas-active {
  overflow:hidden;
}
.off-canvas-active .off-canvas {
  transform:translate3d(0,0,0);
  visibility:visible;
  box-shadow:2px 0px 15px 0 rgba(0,0,0,.1);
}
.off-canvas-active .mobile-menu {
  opacity:1;
}
.off-canvas-active .off-canvas-backdrop {
  opacity:1;
  width:100%;
  height:100%;
  pointer-events:auto;
}



@media (min-width: 576px) { 

	.page-cover .page-meta {
		max-width: 550px;
	}


	.top-logo img {
		width: 150px;
	}

}

@media (min-width: 768px) {

	
}




@media (min-width: 992px) { 


	.sand-dash.top {
		margin: 30px 0;
	}

}




@media (min-width: 1200px) {

	.h1 {
		font-size: 3.8rem !important;
	}

	.h2 {
		font-size: 2.5rem !important;
	}

	.h3 {
		font-size: 1.6rem !important;
	}

	.border-line {
		border-right: 1px solid var(--n8-desert-sand);
	}

	.page-cover .page-meta {
		max-width: 900px;
	}

	.top-logo {
		padding-left: 25%;
	}

	.header-menu li {
		margin: 0 1.8rem;
	}

	.page-img {
		min-height: 550px;
	}

	.page-img .wp-post-image, .page-img > img {
		width: 100%;
	}
	.page-cover .page-meta {
		padding-left: 8%;
	}

	.container-n8 {
		padding-left: 8%;
		padding-right: 8%;
	}
}