/*figma reset*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

::before,
::after {
  --tw-content: '';
}

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

*{
	box-sizing: border-box;
}

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

abbr:where([title]) {
  text-decoration: underline dotted;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

a {
  color: inherit;
  text-decoration: inherit;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp,
pre {
  font-size: 1em; /* 4 */
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
	border:0;
}

button,
select {
  text-transform: none;
}

button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

:-moz-focusring {
  outline: auto;
}

:-moz-ui-invalid {
  box-shadow: none;
}

progress {
  vertical-align: baseline;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

summary {
  display: list-item;
}

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

dialog {
  padding: 0;
}

textarea {
  resize: vertical;
}


button,
[role="button"] {
  cursor: pointer;
}

:disabled {
  cursor: default;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}

img,
video {
	/* disable max-width solves bug img-export/propagation > nested-img-bigger */
	max-width:100%;
  	height: auto;
}

[hidden] {
  display: none;
}

*{
	text-underline-offset: 0.134em;
}
/*figma reset.*/

/*figma global*/

:root {
	/* color variables */
	--bc-dark-beige: #cccac4;
	--bc-white: #FFFFFF;
	--bc-black: #262626;
	--bc-grey: #D9D9D9;
	--bc-dark-grey: #8B8C8E;
	--bc-light-beige: #e2e1da;
	--bc-light-grey: #f5f5f4;
	--bc-light-brown: #9D938F;
	--bc-dark-brown: #8D8277;
	--bc-semantic-error:#E22C43;
	--bc-semantic-success: #00A745;

	/* responsive margins / paddings */
	--margin-sm: 16px;
	--margin-md: 32px;
}

* {
	--min-screen-size: 430;
	--max-screen-size: 1440;
	--interpolate-diff: calc(var(--max-font-size) - var(--min-font-size));
	--interpolate: clamp(calc(var(--min-font-size) * 1px), calc((var(--min-font-size) * 1px) + var(--interpolate-diff) * ((100vw - calc(var(--min-screen-size) * 1px)) / (var(--max-screen-size) - var(--min-screen-size)))), calc(var(--max-font-size) * 1px));
}

html {
	height: 100%;
	font-size: 16px !important;
}

html, body {
	font-family: var(--solo-font);
}

/* LR - Regole differenti con stessa classe prese dai relativi global degli export, stile da impostare nel singolo twig o cambio nome classe
.h3-20-regular {	// Presenze
	font-weight: 350;
}
.h3-20-regular {	// Presenze:pop-cambio-previsionale
	color: var(--bc-black);
	--min-font-size: 19; --max-font-size: 20; font-size: var(--interpolate);
	font-style: normal;
	font-weight: 350;
	line-height: normal;
	letter-spacing: 0.4px;
}
.h3-20-regular {	// Presenze:pop-tipo-trasferta
	--min-font-size: 19; --max-font-size: 20; font-size: var(--interpolate);
	font-style: normal;
	font-weight: 350;
	letter-spacing: 0.4px;
}
.text-s-12-regular {	// Presenze:pop-inserimento-presenza
	font-size: 12px;
	font-style: normal;
	font-weight: 350;
}
.text-s-12-regular {	// Presenze
	font-weight: 350;
	letter-spacing: 0px;
}
.card {					// Presenze:pop-inserimento-presenza
	width: 337px;
	display: flex;
	align-items: center;
	padding: 0 7px;
	border: 1px solid var(--bc-grey);
	border-radius: 4px;
}
.card {					// Presenze
	height: 79px;
	background-color: unset;
	padding: 19px 19px 44px 19px;
	border: 1px solid var(--bc-grey);
	border-bottom-right-radius: 12px;
	border-bottom-left-radius: 12px;
}
.text-s-12-bold1 {		// Presenze
	color: var(--bc-black);
	font-style: normal;
	line-height: 1.167;
}
.text-s-12-bold1 {		// Presenze:pop-inserimento-presenza
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.167;
	letter-spacing: 0.1px;
}
.text-s-12-bold2 {		// Presenze
	color: var(--bc-black);
	font-style: normal;
	font-weight: 400;
	line-height: 1.167;
	letter-spacing: 0.1px;
}
.text-s-12-bold2 {		// Presenze:pop-inserimento-presenza
	font-size: 12px;
	font-style: normal;
	line-height: 1.167;
	letter-spacing: 0.1px;
}
.text-m-15-regular {	// Presenze:pop-inserimento-presenza, Presenze:pop-tipo-trasferta
	font-style: normal;
	font-weight: 350;
}
.text-m-15-regular {	// Presenze:pop-cambio-previsionale
	color: var(--bc-black);
	font-size: 15px;
	font-style: normal;
	font-weight: 350;
	line-height: normal;
	letter-spacing: 0px;
}
.text-m-15-bold-a2 {	// Presenze
	color: var(--bc-black);
	font-style: normal;
	font-weight: 400;
	letter-spacing: 0px;
}
.text-m-15-bold-a3 {	// Presenze
	font-style: normal;
	font-weight: 400;
}
.text-l-18-bold {		// Presenze:pop-conferma-operazione
	color: var(--bc-black);
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0px;
}
*/

/* text utility classes */
.h1-35-regular {
	color: var(--bc-black);
	--min-font-size: 21; --max-font-size: 35; font-size: var(--interpolate);
	font-style: normal;
	line-height: normal;
	letter-spacing: 0px;
}

.h1-35-bold {
	color: var(--bc-black);
	--min-font-size: 21; --max-font-size: 35; font-size: var(--interpolate);
	font-style: normal;
	font-weight: bold;
	line-height: normal;
	letter-spacing: 0px;
}

.h3-20-bold {
	font-size: 20px;
	font-style: normal;
	font-weight: 550;
	line-height: normal;
	letter-spacing: 0px;
}

.text-s-12-regular {
	font-size: 12px;
	font-style: normal;
	line-height: normal;
	letter-spacing: 0px;
}

.text-s-12-regular-a {
	color: var(--bc-black);
	font-style: normal;
	font-weight: 350;
	line-height: normal;
	letter-spacing: 0px;
}

.text-m-15-regular {
	font-size: 15px;
	font-style: normal;
	font-weight: 350;
	line-height: normal;
	letter-spacing: 0px;
}

.text-m-15-bold {
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0px;
}

.text-m-15-bold2 {
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	text-decoration: underline;
	line-height: normal;
	letter-spacing: 0px;
}

.text-l-18-regular {
	color: var(--bc-black);
	font-size: 18px;
	font-style: normal;
	font-weight: 350;
	line-height: normal;
	letter-spacing: 0px;
}

.text-l-18-bold {
	color: var(--bc-black);
	--min-font-size: 16; --max-font-size: 18; font-size: var(--interpolate);
	font-style: bold;
	line-height: normal;
	letter-spacing: 0px;
}

/* ui objects utility classes */

/* .input {
	background-color: unset;
	padding: 13px 15px;
	border: 1px solid var(--bc-dark-grey);
	border-radius: 4px;
}

.group {
	padding: 19px 19px 45px 19px;
	border-left: 1px solid var(--bc-grey);
	border-top: 1px solid var(--bc-grey);
	border-right: 1px solid var(--bc-grey);
	border-top-left-radius: 12px;
	border-top-right-radius: 12px;
}

.btn {
	display: flex;
	padding: 11px 8px;
	border: 1px solid var(--bc-grey);
	border-top-left-radius: 12px;
} */

/* button hover utility classes */

.hover-zoom:hover {
	color: var(--bc-black);
	background-color: var(--bc-grey);
	border: none;
}

.hover-bright:hover {
	color: var(--bc-black);
	background-color: var(--bc-grey);
}

.icon-container {
	opacity: 0.7;
	width: 38px;
	height: 38px;
	flex-shrink: 0;
	padding: 7px;
	border-radius: 50%;
	background-color: var(--bc-light-grey);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 24px 24px;
	transition: transform 0.4s ease, background-image 0.4s ease, background-color 0.4s ease;
}

/* .circle-dark, .stripe-documenti-btn-badge */
.badge-novita {
	justify-content: center;
	flex-shrink: 0;
	color: var(--bc-white)!important;
	text-align: center;
	width: 42px;
	height: 23px;
	display: flex;
	background-color: var(--bc-black);
	padding: 0 8px;
	border-radius: 40px;
	align-items: center;
	font-size: 12px;
	font-weight: 350;
}

.allegati {
	display: flex!important;
	align-items: center;
	gap: 20px;
	background-color: var(--bc-light-grey);
	padding: 20px;
	border-radius: 6px;
	margin: 10px auto;
}

.allegati .container-text-description{
	flex:1 1 auto;
	min-width:0;
	overflow:hidden;
	font-size:clamp(12px, 1.8vw, 15px);
	line-height:1.25;
}

.allegati:hover {
	background-color: var(--bc-white);
}

.allegati .badge-novita {
	margin-left: auto;
}

/* stripe-documenti-container */
.doc-content {
	display: flex;
	align-items: center;
	gap: 20px;
}

/* stripe-documenti-pdf */
.doc-download {
	position: relative;
	width: 21px;
	height: 23px;
	flex-shrink: 0;
}

/* stripe-documenti-text */
.doc-name {
	font-size: 15px;
	font-style: normal;
	font-weight: 350;
	letter-spacing: 0;
	text-align: left;
}

/* container-line */
.line {
	width: 100%;
	max-width: 762px;
	height: 0;
	flex-shrink: 0;
	border-top: 1px solid var(--bc-light-beige);
}

.details-container {
	margin: 0 auto;
	width: 90%;
	max-width: 762px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-weight: 500;
	letter-spacing: 0.06px;
	text-align: center;
}

.document-header {
	cursor: pointer;
	margin: 0 auto;
	width: 100%;
	max-width: 762px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 20px;
	text-align: left;
	border-top: 1px solid var(--bc-light-beige);
	padding: 15px 0;
}

.document-panel {
	margin: 0 auto 0 auto;
	width: 100%;
	max-width: 762px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	font-size: 20px;
	text-align: left;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.logofooter {
	margin: 0 auto;
	height: 45px;
	width: 45px;
	display: block !important;
}
/*figma global.*/

body {
	min-height: 100%;
	display: flex;
	gap: 2px;
	color: var(--bc-black);
	font-weight: 350;
	line-height: 1.4;
	letter-spacing: 1.48px;
	text-align: center;
	background-color: var(--bc-white);
	overflow: auto;
	align-items: stretch;
}

html, body {
	height: 100vh;
	margin: 0;
}

/* input-group-desktop-text */

.input-group-desktop-text {
	width: 100%;
	max-width: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex-shrink: 1;
}

.input-group-desktop-text-label {
	font-size: 15px;
	font-style: normal;
	line-height: normal;
	letter-spacing: 0px;
	text-align: left;
}

.input-group-desktop-text-input {
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0px;
	text-align: left;
}
/* end input-group-desktop-text*/

.text-menu {
	text-transform: uppercase;
	text-align: center;
}

/* Sidebar */

.label {
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.167;
	letter-spacing: 2.38px;
}

.menu-container {
	display: inline-flex;
	align-items: flex-end;
	justify-content: space-between;
	width: 100%;
}

.icon-sidebar {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	padding: 7px;
	margin-right: 10px;
	margin-top: 10px;
	border-radius: 50%;
	background-color: var(--bc-light-beige);
	background-repeat: no-repeat;
	background-position: center;
	transition: transform 0.4s ease, background-image 0.4s ease, background-color 0.4s ease;
}
.sidebar-label {
	color: var(--bc-black);
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 14px;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	margin-left: 30px;
	vertical-align: bottom;
}
.icon-sidebar:hover {
	background-color: var(--bc-black);
	transform: rotate(45deg);
	content: url(/themes/images/subtheme/icon-container-icon2.svg);
}
/* Sidebar. */
/*figma toast*/
#kf_toast .kf_toast-container {
	width: max-content;
	max-width: 90%;
	position: fixed;
	bottom: 1rem;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	text-align: unset;
	background-color: var(--toast-bg);
	padding: 10px 16px;
	border-radius: 24px;
	overflow: hidden;
	margin: 0;
}

#kf_toast .kf_toast-container:has(.toast_ok) {
	--toast-bg: var(--bc-semantic-success);
}
#kf_toast .kf_toast-container:has(.toast_error) {
	--toast-bg: var(--bc-semantic-error);
}

#kf_toast .icon-close {
	width: 44px; height: 44px;
	flex-shrink: 0;
	background-color: var(--bc-black);
	padding: 8px;
	border-radius: 50%;
	cursor: pointer;
}

#kf_toast .icon-close-icon {
	width: 28px; height: 28px;
	transition: transform .4s ease;
  	transform-origin: 50% 50%;
}

#kf_toast .icon-close:hover .icon-close-icon,
#kf_toast .icon-close:focus-visible .icon-close-icon {
  transform: rotate(90deg);
}

#kf_toast .btn-label {
	margin-left: 8px;
	text-align: left;
	letter-spacing: inherit;
}

/* #kf_toast .kf_toast-container {
	opacity: 0;
}

#kf_toast[style*="display: block"] .kf_toast-container {
	animation: kf_toast_in .35s ease forwards;
}

@keyframes kf_toast_in {
	from { opacity: 0; transform: translateX(-50%); }
	to   { opacity: 1; transform: translateX(-50%); }
} */

/* figma toast.*/

/* home */

.home-profile-section {
	width: 100%;
	margin-top: 30px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	align-self: start;
    text-align: left;
}

.home-profile-section-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-self: stretch;
}

.home-presence-section {
	width: 100%;
	margin-top: 40px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-self: stretch;
	color: var(--bc-black);
	font-size: 15px;
	line-height: normal;
	letter-spacing: 0px;
	text-align: left;
}

.home-presence-section-text {
	align-self: stretch;
}

.home-timesheet {
	display: flex;
	align-items: center;
	gap: 20px;
	background-color: var(--bc-light-grey);
	padding: 8px 0 8px 8px;
	border-radius: 12px;
}

.home-timesheet-img {
	background-color: var(--bc-light-brown);
	padding: 15px;
	border-radius: 8px;
	transition: background-color 0.4s ease;
}

.home-timesheet-icon {
	width: 50px; height: 50px;
	transition: transform 0.4s ease, background-image 0.4s ease, background-color 0.4s ease;
}

.home-timesheet:hover .home-timesheet-icon {
	transform: rotate(90deg);
}

.home-timesheet:hover .home-timesheet-img {
	background-color: var(--bc-black);
}

.home-timesheet-presence {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	justify-content: space-between;
	width: 90%;
	padding-right: 30px;
}

.home-timesheet-text-presence {
	align-self: stretch;
}

.home-timesheet-hours {
	display: flex;
	align-items: center;
	gap: 20px;
}

.home-hours {
	color: var(--bc-black);
	font-size: 15px;
	font-style: normal;
	font-weight: 350;
	line-height: normal;
}

.home-circle-dark {
	width: 3px;
	flex-shrink: 0;
	background-color: var(--bc-black);
	aspect-ratio: 1 / 1;
	border-radius: 50%;
}

.home-stripe {
	display: flex;
	align-items: center;
	gap: 20px;
	background-color: var(--bc-light-grey);
	padding: 16px 20px;
	border-radius: 6px;
	transition: background-color 0.4s ease;
}

.home-stripe-new {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: var(--bc-light-grey);
	padding: 20px;
	gap: 20px;
	border-radius: 6px;
	transition: background-color 0.4s ease;
}

.home-stripe-new:hover, .home-stripe:hover {
	background-color: var(--bc-white);
}

.home-text-s-12-regular {
	font-size: 12px;
	font-style: normal;
	font-weight: 350;
	letter-spacing: 0px;
}

.home-card {
	gap: 24px;
	width:100%;
	display: flex;
	flex-direction: column;
	background-color: var(--bc-light-grey);
	padding: 30px;
	border-radius: 12px;
	margin-top: 30px;
}

.home-card-section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	letter-spacing: 0px;
	text-align: left;
}

.home-card-section-info {
	display: flex;
	align-items: center;
	gap: 19px;
	color: var(--bc-black);
	font-size: 15px;
}

.home-card-section {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 32px;
	flex-shrink: 0;
	color: var(--bc-light-grey);
	font-size: 6.22px;
	font-weight: 500;
	letter-spacing: 0.06px;
	text-align: center;
}

.home-card-item-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.home-card-links {
	text-decoration: underline;
	text-decoration-style: solid;
	text-decoration-skip-ink: auto;
	text-decoration-thickness: 8%; /* 1.2px */
	text-underline-offset: 16%; /* 2.4px */
	text-underline-position: from-font;
}

.home-doc-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
}

.popup-icon-close {
	position: absolute;
	top: 10px;
	right: 10px;
	padding: 8px;
	border-radius: 50%;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	background-color: var(--bc-light-beige);
	background-repeat: no-repeat;
	background-position: center;
	transition: transform 0.4s ease, background-image 0.4s ease, background-color 0.4s ease;
	cursor:pointer;
}

.popup-icon-close:hover {
	background-color: var(--bc-black);
	transform: rotate(45deg);
	content: url(/themes/images/subtheme/icon-container-icon2.svg);
}


/* home. */

/* profilo */
.roles-details {
	container: body / inline-size;
	min-height: auto;
	display: flex;
	flex-direction: column;
	gap: 24px;
	font-weight: 350;
	line-height: 1.4;
	letter-spacing: 1.48px;
	text-align: left;
	background-color: var(--bc-white);
	overflow: visible;
}
.tablink {
	cursor: pointer;
	display: flex;
	width: 86px;
	height: 38px;
	padding: 0 15.625px;
	justify-content: center;
	align-items: center;
	gap: 15px;
	border-radius: 200px;
	transition: background-color .5s ease;
}
.tablink.active {
    background-color: var(--bc-light-beige);
	cursor: default;
}
.steps-wrapper {
	position: relative;
	overflow: hidden;
}
.steppid {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s ease, visibility 0s linear .28s;
	pointer-events: none;
}

.steppid.isvisible {
	position: relative;
	opacity: 1;
	visibility: visible;
	transition: opacity .5s ease;
	pointer-events: auto;
}
.roles-details-container {
	display: inline-flex;
	height: 55px;
	padding: 8px 10px;
	align-items: center;
	gap: 5px;
	flex-shrink: 0;
	border-radius: 78.125px;
	border: 1px solid var(--bc-light-beige);
}
.card-role-details {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 8px 24px 8px 9px;
	border: 1px solid var(--bc-light-beige);
	border-radius: 78.13px;
}
/* ruoli */
.text-profile {
	width: 90%;
    max-width: 762px;
    margin: 56px auto 0 auto;
    text-align: left;
}
/* row2 */
.ruoli {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	align-self: center;
	max-width: 762px;
}
.card-background {
	width: 300px; height: 300px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex-shrink: 0;
	border-radius: 12px;
}
.card-bg1 {
	background-color: var(--bc-light-beige);
	padding: 20px;
}

.card-bg2 {
	padding: 19px;
	border: 1px solid var(--bc-grey);
	cursor: pointer;
}
.card-background-role {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-self: stretch;
	flex: 1 1 auto;
}
.card-background-text-role {
	font-size: 15px;
	font-style: normal;
	line-height: normal;
	letter-spacing: 0px;
	text-align: left;
}
.card-background-role-details {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.card-background-text-company {
	font-size: 20px;
	font-style: normal;
	line-height: normal;
	letter-spacing: 0.4px;
	text-align: left;
}
.profilo-text-l-18-bold {
	--min-font-size: 16; --max-font-size: 18; font-size: var(--interpolate);
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0px;
}
.radio-text {
	font-size: 12px;
	font-style: normal;
	line-height: normal;
	letter-spacing: 0px;
	text-align: left;
}
.radio {
	display: flex;
	align-items: center;
	gap: 8px;
}
.card-role-details-btn {
	justify-content: center;
	flex-shrink: 0;
	text-align: center;
}
.card-role-details-text {
	width: 56px;
	flex-shrink: 0;
}
/* fine ruoli */
/* dettagli */
.preferences-container {
	margin: 64px auto 0;
	width: 90%;
	max-width: 762px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.preferences-container .preferences-container-text {
	grid-column: 1 / -1;
}

.preferences-container > .checkboxes-a {
	grid-column: 1 / 2;
	justify-self: start;
}

.input-group-desktop-text-container {
	font-size: 15px;
	font-style: normal;
	line-height: normal;
	letter-spacing: 0px;
	text-align: left;
}
.desktop-forms-dropdown {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.checkboxes-a {
	display: flex;
	align-items: center;
	gap: 8px;
	align-self: start;
}
/* .desktop-text-input-label1 */
.form-item__label {
	font-size: 15px!important;
	font-style: normal;
	line-height: normal;
	letter-spacing: 0px;
	text-align: left;
}
.desktop-text-input-container {
	height: 44px;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
	background-color: var(--bc-light-grey);
	border: 1px solid var(--bc-grey);
	border-radius: 4px;
}
.form-fields-container-anag,
.form-fields-container-location {
	margin: 24px auto 0 auto;
	width: 90%;
	max-width: 762px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px 14px;
}

/* form-container */
.form-fields-container-location {
	margin: 64px auto 0 auto;
}

/* fine dettagli */
/* profilo. */

/* bacheca */
.bacheca-details-container {
	margin: 0 auto;
	width: 100%;
	max-width: 762px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: normal;
	letter-spacing: 0.06px;
}
/*.container*/
.flex-container-bacheca {
	display: flex;
	align-items: center;
}
/* container-text-description */
.bacheca-container-text-description {
	margin-right: 73px;
	font-size: 15px;
	font-style: normal;
	font-weight: 350;
	letter-spacing: 0px;
	text-align: left;
	word-break: break-word;
}
.container-text-date {
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.167;
	letter-spacing: 0.1px;
	text-align: left;
}
.bacheca-text-m-15-bold {
	display: inline-flex;
	align-items: center;
	font-size: 15px;
	font-style: normal;
	font-weight: bold;
	letter-spacing: 0px;
}
.bacheca-text-m-15-regular {
	font-size: 15px;
	font-style: normal;
	font-weight: 350;
	letter-spacing: 0px;
}
/* container */
.bacheca-doc-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
}
/* bacheca. */

/* comunicazioni */
.comunicazioni-details-container {
	margin: 0 auto;
	width: 100%;
	max-width: 762px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: normal;
	letter-spacing: 0.06px;
}
.comunicazioni-item {
	width: 100%;
}
.comunicazioni-doc-content {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 15px 0;
}
.comunicazioni-icona-stato {
	width: 40px;
	height: 40px;
}
.comunicazioni-text-m-15-bold {
	font-size: 15px;
	font-style: normal;
	font-weight: bold;
	letter-spacing: 0px;
}
.comunicazioni-text-m-15-regular {
	font-size: 15px;
	font-style: normal;
	font-weight: 350;
	letter-spacing: 0px;
}
/* comunicazioni. */

/* documenti */
/* stripe-documenti-a */
.doc-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	align-self: stretch;
	background-color: var(--bc-light-grey);
	padding: 20px;
	border-radius: 6px;
	transition: background-color 0.4s ease;
}
.document-panel > a:last-child .doc-item {
	margin-bottom: 20px;
}
.doc-item:hover {
	background-color: var(--bc-white);
}
/* documenti. */

/* modale */
.kf_modal{
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1000;
	opacity: 0;
	pointer-events: none;
	visibility: hidden;
	transition: opacity .45s, visibility 0s linear .45s;
}

.kf_modal--open{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity .45s, visibility 0.8s;
}

.kf_modal > .kf_modal_content {
	overflow-y: auto;
	overflow-x: hidden;
	/* width: auto; */
	max-height: 80vh;
}

.kf_modal_content {
	position: relative;
	display: flex;
	margin: auto;
	text-align: left;
	letter-spacing: normal;
	flex-direction: column;
	padding: 30px 22px 30px 30px;
	gap: 24px;
	border-radius: 24px;
	background: var(--bc-white);
	box-shadow: 0 8px 22px -6px rgba(24, 39, 75, 0.12), 0 14px 64px -4px rgba(24, 39, 75, 0.12);
}
/* modale. */

/* overrides */

.messages__close,
.messages__close::after,
.messages__close::before {
	border-style: solid;
}

a.text-m-15-bold,
a.text-m-15-bold2 {
  text-decoration: underline;
}

.page-wrapper input.button {
	height: 40px;
	color: var(--bc-white)!important;
	text-align: center;
	font-size: 12px;
	font-style: normal;
	font-weight: 400;
	line-height: 14px;
	letter-spacing: 2.4px;
	text-transform: uppercase;
	border-radius: 4px;
	background: var(--bc-black)!important;
	box-shadow: none!important;
}

.page-wrapper input.button:hover {
	color: var(--bc-black)!important;
    background-color: var(--bc-grey)!important;
}

.form-text, .form-select {
	box-shadow: none!important;
	border-radius: 4px;
	border: 1px solid var(--bc-dark-grey);
	outline: none;
}
.form-text:focus,
.form-select:focus{
	outline: none!important;
}

.readonly {
	pointer-events: none;
	border: 1px solid var(--bc-grey);
	background-color: var(--bc-light-grey) !important;
	opacity: 0.7;
}

.page-wrapper,
.sw-1600,.sb-992,
.mn-992, .solo__bc-scroll {
	display: unset;
	grid-template-rows: unset;
}

/* .toast_help {background-color:var(--colhelp)!important;text-shadow: unset;} */
.toast_ok {color:var(--bc-white);text-shadow: unset;}
.toast_error {color:var(--bc-white);text-shadow: unset;}
/* .toast_warn {color:#FFF; background-color:var(--colwarn)!important;text-shadow: unset;} */

a.img--is-clickable {
	min-width: unset!important;
}

.branding-wrapper .branding-first {
	margin-inline-end: unset;
}
.ul-parent-account {
	width:92px;
	justify-content: center;
}

#kf_overlay {
	background-color:var(--bc-grey);
	opacity:0.8;
	position:fixed;
	top:0;
	left:0;
	height:100vh;
	width:100%;
	z-index:999;
	display:none;
}
#kf_overlay.visible {
	display: block !important;
}

.page-wrapper form input.button.form-submit:hover {
	animation: none !important;
}

#header {margin-top:20px;}
#header .header-inner {
  	flex-direction: unset;
    justify-content: space-between;
    align-self: stretch;
    font-size: 10px;
    font-weight: 350;
    line-height: 1.4;
    letter-spacing: 1.48px;
    text-align: center;
    background-color: var(--bc-white);
    padding: 20px 30px !important;
}
#header .site-logo img {
	max-width: 200px;
	max-height: 100px;
}
#header .header-inner .block-system-branding-block {
	margin: auto !important;
}

.page-wrapper > .solo-outer > .solo-inner:not(.primary-sidebar-menu-inner, .page-node-type-pb-content .main-container-inner) {
	max-width: 100% !important;
}

.dialog-off-canvas-main-canvas {
	display: flex;
	flex: 1 1 0;
  	flex-direction: row;
}
.page-wrapper {
	--r-bg: var(--bc-white);
}

#sidebar-button-close button span {
	padding-block: unset !important;
	padding-inline: unset !important;
  	min-width: unset;
	width: 100%;
}

#account-menubar--2.navigation__menubar {
	justify-content: flex-start;
	align-items: flex-start;
	text-align: left;
	padding-left: 0;
	margin-left: 30px;
	margin-bottom: 31.87px;
}

#sidebar-menubar {
	font-size: 30px;
	margin: 40px 0 0 14px;
	display: flex;
	/* width: 160px; */
	/* height: 207.317px; */
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;
	flex-shrink: 0;
}

.page-wrapper nav ul:not(.header ul, .solo-ul, .field ul, .pager ul) li > a {
	position: unset;
	font-weight: normal!important;
}

.page-wrapper nav ul li > a::after,
.page-wrapper nav ul li > button::after {
  	background-color: unset;
}

.nav__menu-link-account {
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
}

.menu-items,
#primary-sidebar-menu {
  	left: -400px;
	width: 400px;
	background-color: transparent;
	letter-spacing: normal;
}
.primary-sidebar-menu.toggled {
  transform: translateX(100%) !important;
}
.primary-sidebar-menu-inner {
	margin: 20px;
  	background-color: var(--bc-white);
	box-shadow: 0 8px 8px -8px rgba(24, 39, 75, 0.12), 0 8px 8px -8px rgba(24, 39, 75, 0.12);
  	border-radius: 24px;
	height:90vh !important;
}
.hamburger-icon button {
	background-color: transparent !important;
}

.header-profile,
.stoca-avatar-circle {
  /* .header-profile */
  display: inline-flex;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(151deg, var(--bc-light-beige) 12.32%, var(--bc-dark-brown) 88.71%);
  color: var(--bc-white);
  font-weight: bold;
  font-size: 14px;
  font-family: sans-serif;
  user-select: none;
}

.solo-account-menu a.nav__menu-link.nav__menu-link-account {
    padding: 0 !important;
}

#nav-title-page {
	margin: 0 auto;
	width: 90%;
	max-width: 762px;
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	font-weight: 500;
	letter-spacing: 0.06px;
	margin-bottom: 40px;
}
#nav-title-page .text-article-latest {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
#nav-title-page .next-slide {
	display: inline-flex;
	padding: 14px 15px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 50px;
	border: 1px solid var(--bc-light-beige);
	width:56px;
	height:56px;
}

.next-slide {
	transition: background-color 0.4s ease;
}

#nav-title-page .next-slide:hover {
	background-color: var(--bc-black);
	content: url(/themes/images/subtheme/next-slide2.svg);
}

.accordion.active .icon-container {
	background-color: var(--bc-light-beige);
	transform: rotate(45deg);
}

@media(max-width:768px) {

	.header-inner {
		padding:10px 0!important;
	}

	.ul-parent-account {
		width:92px;
		justify-content:end;
	}

	.solo-inner .hamburger-icon, .solo-inner .hamburger-icon > button > span {
  		justify-content:start !important;
	}

	#sidebar-button-open button span {
		padding-inline: unset !important;
	}

	.doc-content .container-text-description {
		margin: auto;
	}

	/* Profilo */
	.form-fields-container-anag,
	.form-fields-container-location,
	.preferences-container {
		grid-template-columns: 1fr;
	}

}

.roles-details .form-fields-container-location.last {
	text-align: center;
}

/* Profilo dettagli */
@media (max-width: 600px) {
	.roles-details .form-fields-container-location.last {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		gap: 16px;
		margin: 24px auto 0;
		text-align: center;
	}

	.roles-details .form-fields-container-location.last > * {
		width: 100%!important;
	}
}

/* Mobile */
@media (max-width: 576px) {

	#calendar {
		margin-top: 16px;
	}

	#kf_toast .kf_toast-container {
		width: 100%;
		align-items: left;
		justify-content: space-between;
	}

	.home-timesheet {
		/* padding-inline: var(--margin-sm); */
		padding-right: 15px;
	}
	.home-card {
		padding: 30px 15px;
	}
	.home-timesheet-presence {
		padding:unset;
		flex-direction: column;
	}
	.home-stripe-new,
	.home-stripe {
		padding: 20px 2px;
	}

	#nav-title-page {
		width: 100%;
	}

	.menu-items,
	#primary-sidebar-menu {
		margin: auto;
		left: -100vw;
		width: 100%;
		background-color: transparent;
	}
	.primary-sidebar-menu-inner {
		height:95dvh !important;
	}
	#primary-sidebar-menu {
		min-width: 100%!important;
		max-width: 100%!important;
		overflow: hidden!important;
	}
	.solo-outer .region-inner {
		padding: 0;
	}
	.details-container {
		width: 100%;
	}
	#header .site-logo img {
		max-height: 58px;
	}
	#header .header-inner {
		padding: 20px 15px !important;
	}

	.text-profile {
		width: 100%;
		margin: unset;
	}
	.form-fields-container-anag,
	.form-fields-container-location,
	.preferences-container {
		width: 100%;
	}
	.ruoli {
		flex-direction: column;
		align-items: flex-start;
	}
	.card-background {
		width: 100%;
	}
	.bacheca-container-text-description {
		margin-right: 0px;
	}
}

.loader-element{ width:100%; height:100%; display:block; pointer-events:none; }

.loader-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4000;
}

.loader-svg {
  --kf-spinner-size: 56px;
  --kf-spinner-speed: .85s;
  --kf-spinner-thickness: 4px;
  --bc-light-beige: #fff;
  --bc-dark-brown: #8D8277;

  width: var(--kf-spinner-size);
  height: var(--kf-spinner-size);
  border: 0;
  background: transparent;
  animation: none;
  position: relative;
  margin: 0 auto;
}

.loader-track,
.loader-arc{
  stroke-width: var(--kf-spinner-thickness);
}

.loader-track{ stroke: var(--bc-light-beige); }
.loader-arc{
  stroke: var(--bc-dark-brown);
  stroke-linecap: round;
  transform-box: fill-box;
  transform-origin: 50% 50%;
  animation: loader_spin var(--kf-spinner-speed) linear infinite;
}

@keyframes loader_spin { to { transform: rotate(360deg); } }

@media (max-width: 576px) {
  .loader-svg {--kf-spinner-thickness: 8px;}
}

/* toglie scatto al caricamento pagina v.AGGIUNGI */
.invisible.container-children-1.solo-clear.element-container-wrapper {
    display: none !important;
}
