/**
 * Theme Name:     D2W
 * Author:         Elementor Team
 * Template:       hello-elementor
 * Text Domain:	   d2w
 * Theme URI:      http://d2w
 * Version:        1.0
 */

:root {
	--trans: all ease .3s;
}
html, body {
	cursor: default;
	overflow-x: hidden !important;
}
html {
  scroll-behavior: smooth;
}

h1,h2,h3,h4,h5,h6 {
  hyphens: auto;
  word-break: normal;
  white-space: normal;
}

body .elementor-grid.only-1-child {
  grid-template-columns: repeat(1,1fr);
}

.gradient-text {
 background-color: var(--e-global-color-secondary);
 background-image: -webkit-linear-gradient(45deg, transparent, var(--e-global-color-accent));
  -webkit-background-clip: text;
  -moz-background-clip: text;
  -webkit-text-fill-color: transparent;
}

:root {
  --scrollbar-track: #222;
  --scrollbar-thumb: #555555aa;
}

html::-webkit-scrollbar,
.custom-scrollbar::-webkit-scrollbar {
  width: 10px;
  scrollbar-width: thin;
}
html::-webkit-scrollbar-track,
.custom-scrollbar::-webkit-scrollbar-track {
  background: var(--scrollbar-track);
	border-radius: 10px;
}
html::-webkit-scrollbar-track {
	border-radius: 0;
}
html::-webkit-scrollbar-thumb,
.custom-scrollbar::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
  border: 2px solid var(--scrollbar-track);
  border-radius: 10px;
}

a.elementor-button:not(:hover) {
 box-shadow: none !important;
}
a.elementor-button:hover {
  filter: brightness(1.25)
}

.menu-item {
  a {
	&:before,
	&:after {
	  border-radius: 5px;
	}
	
	&:before {
	  transform-origin: 0 0;
	}
	&:after {
	  transform-origin: 100% 0;
	}
  }
  a:not(:hover) {
	&:before {
	  transform: scaleX(0) translateX(-50%);
	}
	&:after {
	  transform: scaleX(0) translateX(50%);
	}
  }
  
  .sub-menu {
	animation: submenuIn .25s;
  }
  
  .elementor-sub-item {
	border: 0 !important;
  }
}

.elementor-sub-item {
  display: flex;
  justify-content: space-between;
  
  .sub-arrow {
	background-color: #fff;
	outline: 2px solid transparent;
	margin-right: -15px;
	padding-right: 10px !important;
	border-radius: 50px;
	margin-left: 10px;
	transition: var(--trans);
  }
}

li .sub-menu {
  
  box-shadow: 0 5px 30px 0 #00000033;
  
  .sub-menu {
	transition: var(--trans);
  }
  
  .menu-item:hover {
	.sub-arrow {
	  --cor: var(--e-global-color-secondary);
	  color: var(--cor);
	  outline: 2px solid; 
	}
  }
}

@keyframes submenuIn {
  0% {
	transform: translateY(-10px);
	opacity: 0;
  }
  100% {
	transform: translateY(0px);
	opacity: 1;
  }
}



.elementor-swiper-button {
  padding: 5px;
  background-color: fade(#fff, 0);
  border-radius: 5px;
  margin: 0 5px;
  
  &:hover {
	background-color: fade(#fff, 15%);
	backdrop-filter: blur(5px);
  }
}
@media (max-width: 767px) {
	.elementor-swiper-button {
		margin: 0;
		padding: 10px 2px;
	}
}

[data-elementor-device-mode="desktop"] {
  .e-widget-swiper {
	&:not(:hover) {
	  .elementor-swiper-button {
		opacity: 0;
	  }
	  .elementor-swiper-button-prev {
		margin-left: 25px;
	  }
	  .elementor-swiper-button-next {
		margin-right: 25px;
	  }
	}
  }
}



.e-widget-swiper {
 padding: 0 !important;
}
.e-widget-swiper .swiper-pagination-bullet {
 border-radius: 20px;
 transition: all ease .5s;
}
.e-widget-swiper .swiper-pagination-bullet-active {
 width: 25px !important;
}


.d2w-cards
.elementor-cta__bg-overlay {
  &:before {
	content: '';
	position: absolute;
	inset: 0 0 0 0;
	
	background: linear-gradient(27deg, #112 30%, transparent);
	opacity: .9;
	transition: all ease 1s;
  }
}
.elementor-cta {
  &:hover
  .elementor-cta__bg-overlay {
	&:before {
	  opacity: .8;
	}
  }
}



.elementor-widget-theme-post-content {
  
  hyphens: auto;
  word-break: normal;
  white-space: normal;
  
  .full-width {
		--mg: -4em;
	margin-left: var(--mg);
	margin-right: var(--mg);

	&:first-child {
	  margin-top: var(--mg);
	}
	&:last-child {
	  margin-bottom: var(--mg);
	}
		
		@media (max-width:767px){
			--mg: -1.5em;
		}
  }
  
  h1,h2,h3,h4,h5,h6 {
	
	text-wrap: balance;
	margin-bottom: 1em;
	
	&:not(:first-child) {
	  margin-top: 1.5em;
	}
  }
  
  h2 {
	color: var(--e-global-color-primary);
	font-size: 2.5em;
	font-weight: 300;
	border-bottom: 2px solid #55555522;
	padding-bottom: 0.25em;
  }
  h3 {
	color: var(--e-global-color-secondary);
	font-weight: 400;
  }
  p {
	margin-bottom: 2em;
	margin-top: 2em;
	
	&:first-child {
	  margin-top: 0;
	}
	&:last-child {
	  margin-bottom: 0;
	}
  }
  
  ol, ul {
	margin-bottom: 2em;
	padding: 0 0 1em 1.25em;
	
	&:last-child {
	  margin-bottom: 0;
	}
	
	li {
	  line-height: 2em;
	  
	  &::marker {
		color: var(--e-global-color-secondary);
	  }
	}
  }
}

.rank-math-breadcrumb {
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 0.75em;
	font-family: var( --e-global-typography-primary-font-family ), Sans-serif;
  color: fade(#fff,50%);
  
  a {
	color: var(--e-global-color-secondary);
	transition: var(--trans);
	opacity: 0.6;
	font-weight: 500;
	
	&:hover {
	  color: var(--e-global-color-accent);
	  text-decoration: underline;
	  opacity: 1;
	}
  }
	
	&:hover {
		a {
			opacity: .9;
		}
	}
  
  .separator {
	margin-left: .5em;
	margin-right: .5em;
	opacity: .4;
  }
  
  p {
	margin: 0;
  }
	
	@media (max-width:767px) {
		letter-spacing: 0;
		font-size: .7em;
	}
}

:root {}

figure {
  margin-bottom: 10px;
}

@media (max-width: 1023px) {
  .wp-block-columns {
	flex-wrap: wrap !important;
	
	.wp-block-column {
	  flex-basis: 100% !important;
	}
  }
}
.wp-block-columns.is-layout-flex {
  gap: 4em;
}






body {
  .has-background:not(.wp-block-button__link) {
	padding: 4em;
	border-radius: 0 1em;
		
		@media (max-width: 767px) {
			padding: 1.5em;
		}
	
	&.has-cyan-bluish-gray-background-color {
	  background-color: #e5e5e5 !important;
	}
  }
}

.elementor-widget-theme-post-content {
  ul {
	padding-bottom: 0;
	
	li {
	  line-height: 1.3em;
	  margin-bottom: 1.3em;
	  
	  &:last-child {
		margin-bottom: 0;
	  }
	}
  }
	
	@media (max-width: 767px) {
		.produto-sidebar {
			margin-left: -1.5em !important;
			margin-right: -1.5em !important;
		}
	}
}

.elementor-widget-theme-post-content {
  
  a:not([class*="elementor-"]) { 
	color: var(--e-global-color-secondary);
	font-weight: 600;
  
	&:hover {
	  filter: brightness(1.2);
	  text-decoration: underline;
	}
  }
  
  b,
  strong,
  a:not([class*="elementor-"]) strong,
  strong a:not([class*="elementor-"]) {
	font-weight: 900;
  }
}




.wp-block-gallery {
  .wp-block-image {
	background-color: var(--e-global-color-primary);
	transition: var(--trans);
	transition-duration: .66s;
	max-height: calc(var(--viewport-visible) / 2);
	cursor: zoom-in;
	border-radius: 1em;
	overflow: hidden;
	  
	&:after {
	  content: '🔎︎';
	  color: #FFF;
	  position: absolute;
	  width: 100%;
	  height: 100%;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  font-size: 1em;
	  letter-spacing: 1px;
	  opacity: 0;
	  transition: var(--trans);
	}
	
	img {
	  transition: var(--trans);
	}
	
	&:hover {
	  img {
		transform: scale(1.1);
	  }
	}
  }
  &:hover {
	.wp-block-image {
	  img {
		opacity: .6;
	  }
	  &:hover {
		&:after {
		  opacity: .5;
		  transition-delay: .1s;
		  transition-duration: .8s;
		  transform: scale(1.5);
		}
	  }
	}
  }
  
  &.open {
		flex-direction: column;
		
	.wp-block-image {
	  max-height: calc(var(--viewport-visible) * 2);
			width: 100% !important;
	}
	
	&:hover {
	  .wp-block-image {
		cursor: zoom-out;
		
		img {
		  opacity: 1;
		  transform: scale(1);
		}
		
		&:after {
		  opacity: 0;
		}
		&:hover {
		  img {
			opacity: .9;
		  }
		}
	  }
	}
  }
}
.wp-block-gallery.carousel.open {
	overflow-x: auto;
  scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	gap: 10px;
	flex-wrap: nowrap;
	flex-direction: row;
	
	.wp-block-image {
		scroll-snap-align: start;
		min-width: 100%;
		max-width: 800px;
	}
}

.headline {
	.swiper-slide a {
		height: 100%;
	}
	selector .swiper-slide a .swiper-slide-inner,
	.swiper-slide a .swiper-slide-inner img {
		height: 15vw;
		min-height: 50vh;
		width: 100%;
		object-fit: cover;
	}
	.swiper-slide {
		transition: all ease 0.5s;
		opacity: 0;
		transform: scale(0.8) !important;
		filter:blur(5px);
	}
	.swiper-slide:only-child{
		filter: none;
		opacity: 1;
		transform: scale(1) !important;
	}
	.swiper-slide-duplicate-active,
	.swiper-slide-active {
		opacity: 1;
		transform: scale(1) !important;
		filter:blur(0);
	}
	.swiper-pagination {
		bottom: -20px !important;
	}
	
	@media (max-width: 767px){
		.swiper-slide img {
		 border: 0 !important;
		}
	}
}

.produto-sidebar {
  @media (min-width: 768px) {
	margin-right: -4em !important;
	margin-top: -4em !important;
	border-top-right-radius: 2em !important;
	padding: 4em 4em 3em 3em !important;
  }
}

.elementor-lightbox {
  backdrop-filter: blur(10px);
  
  &-image {
	border-radius: 1em !important;
  }
}

// Header transp
.header-transp {
  
  &.header-offset
  .elementor-location-header {
	.elementor-sticky {
	  background-color: transparent !important;
	  
	  &:before {
		opacity: 0;
	  }
	}
  }
  .headline {
	padding-top: calc(var(--header-height) * 1);
	margin-top: calc(var(--header-height) * -1);
	
	&.full-height {
	  min-height: calc(100dvh - var(--wp-offset));
	}
	
	&:after {
	  content: '';
	  background: linear-gradient(#000,transparent) !important;
	  height: calc(var(--header-height) + var(--wp-offset));
	  width: 100%;
	  position: absolute;
	  left: 0;
	  top: 0;
	  opacity: .95;
	  pointer-events: none;
	}
  }
}

/* Tabelas / Medidas */
.wp-block-table {
  overflow-x: auto;
  max-width: 100%;
  width: 100%;
  border: 2px solid var(--e-global-color-secondary);
  border-radius: 1em;
  
  table {
	min-width: 400px;
	width: 100%;
	
	td {
	  border-color: #ccc;
	}
		thead {
	  border-bottom-color: var(--e-global-color-secondary);
	  border-bottom-width: 2px;
	  text-transform: uppercase;
	  
	  td {
		background-color: #dddddf;
		color: var(--e-global-color-primary);
		border-color: #bbb;
				vertical-align: bottom;
	  }
	}
  }
}
@media (min-width: 1024px){
	.wp-block-table {
		table {
			td {
				padding: 1em 1.25em;
			}
		}
	}
}

/* Embeds responsivos */
.wp-has-aspect-ratio .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
	height: 0;
	overflow: hidden;
}
.wp-has-aspect-ratio .wp-block-embed__wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
  
  border-radius: 1em;
}
/* Aspect Ratio 16:9 */
.wp-has-aspect-ratio.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
	padding-top: 56.25%; /* 16:9 = 9/16 * 100 */
}
/* Aspect Ratio 4:3 */
.wp-has-aspect-ratio.wp-embed-aspect-4-3 .wp-block-embed__wrapper {
	padding-top: 75%; /* 4:3 = 3/4 * 100 */
}
/* Aspect Ratio 1:1 */
.wp-has-aspect-ratio.wp-embed-aspect-1-1 .wp-block-embed__wrapper {
	padding-top: 100%; /* 1:1 = 1/1 * 100 */
}
/* Aspect Ratio 21:9 */
.wp-has-aspect-ratio.wp-embed-aspect-21-9 .wp-block-embed__wrapper {
	padding-top: 42.857%; /* 21:9 = 9/21 * 100 */
}
/* Aspect Ratio 9:16 (vertical) */
.wp-has-aspect-ratio.wp-embed-aspect-9-16 .wp-block-embed__wrapper {
	padding-top: 177.78%; /* 9:16 = 16/9 * 100 */
}

/* CSS que precisam de ">" trago para cá, pois o editor de LESS não está compilando corretamente. */

.menu-item .sub-menu .menu-item.current-page-parent > a {
  background-color: #00000055;
}

.elementor-nav-menu > .menu-item > a.has-submenu {
  padding-right: 10px !important;
}

.elementor-cta {
	border-radius: 20px;
	border: solid 2px #01184E;
}

.elementor-cta:hover {
	border: solid 2px #00E9E6;
}

.elementor-cta__title {
	font-size: 2.5em!important;
}

.elementor-cta__content {
 min-height: 500px!important;
	font-family: 'Ubuntu Sans';
}

.elementor-cta__description {
	opacity: 0.7;
}

.elementor-cta__button.elementor-button
 {
	background-color: #0790FD!important;
	 border-radius: 20px;
	 border: solid 2px #0790FD!important;
	 color: #111111!important;
	 font-weight: 700!important;
}

.elementor-cta__button.elementor-button:hover
 {
	 border: solid 2px #00E9E6!important;
}
