[class*="grid-"]{
	display:grid;
}
[class*="flex-"]{
	display: flex;
}
[class*="column-"] {
	flex-direction: column;
	padding: 10px;
	width: 100%;
}
[class*="-nowrap"]{
	flex-wrap:nowrap;
	white-space:nowrap;
}
[class*="-wrap"]{
	flex-wrap:wrap;
}
[class*="-vat"]{
	vertical-align:top;
}
[class*="-vab"]{
	vertical-align:bottom;
}
[class*="-vam"]{
	vertical-align:middle;
}
[class*="-txtc"]{
	text-align:center;
}
[class*="-txtj"]{
	text-align:justify;
}
[class*="-txtr"]{
	text-align:right;
}
[class*="-alic"]{
	align-items:center;
}
[class*="-alie"]{
	align-items:end;
}
[class*="-jcc"]{
	justify-content:center;
}
[class*="-jcs"]{
	justify-content:start;
}
[class*="-jcth"]{
	justify-content:stretch;
}
[class*="-jcth"] > [class*="column-"] {
	display: flex;
}
[class*="-jcth"] > [class*="column-"] > .card {
	flex: 1;
	display: flex;
	flex-direction: column;
}
[class*="-btween"]{
	justify-content: space-between;
}
[class*="-jcaround"]{
	justify-content: space-around;
}
[class*="-flex"]{
	flex:1;
}
[class*="sticky-"]{
	position:sticky;
	z-index:1;
}
[class*="-top"]{
	top:0;
}
[class*="-left"]{
	left:0;
}
[class*="-right"]{
	right:0;
}
[class*="-bottom"]{
	bottom:0;
}
[class*="-height"]{
height: 100%;
}
[class*="row-"]{
	flex-direction: row;
}
[class*="scroll-"]{
	overflow: auto;
}
[class*="-tag"]{
height: calc(100% - 38px);
}
[class*="-pd010"]{
	padding: 0 10px;
}
[class*="-pd020"]{
	padding: 0 20px;
}
[class*="-pdtp2"]{
	padding-top: 2rem;
}
[class*="-pdbt2"]{
	padding-bottom: 2rem;
}
[class*="-margbt4"]{
	margin-bottom: 4rem;
}
[class*="-marg2"]{
	margin: 2rem;
}
[class*="-margtp2"]{
	margin-top: 2rem;
}
[class*="-margbt2"]{
	margin-bottom: 2rem;
}
[class*="box-"]{
	/*overflow: hidden;*/
	border-radius: 5px;
	margin: 2.5px 5px;
	-webkit-box-shadow: 0 1.6px 3.6px 0 rgb(0 0 0 / 13%), 0 0.3px 0.9px 0 rgb(0 0 0 / 11%);
	box-shadow: 0 1.6px 3.6px 0 rgb(0 0 0 / 13%), 0 0.3px 0.9px 0 rgb(0 0 0 / 11%);
	box-sizing: border-box;
}
[class*="-ou"]{
	overflow:unset;
}
[class*="-oa"]{
	overflow:auto;
}
[class*="-oi"]{
	overflow:inherit;
}
[class*="-binset"]{
	box-shadow: 1px 0 0 0 #e1e1e1, 0 1px 0 0 #e1e1e1, 1px 1px 0 0 #e1e1e1, inset 1px 0 0 0 #e1e1e1, inset 0 1px 0 0 #e1e1e1;
}
[class*="-radius"]{
	border-radius:5px;
}
[class*="-zero"]{
	margin:0;
	padding:0;
	list-style:none;
}
[class*="-dnone"]{
	display: none;
}
[class*="-winherit"]{
	width:inherit;
}
[class*="-w100"]{
	width:100%;
}
[class*="-hinherit"]{
	height:inherit;
}
[class*="-bright"]{
	border-right: 1px solid currentColor;
}
[class*="-bleft"]{
	border-left: 1px solid currentColor;
}
[class*="-btop"]{
	border-top: 1px solid currentColor;
}
[class*="-bbottom"]{
	border-bottom: 1px solid currentColor;
}
[class*="panel-"]{
	flex: 0 auto;
	max-width:40%;
	width:320px;
}
.full-content {
    padding:2rem 0;
}
.narrow-content > h1,
.full-content > h1 {
    margin: 0rem 1rem 2rem 1rem;
	text-align: center;
}
.narrow-content{
    max-width: 1400px;
    margin:0 auto;
    width: 100%;
}
.text-ellipsis,
.text-ellipsis p {
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}
.page-title{
	text-align: center;
	margin:20px;
}
.card{
	padding:20px;
	background-color: var(--white);
	border-radius: 5px;
	box-shadow: 2px 2px 3px 2px rgba(0, 0, 0, 0.2);
}
.logo {
height: 2rem; /* Equivale a 'h-8' */
width: auto;
}
nav .additional-logo {
	position: absolute;
	left: 10px;
	bottom:10px;
}
.additional-logo{
max-height: 25px;
margin-right: 15px;
}
.service-svg{
text-align: center;
}
.service-svg > svg{
max-width: 100px;
margin:0 auto;
}
.svg{
display: flex;
align-items: center;
justify-content: center;
}
.svg > svg{
max-width: 50px;
margin:0 auto;
width: 25px;
padding: 6px;
box-sizing: content-box;
color:var(--primary);
}
.bkcprimary{
background-color: var(--primary) !important;
}
.cprimary{
color: var(--primary) !important;
}
.bkctertiary{
background-color: var(--tertiary) !important;
}
.bkcwhite{
background-color: var(--white);
}
.cwhite{
color: var(--white);
}
.clow{
color: #888;
}
.ctertiary{
color: var(--tertiary) !important;
}
ul.inline-block{
display: flex;
flex-wrap: wrap;
list-style: none;
align-items: stretch;
}
ul.inline-block > li {
/*box-shadow: 1px 0 0 0 #e1e1e1, 0 1px 0 0 #e1e1e1, 1px 1px 0 0 #e1e1e1, inset 1px 0 0 0 #e1e1e1, inset 0 1px 0 0 #e1e1e1;*/
flex: auto;
min-width: 180px;
width: 20%;
box-sizing: border-box;
}
.logo-konica > img {
max-width: 150px;
}
.big-button{
position: relative;
display: block;
padding: 10px;
background-color: var(--primary);
color: white;
font-weight: bold;
text-align: center;
border-radius: 5px;
text-decoration: none;
cursor: pointer;
}

.big-button:hover{
box-shadow: 2px 3px 1px rgb(44 105 196 / 47%);
}
.btn-simple{
transition: all 500ms ease-in-out;
color:#666;
margin:10px 0px 0px 0px;
font-weight: bold;
text-transform: uppercase;
text-align: center;
}
.btn-simple:hover{
color: var(--primary);
}

form,
form label{
display: flex;
flex-direction: column;
padding: 5px;;
}
form label textarea,
form label input{
padding: 1rem;
font-size: 1rem;
outline: none;
border: 1px solid #999;
border-radius: 5px;
}
form input[type=submit]{
outline: none;
border: none;
width: 100%;
text-transform: uppercase;
}
/* Estilos básicos para el input */
form label {
position: relative;
margin: 10px 0px;
}
form .checkgroup label strong{
position: relative;
top: unset;
left: unset;
transform: unset;
}form .checkgroup label{
flex-direction: row;
margin: 0;
padding: 10px 20px;
cursor: pointer;
border-top:1px solid rgba(0,0,0,0.2);
}form .checkgroup label:hover{
background-color: rgba(0,0,0,0.1);
}
form .check-policy{
align-items: center;
font-size: 14px;
display: flex;
flex-direction: row;
vertical-align: middle;
justify-content: space-between;
cursor: pointer;
}
form .check-policy > span:first-child{
z-index: 1;
}
form .check-policy > input{
position:absolute;
left:0;
right: 0;
top:0;
bottom: 0;
opacity: 0;
}


/* Estilos para el placeholder flotante */
form label strong {
position: absolute;
top: 30px;
left: 25px;
transform: translateY(-50%);
color:rgb(43 42 41);
pointer-events: none;
transition: all 0.2s ease-out;
}
form label textarea:focus + strong,
form label textarea:not(:placeholder-shown) + strong,
form label input:focus + strong,
form label input:not(:placeholder-shown) + strong {
top: -5px;
left: 5px;
font-size: 12px;
color: var(--primary);
}
form label textarea:focus,
form label textarea:not(:placeholder-shown),
form label input:focus,
form label input:not(:placeholder-shown) {
border: 1px solid var(--primary);
}
#contacto{
margin: 10px;
}
#contacto > h1{
text-align: center;
}
.contact-info{
padding:0px 0px 20px 20px;
max-width: 300px;
margin:0px 0px 0px 20px;
border-left:1px dashed rgba(0,0,0,0.2);
}
.contact-info > img {
max-width: 200px;
}
/* SUBMENUS DROPDOWN */
.submenu-dropdown{
margin-left: 10px;
margin-right: auto;
margin-top: 75px;
margin-bottom: 25px;
}
.submenu-dropdown > p{
padding: 15px 10px;
font-size: 16px;
font-weight: bold;
margin: 0;
border: none;
cursor: pointer;
display: inline-flex;
border-radius: 5px;
align-items: center;
box-shadow: 0 4px 9px 0 rgba(12,66,120,.46);
min-width: 187px;
}
.submenu-dropdown > p > span:last-child{
margin: 0 0px 0 10px;
}
.submenu-dropdown > ul{
border-radius: 5px;
position: absolute;
list-style: none;
padding: 0px 10px;
font-size: 22px;
box-shadow: 0 4px 9px 0 rgba(12,66,120,.46);
z-index: 1;
margin: 2.5px 0;
min-width: 187px;
}
.submenu-dropdown > ul > li{
padding: 10px 20px 10px 0px;
}
.submenu-dropdown > ul > li > a{
color: currentColor;
font-size: 16px;
font-weight: bold;
text-decoration: none;
display: block;
}
/*CIKONSS*/
.gg-arrow-down {
box-sizing: border-box;
position: relative;
display: block;
transform: scale(var(--ggs,1));
width: 22px;
height: 22px;
border: 2px solid transparent;
border-radius: 100px
}
.gg-arrow-down::after {
content: "";
display: block;
box-sizing: border-box;
position: absolute;
width: 10px;
height: 10px;
border-bottom: 2px solid;
border-right: 2px solid;
transform: rotate(45deg);
left: 4px;
top: 2px
}
.gg-minus {
box-sizing: border-box;
position: relative;
display: block;
transform: scale(var(--ggs,1));
width: 16px;
height: 2px;
background: currentColor;
border-radius: 10px
}
.gg-mail,
.gg-mail::after {
display: block;
box-sizing: border-box;
height: 14px;
border: 2px solid;
}
.gg-mail {
overflow: hidden;
transform: scale(var(--ggs, 1));
position: relative;
width: 18px;
border-radius: 2px;
}
.gg-mail::after {
content: "";
position: absolute;
border-radius: 3px;
width: 14px;
transform: rotate(-45deg);
bottom: 3px;
left: 0;
}
.gg-pin {
box-sizing: border-box;
position: relative;
display: block;
transform: rotate(45deg) scale(var(--ggs, 1));
width: 18px;
height: 18px;
border-radius: 100% 100% 0 100%;
border: 2px solid;
margin-top: -4px;
}
.gg-pin::before {
content: "";
display: block;
box-sizing: border-box;
position: absolute;
width: 8px;
height: 8px;
border: 2px solid;
top: 3px;
left: 3px;
border-radius: 40px;
}
.gg-phone {
box-sizing: border-box;
position: relative;
display: block;
width: 22px;
height: 22px;
transform: scale(var(--ggs, 1));
}
.gg-phone::after,
.gg-phone::before {
content: "";
display: block;
box-sizing: border-box;
position: absolute;
}
.gg-phone::after {
width: 18px;
height: 18px;
border-top-left-radius: 1px;
border-bottom-right-radius: 1px;
border-bottom-left-radius: 12px;
border-left: 4px solid;
border-bottom: 4px solid;
left: 2px;
bottom: 2px;
background:
	linear-gradient(to left, currentColor 10px, transparent 0) no-repeat right
	11px/6px 4px,
	linear-gradient(to left, currentColor 10px, transparent 0) no-repeat -1px 0/4px
	6px;
}
.gg-phone::before {
width: 20px;
height: 20px;
border: 6px double;
border-top-color: transparent;
border-bottom-color: transparent;
border-left-color: transparent;
border-radius: 50%;
transform: rotate(-45deg);
bottom: 2px;
left: 2px;
}

#support > ol {
padding-left: 15px;
margin: 0;
}
#windows{
position:fixed;
z-index:10;
min-width:320px;
height:80%;
left: 50%;
top: 50%;
overflow:auto;
transform: translate(-50%, -50%);
background-color: white;
padding:0 20px 10px 20px;
border-radius: 10px;
box-shadow: 0 1.6px 3.6px 0 rgb(0 0 0 / 13%), 0 0.3px 0.9px 0 rgb(0 0 0 / 11%);
}
#windows > .header{
position:sticky;
top:0;
padding: 10px 0px;
background-color:white;
border-bottom:1px solid rgba(0,0,0,0.1);
cursor:pointer;
}
#windows > h3{
font-weight:300;
text-transform:uppercase;
font-size:24px;
margin:0;
}


.cookie-consent-banner {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
background-color: #f0f0f0;
color: #333;
padding: 15px;
text-align: center;
z-index: 1000;
box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
transform: translateY(100%);
transition: transform 0.3s ease-in-out;
}

.cookie-consent-banner.visible {
transform: translateY(0);
}

.cookie-consent-content {
max-width: 960px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: center;
}

.cookie-consent-content p {
margin-bottom: 10px;
font-size: 0.9rem;
}

.cookie-consent-buttons {
display: flex;
gap: 10px;
}

.cookie-consent-buttons button {
padding: 10px 15px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 0.9rem;
}

.cookie-consent-buttons .accept-all {
background-color: #4CAF50;
color: white;
}

.cookie-consent-buttons .reject-all {
background-color: #f44336;
color: white;
}

.cookie-consent-buttons .settings-button {
background-color: #008CBA;
color: white;
}
.cookie-settings-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 1000;
display: flex;
justify-content: center;
align-items: center;
}

.cookie-settings-modal {
background-color: white;
padding: 20px;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
z-index: 1001;
max-width: 500px;
width: 90%;
}


.cookie-settings-content h3 {
margin-top: 0;
margin-bottom: 15px;
text-align: center;
}

.cookie-category {
margin-bottom: 15px;
padding: 10px;
border: 1px solid #ccc;
border-radius: 4px;
}

.cookie-category label {
display: flex;
align-items: center;
margin-bottom: 5px;
font-weight: bold;
}

.cookie-category input[type="checkbox"] {
margin-right: 10px;
}

.cookie-category .description {
font-size: 0.85rem;
color: #666;
}

.settings-buttons {
display: flex;
gap: 10px;
justify-content: flex-end;
margin-top: 20px;
}

.settings-buttons button {
padding: 10px 15px;
border: none;
border-radius: 5px;
cursor: pointer;
font-size: 0.9rem;
}

.settings-buttons .save-settings {
background-color: #008CBA;
color: white;
}

.settings-buttons .cancel-settings {
background-color: #ccc;
color: #333;
}
/* Contenedor principal del slider (100% de ancho) */
.slider {
position: relative;
width: 100%;
overflow: hidden;
}
/* Contenedor de los slides en fila (flex) */
.slides-container {
display: flex;
height: 100%;
}
.slides-container > div {
transform: scale(0.7);
transition: transform 0.5s ease-in-out;
}
.slides-container > div.active {
transform: scale(1);
}
/* Cada slide ocupa 33.33% del contenedor */
.slide {
flex: 0 0 33.33%;
position: relative;
display: flex;
justify-content: center;
align-items: center;
}

.slide img {
width: 100%;
height: 100%;
object-fit: cover;
}
/* Contenido sobre la imagen */
.slider-info{
text-align: left;
margin:0 auto;
}
.slider-info > ul.attrs-machine{
list-style: none;
margin: 0;
padding: 0;
}
.slider-info > ul.attrs-machine > li {
line-height: 1.3;
margin: 10px 0;
padding-left: 15px;
position: relative;
font-size: 18px;
}
.slide-content{
	padding: 0px 10px;
	background-color: white;
}
.slider-image {
	position: relative;
	width: 290px;
	height: 340px;
	background-position:center;
	background-repeat: no-repeat;
	background-size: contain;
}
.slider-image .price {
	border-radius: 100px;
	padding: 10px;
	background-color: var(--primary);
	color:white;
	width: 160px;
	height: 160px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transform: rotate(10deg);
	position: absolute;
	bottom: 0;
	right: 0;
}
.slider-image .price .unit-decimals{
	line-height: 30px;
}
.slider-image .price .unit {
	font-size: 42px;
	font-weight: bold;
}
.slider-image .price .decimals{
	font-size: 34px;
}
.slider-image .price .period {
	font-size: 22px;
}
.slider-info > ul.attrs-machine > li:before {
	border-color: var(--primary);
	content: "";
	display: inline-block;
	box-sizing: border-box;
	vertical-align: super;
	position: relative;
	left: -10px;
	width: 6px;
	height: 10px;
	border-width: 0 2px 2px 0;
	border-style: solid;
	transform-origin: bottom left;
	transform: rotate(45deg);
}
.slider-info > .button{
	padding: 20px 0px 10px 0px;
}
/* Botones de navegación */
.nav-button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(0,0,0,0.5);
	border: none;
	color: #fff;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	cursor: pointer;
	font-size: 18px;
	z-index: 1;
}
.nav-button.prev {
	left: 10px;
}
.nav-button.next {
	right: 10px;
}
/* Barra de progreso */
.progress-bar {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 5px;
	width: 0;
	background-color: var(--secondary);
	transition: width 0.1s linear;
}
.progress-bar-circular-container {
	position: absolute;
	bottom: 10px;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 60px;
}

.progress-bar-circular {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.progress-circle {
	width: 90px;
	height: 90px;
	overflow: visible;
	fill: transparent;
	stroke: var(--primary);
	stroke-width: 5px;
	stroke-dasharray: 282.74; /* 2 * Math.PI * 45 */
	stroke-dashoffset: 282.74;
	transition: stroke-dashoffset 0.3s ease-in-out;
}

.hero-section {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 80px 5%; /* Padding superior/inferior y horizontal */
	background-color: var(--smoke);
	min-height: 500px;
	font-family: Arial, sans-serif;
	gap: 40px; /* Espacio entre el texto y la imagen */
}
.bkimage-hero{
	background-image: url(../images/fondo-banner-x.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: rgba(255,255,255,0.3);
}

.hero-content {
	max-width: 550px;
}

.hero-content h1 {
	font-size: 2.5rem;
	margin-bottom: 15px;
	line-height: 1.2;
}

.hero-content h2 {
	font-size: 1.5rem;
	color: var(--primary);
	margin-bottom: 25px;
	font-weight: 400;
}

.hero-content p {
	font-size: 1.1rem;
	color: var(--tertiary);
	margin-bottom: 40px;
	line-height: 1.6;
}

.hero-image-container {
	flex-grow: 1;
	max-width: 500px;
	text-align: right;
}

.hero-image-container img {
	max-width: 100%;
	height: auto;
}

 /* Botones (CTAs) */
.cta-buttons a {
	text-decoration: none;
	padding: 12px 25px;
	margin-right: 15px;
	border-radius: 5px;
	font-weight: bold;
	transition: background-color 0.3s ease;
	display: inline-block;
}

.cta-primary {
	background-color: var(--primary);
	color: var(--white);
	border: 2px solid var(--primary);
}

.cta-primary:hover {
	background-color: #0056b3; /* Un tono más oscuro */
}

.cta-secondary {
	background-color: transparent;
	color: var(--primary);
	border: 2px solid var(--primary);
}

.cta-secondary:hover {
	background-color: var(--primary);
	color: var(--white);
}