@font-face {
    font-family: 'Poppins', sans-serif;
    /*src: url('Poppins-Light.ttf');*/
    src: url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;800&display=swap');
}

@media screen and (min-width: 2000px) {
	.hero.is-classical .hero-body {
		min-height: 50vh;
		display: flex;
	}	
}

@media screen and (min-width: 1300px) and (max-width: 1999px) {
	.hero.is-classical .hero-body {
		min-height: 60vh;
		display: flex;
	}	
}

@media screen and (min-width: 900px) and (max-width: 1299px) {
	.hero.is-classical .hero-body {
		min-height: 70vh;
		display: flex;
	}
}

@media screen and (max-width: 899px) {
	.hero.is-classical .hero-body {
		min-height: 50vh;
		display: flex;
	}	

}

.select.is-adaptative {
	@media screen and (max-width: 768px) {
		max-width: 60%;
	}
}

body,
button,
input,
select,
textarea {
    /*font-family: BlinkMacSystemFont, -apple-system, "Sintony", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;*/
    /*font-family :OpenSans Regular, -apple-system, "Sintony", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;*/
    /*font-family:opensans,-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;*/
    font-family: 'Poppins', sans-serif;
}

.valigntop{
    margin-bottom: auto;
}

.valignbottom{
    margin-top: auto;
}

.slider-item.is-vcentered {
	align-content: center;
}

.view {
	-moz-appearance: none;
	-webkit-appearance: none;
	background-color: rgba(10, 10, 10, 0.2);
	border: none;
	border-radius: 50%; /* Simplifié pour un cercle parfait */
	cursor: pointer;
	pointer-events: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-grow: 0;
	flex-shrink: 0;
	font-size: 20px; /* Taille augmentée pour une meilleure visibilité */
	height: 20px; /* Augmenté pour mieux voir le signe "+" */
	max-height: 20px;
	max-width: 20px;
	min-height: 20px;
	min-width: 20px;
	outline: none;
	position: relative;
	vertical-align: top;
	width: 20px;
	color: white; /* Couleur claire pour contraster avec le fond */
}

.view::before {
content: '+';
}

form{
    margin:1px;
    padding:1px;
}

.select:not(.is-multiple) {
	height: auto;
	}

.is-baselined {
	vertical-align: baseline;
}

.navbar-item img {
	max-height: none;
}

body {
    /*padding-top: 63px;*/
}

.section.is-fullwidth {
	margin:0rem;
	padding-left : 0rem;
	padding-right : 0rem;
}

.notification.is-transparent {
	background-color: transparent;
	background-image: none;	
}

.container.is-authentification {
	max-width: 35rem;
	justify-content: center;
}

.container.is-form {
    max-width: 60rem;
    justify-content: center;
}

.container.has-widget{
    padding-top : 1.5rem;
	padding-bottom : 2rem;
	padding-left : 0.5rem;
	padding-right : 0.5rem;
	z-index:45;
}

.container.is-centered {
	margin-left: auto;
	margin-right: auto;
}

@media screen and (min-width: 1024px) {
.container {
  max-width: 960px;
}
.container.is-fluid {
  margin-left: 2px;
  margin-right: 2px;
  max-width: none;
  justify-content: center;
}
.container.is-vcentered {
  align-items: center;
}
.container.has-content-centered {
  align-items: center;
  display: flex;
}
.container.is-resizable {
  border-width: 2px;
  resize: both;
  overflow: auto;
  max-height: fit-content;
  max-width: fit-content;
}

}

@media screen and (max-width: 768px) {
	.container.has-widget{
		padding-top : 1.5rem;
		padding-bottom : 2rem;
		padding-left : 0.2rem;
		padding-right : 0.2rem;
	}
	.section.is-fullwidth {
		padding-left : 0.25rem;
		padding-right : 0.25rem;
	}	
}

.container.is-medium {
    max-width: 60rem;
    justify-content: center;
}

.button.is-closed {
    background-color: #ECECEC; /* afafaf */
    border-color: transparent;
    color:#363636;
}

.button.is-closed:hover, .button.is-closed.is-hovered {
    background-color: #5d5d5d;
    border-color: transparent;
    /*color: #00810b;*/
    color: whitesmoke
}

.button.is-open {
    background-color: #04BB00;
    border-color: transparent;
    color: whitesmoke;
}

.button.is-open:hover, .button.is-open.is-hovered {
    background-color: #027500;
    border-color: transparent;
    /*color: #00810b;*/
    color: whitesmoke
}

/* ----- SLOT CLOSED ----- */
.button.is-slotclosed {
    background-color: #ECECEC; /* afafaf */
    border-color: transparent;
    color:#363636;
}
    
.button.is-slotclosed:hover, .button.is-slotclosed.is-hovered {
    background-color: #91BB90; /* 7c7c7c */
    border-color: transparent;
    color: whitesmoke
}

.button.is-slotclosed[disabled],
fieldset[disabled] .button.is-slotclosed {
    background-color: #ECECEC;
    color: #363636;
}
/* --------------------- */

/* ----- SLOT OPEN ----- */
.button.is-slotopen {
    background-color: white;
    border-color: transparent;
    color: #000000;
}

.button.is-slotopen:hover, .button.is-slotopen.is-hovered {
    background-color: #9bf899; /* 7c7c7c */
    border-color: transparent;
    color: #000000;
}

.button.is-slotopen[disabled],
fieldset[disabled] .button.is-slotopen {
    background-color: white;
    color: #000000;
}
/* --------------------- */

.input.is-rounded-left {
	border-top-left-radius: 25px;
	border-bottom-left-radius: 25px;
	padding-left: 1em;
	padding-right: 1em;
}

.menu-list a.is-active-home {
    background-color: #ffffff;
    color: #164579;
    font-weight: bold;
}
.menu-list a.is-active-expert {
    background-color: #f1592a;
    color: #ffffff;
}
.menu-list a.is-active-company {
    background-color: #363636;
    color: #ffffff;
}
.menu-list a.is-active-booking {
    background-color: #FFD200;
    color: #ffffff;
}
.menu-list a.is-active-city {
    background-color: #02dc85;
    color: #ffffff;
}
.menu-list a.is-active-sector {
    background-color: #02DCD0;
    color: #ffffff;
}
.menu-list a.is-active-client {
    background-color: #029efc;
    color: #ffffff;
}

.menu-list a.is-not-active {
    background-color: transparent;
    color: #164579;
}

.menu-list a:hover {
background-color: #F5F8FA;
color: #164579;
}

.navbar-item.is-tab.is-active-booking {
background-color: transparent;
border-bottom-color: #FFD200;
border-bottom-style: solid;
border-bottom-width: 3px;
color: #FFD200;
padding-bottom: calc(0.5rem - 3px);
}

.navbar-item.is-tab.is-active-city {
background-color: transparent;
border-bottom-color: #02dc85;
border-bottom-style: solid;
border-bottom-width: 3px;
color: #02dc85;
padding-bottom: calc(0.5rem - 3px);
}

.navbar-item.is-tab.is-active-sector {
background-color: transparent;
border-bottom-color: #02DCD0;
border-bottom-style: solid;
border-bottom-width: 3px;
color: #02dc85;
padding-bottom: calc(0.5rem - 3px);
}

.navbar-item.is-tab.is-active-company {
background-color: transparent;
border-bottom-color: #363636;
border-bottom-style: solid;
border-bottom-width: 3px;
color: #363636;
padding-bottom: calc(0.5rem - 3px);
}

.navbar-item.is-tab.is-active-expert {
background-color: transparent;
border-bottom-color: #f1592a;
border-bottom-style: solid;
border-bottom-width: 3px;
color: #f1592a;
padding-bottom: calc(0.5rem - 3px);
}

.navbar-item.is-tab.is-active-client {
background-color: transparent;
border-bottom-color: #029efc;
border-bottom-style: solid;
border-bottom-width: 3px;
color: #029efc;
padding-bottom: calc(0.5rem - 3px);
}

.anchor2 {
    display: block;
    position: relative;
    top: -140px;
    visibility: hidden;
}

.is-status {
	margin: 0rem;
	padding: 0rem;
    padding-top: 10px;
    width: 12px;
    height: 40px;
    text-align: center;

}


@media screen and (max-width: 899px) {
    .datetimepicker-dummy .datetimepicker-dummy-wrapper .datetimepicker-dummy-input {
        font-size: 0.75rem;
    }
}

/*
.is-layer.is-invisible{
    
    opacity: 0;
    visibility:hidden;
    transition: all 2s;
}

.is-layer.is-visible{
    opacity: 1;
    
    transition: all 2s;
} 
*/

.is-layer-visible {
    visibility:visible;
	/*transition:all 500ms ease;*/
	transition: 1s cubic-bezier(0.17, 0.04, 0.03, 0.94);
	margin-bottom:1rem;
	box-shadow: 0px 3px 5px rgba(10, 10, 10, 0.2), 0 0 0 0px rgba(10, 10, 10, 0.1);
}

.is-layer-invisible {
    visibility:hidden;
    height:0rem;
    transition: margin 1s cubic-bezier(0.17, 0.04, 0.03, 0.94);
}

@keyframes fade-in {
    from {
      opacity: 0;
    }
    to {
      opacity: 1;
    }
  }
  
  @keyframes fade-out {
    from {
      opacity: 1;
    }
    to {
      opacity: 0;
    }
  }

@media screen and (min-width: 2000px) {
	.hero.is-classical .hero-body {
		min-height: 80vh;
		display: flex;
	}	
}

@media screen and (min-width: 1300px) and (max-width: 1999px) {
	.hero.is-classical .hero-body {
		min-height: 80vh;
		display: flex;
	}	
}

@media screen and (min-width: 900px) and (max-width: 1299px) {
	.hero.is-classical .hero-body {
		min-height: 80vh;
		display: flex;
	}
}

@media screen and (max-width: 899px) {
	.hero.is-classical .hero-body {
		min-height: 85vh;
		display: flex;
	}	

}

@media print {
	body {
		-webkit-print-color-adjust: exact; /*chrome & webkit browsers*/
		color-adjust: exact; /*firefox & IE */
	}
}

.has-blue-background {
	/*background: linear-gradient(#eef6fc, whitesmoke);*/
	/*background: white;*/
	background: whitesmoke;
}

.has-white-background {
	background: whitesmoke;
}

.bg-color-expert-card {
	background-color: white;
	border-style:solid;
	border-width: 0.5px;
	border-color:#e7e7e7;
}

.hero.is-classical-80 .hero-body {
	min-height: 80vh;
	display: flex;
}

.hero-body.is-gapless {
	padding: 0rem;
}

.hero.is-footer .hero-body {
	min-height: 30vh;
	padding-bottom: 2rem;
	padding-top: 2rem;
	margin-top: 2rem;
}

form{
	margin:1px;
	padding:1px;
}

.offerbox {
	background-color: white;
	/*border-radius: 0px;*/
	border-top-left-radius: 25px;
	border-top-right-radius: 25px;
	border-bottom-left-radius: 25px;
	border-bottom-right-radius: 25px;
	box-shadow: 0 2px 3px rgba(10, 10, 10, 0.425), 0 0 0 1px rgba(10, 10, 10, 0.1);
	display: block;
	padding: 0rem 0rem 1rem 0rem;
	margin: 0rem;
	word-break: break-word;
}

.offerbox.is-active {
	box-shadow:0 8px 12px 0 rgba(122,122,122,.2);
	-webkit-transform:scale(1.07);
	transform:scale(1.07);
	padding-bottom:2rem;
}

.optionbox {
	background-color: white;
	border-bottom-left-radius: 25px;
	border-bottom-right-radius: 25px;
	box-shadow: 0 2px 3px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
	/*color: #4a4a4a;*/
	display: block;
	padding: 0rem;
	word-break: break-word;
}

.optionbox.is-active {
	box-shadow:0 8px 12px 0 rgba(122,122,122,.2);
	-webkit-transform:scale(1.07);
	transform:scale(1.07)
}

.notification.is-transparent {
	background-color: transparent;
	background-image: none;	
}

.table.is-transparent {
	background-color: transparent;
	background-image: none;	
}

.table {
background-color: white;
color: #000000;
}

.table td,
.table th {
border: 1px solid #dbdbdb;
border-width: 0 0 1px;
padding: 0.25em 0.25em;
vertical-align: top;
}

.table td.is-transparent {
	background-color: transparent;
	background-image: none;
	color: currentColor;
}

.table td.is-white,
.table th.is-white {
background-color: white;
border-color: white;
color: #0a0a0a;
}

.table td.is-black,
.table th.is-black {
background-color: #0a0a0a;
border-color: #0a0a0a;
color: white;
}

.table td.is-light,
.table th.is-light {
background-color: whitesmoke;
border-color: whitesmoke;
color: #363636;
}

.table td.is-dark,
.table th.is-dark {
background-color: #363636;
border-color: #363636;
color: whitesmoke;
}

.table td.is-primary,
.table th.is-primary {
background-color: #00d1b2;
border-color: #00d1b2;
color: #fff;
}

.table td.is-link,
.table th.is-link {
background-color: #3273dc;
border-color: #3273dc;
color: #fff;
}

.table td.is-info,
.table th.is-info {
background-color: #209cee;
border-color: #209cee;
color: #fff;
}

.table td.is-success,
.table th.is-success {
background-color: #23d160;
border-color: #23d160;
color: #fff;
}

.table td.is-warning,
.table th.is-warning {
background-color: #ffdd57;
border-color: #ffdd57;
color: rgba(0, 0, 0, 0.7);
}

.table td.is-danger,
.table th.is-danger {
background-color: #ff3860;
border-color: #ff3860;
color: #fff;
}

.table td.is-narrow,
.table th.is-narrow {
white-space: nowrap;
width: 1%;
}

.table td.is-selected,
.table th.is-selected {
background-color: #00d1b2;
color: #fff;
}

.table td.is-selected a,
.table td.is-selected strong,
.table th.is-selected a,
.table th.is-selected strong {
color: currentColor;
}

.table th {
color: #363636;
}

.table th:not([align]) {
text-align: left;
}

.table tr.is-selected {
background-color: #00d1b2;
color: #fff;
}

.table tr.is-selected a,
.table tr.is-selected strong {
color: currentColor;
}

.table tr.is-selected td,
.table tr.is-selected th {
border-color: #fff;
color: currentColor;
}

.table thead {
background-color: transparent;
}

.table thead td,
.table thead th {
border-width: 0 0 2px;
color: #363636;
}

.table tfoot {
background-color: transparent;
}

.table tfoot td,
.table tfoot th {
border-width: 2px 0 0;
color: #363636;
}

.table tbody {
background-color: transparent;
}

.table tbody tr:last-child td,
.table tbody tr:last-child th {
border-bottom-width: 0;
}

.table.is-bordered td,
.table.is-bordered th {
border-width: 1px;
}

.table.is-bordered tr:last-child td,
.table.is-bordered tr:last-child th {
border-bottom-width: 1px;
}

.table.is-fullwidth {
width: 100%;
padding:0.25rem;
}

.table.is-hoverable tbody tr:not(.is-selected):hover {
background-color: #fafafa;
}

.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover {
background-color: #fafafa;
}

.table.is-hoverable.is-striped tbody tr:not(.is-selected):hover:nth-child(even) {
background-color: whitesmoke;
}

.table.is-narrow td,
.table.is-narrow th {
padding: 0.1em 0.1em;
}

.table.is-striped tbody tr:not(.is-selected):nth-child(even) {
background-color: #fafafa;
}

@media screen and (max-width: 768px) {
.b-table .table-wrapper.has-mobile-cards thead {
	display: none;
}
.b-table .table-wrapper.has-mobile-cards tr {
	box-shadow: 0 2px 3px rgba(10,10,10,.1), 0 0 0 1px rgba(10,10,10,.1);
	max-width: 100%;
	position: relative;
	display: block;
	margin-bottom: 1rem;
	border-radius: 4px;
}
.b-table .table-wrapper.has-mobile-cards tr td {
	border: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: right;
	border-bottom: 1px solid whitesmoke;
	padding: 0.75rem;
}
.b-table .table-wrapper.has-mobile-cards tr td:last-child {
	border-bottom: 0;
}
.b-table .table-wrapper.has-mobile-cards tr td:before {
	content: attr(data-label);
	font-weight: 600;
	padding-right: 0.5rem;
	text-align: left;
	flex: 1;
}
.b-table .table-wrapper.has-mobile-cards tr td input {
	max-width: 60%;
}

.b-table .table-wrapper.has-mobile-cards tr:not(.detail):not(.is-empty):not(.table-footer) td.is-adaptative-content {
	display: block;
}

}

.tags {
align-items: center;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}

.tags .tag {
margin-bottom: 0.5rem;
}

.tags .tag:not(:last-child) {
margin-right: 0.5rem;
}

.tags:last-child {
margin-bottom: -0.5rem;
}

.tags:not(:last-child) {
margin-bottom: 1rem;
}

.tags.are-medium .tag:not(.is-normal):not(.is-large) {
font-size: 1rem;
}

.tags.are-large .tag:not(.is-normal):not(.is-medium) {
font-size: 1.25rem;
}

.tags.is-centered {
justify-content: center;
}

.tags.is-centered .tag {
margin-right: 0.25rem;
margin-left: 0.25rem;
}

.tags.is-right {
justify-content: flex-end;
}

.tags.is-right .tag:not(:first-child) {
margin-left: 0.5rem;
}

.tags.is-right .tag:not(:last-child) {
margin-right: 0;
}

.tags.has-addons .tag {
margin-right: 0;
}

.tags.has-addons .tag:not(:first-child) {
margin-left: 0;
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}

.tags.has-addons .tag:not(:last-child) {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
}

.tag:not(body) {
align-items: center;
background-color: whitesmoke;
border-radius: 4px;
color: #4a4a4a;
display: inline-flex;
font-size: 0.75rem;
height: auto;
justify-content: center;
line-height: 1.5;
padding-top: 0.25em;
padding-bottom: 0.25em;
padding-left: 0.75em;
padding-right: 0.75em;
white-space: nowrap; 
overflow: hidden; 
text-overflow: ellipsis;
}

.tag:not(body) .delete {
margin-left: 0.25rem;
margin-right: -0.375rem;
}

.tag:not(body).is-white {
background-color: white;
color: #0a0a0a;
}

.tag:not(body).is-black {
background-color: #0a0a0a;
color: white;
}

.tag:not(body).is-light {
background-color: whitesmoke;
color: rgba(0, 0, 0, 0.7);
}

.tag:not(body).is-dark {
background-color: #363636;
color: whitesmoke;
}

.tag:not(body).is-primary {
background-color: #00d1b2;
color: #fff;
}

.tag:not(body).is-link {
background-color: #3273dc;
color: #fff;
}

.tag:not(body).is-info {
background-color: #209cee;
color: #fff;
}

.tag:not(body).is-success {
background-color: #23d160;
color: #fff;
}

.tag:not(body).is-warning {
background-color: #ffdd57;
color: rgba(0, 0, 0, 0.7);
}

.tag:not(body).is-danger {
background-color: #ff3860;
color: #fff;
}

.tag:not(body).is-normal {
font-size: 0.75rem;
}

.tag:not(body).is-medium {
font-size: 1rem;
}

.tag:not(body).is-large {
font-size: 1.25rem;
}

.tag:not(body) .icon:first-child:not(:last-child) {
margin-left: -0.375em;
margin-right: 0.1875em;
}

.tag:not(body) .icon:last-child:not(:first-child) {
margin-left: 0.1875em;
margin-right: -0.375em;
}

.tag:not(body) .icon:first-child:last-child {
margin-left: -0.375em;
margin-right: -0.375em;
}

.tag:not(body).is-delete {
margin-left: 1px;
padding: 0;
position: relative;
width: 2em;
}

.tag:not(body).is-delete::before, .tag:not(body).is-delete::after {
background-color: currentColor;
content: "";
display: block;
left: 50%;
position: absolute;
top: 50%;
-webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
        transform: translateX(-50%) translateY(-50%) rotate(45deg);
-webkit-transform-origin: center center;
        transform-origin: center center;
}

.tag:not(body).is-delete::before {
height: 1px;
width: 50%;
}

.tag:not(body).is-delete::after {
height: 50%;
width: 1px;
}

.tag:not(body).is-delete:hover, .tag:not(body).is-delete:focus {
background-color: #e8e8e8;
}

.tag:not(body).is-delete:active {
background-color: #dbdbdb;
}

.tag:not(body).is-rounded {
border-radius: 290486px;
}

a.tag:hover {
text-decoration: underline;
}


.navbar-item img {
	max-height: none;
}

.anchor {
    display: block;
    position: relative;
    top: -65px;
    visibility: hidden;
}

.anchor2 {
    display: block;
    position: relative;
    top: -120px;
    visibility: hidden;
}

.anchor3 {
    display: block;
    position: relative;
    top: -200px;
    visibility: hidden;
}

.box.is-rounded {
	border-radius: 25px;
}

.notification.is-rounded {
	border-radius: 25px;
}

.box.is-blue-neo{
background-color: #003e6d;
color: whitesmoke;
}

/* Tag couleur blue-neo (#003e6d) + variante is-light (calque sur is-orange) */
.tag:not(body).is-blue-neo{
background-color: #003e6d;
border-color: transparent;
color: #fff;
}

.tag:not(body).is-blue-neo.is-light{
background-color: #dce6f0;
border-color: transparent;
color: #003e6d;
}

.table td.is-blue-neo,
.table th.is-blue-neo {
background-color: #003e6d;
border-color: #003e6d;
color: whitesmoke;
}

.content.is-vcentered {
align-items: center;
}

.block {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
	padding-left: 1em;
	text-align: justify;
}

.block.is-vcentered {
	align-items: center;
}

.button-bar {
	margin-top: 0.1rem;
	margin-bottom: 0.5rem;	
}
.button-bar.is-fullwidth {
	width:100%;
}
.button-bar.is-left {
	text-align: left !important;
}
.button-bar.is-right {
	text-align: right !important;
}
.button-bar.is-centered {
	align-items: center;
}

.input.is-rounded-left {
	border-top-left-radius: 25px;
	border-bottom-left-radius: 25px;
	padding-left: 1em;
	padding-right: 1em;
}

.navbar.is-blue-neo {
background-color: #003e6d;
color: whitesmoke;
}

.navbar.is-blue-neo .navbar-brand > .navbar-item,
.navbar.is-blue-neo .navbar-brand .navbar-link {
color: whitesmoke;
}

.navbar.is-blue-neo .navbar-brand > a.navbar-item:focus, .navbar.is-blue-neo .navbar-brand > a.navbar-item:hover, .navbar.is-blue-neo .navbar-brand > a.navbar-item.is-active,
.navbar.is-blue-neo .navbar-brand .navbar-link:focus,
.navbar.is-blue-neo .navbar-brand .navbar-link:hover,
.navbar.is-blue-neo .navbar-brand .navbar-link.is-active {
background-color: #012e50;
color: whitesmoke;
}

.navbar.is-blue-neo .navbar-brand .navbar-link::after {
border-color: whitesmoke;
}

.navbar.is-blue-neo .navbar-burger {
color: whitesmoke;
}

@media screen and (min-width: 1024px) {
.navbar.is-blue-neo .navbar-start > .navbar-item,
.navbar.is-blue-neo .navbar-start .navbar-link,
.navbar.is-blue-neo .navbar-end > .navbar-item,
.navbar.is-blue-neo .navbar-end .navbar-link {
	color: whitesmoke;
}
.navbar.is-blue-neo .navbar-start > a.navbar-item:focus, .navbar.is-blue-neo .navbar-start > a.navbar-item:hover, .navbar.is-blue-neo .navbar-start > a.navbar-item.is-active,
.navbar.is-blue-neo .navbar-start .navbar-link:focus,
.navbar.is-blue-neo .navbar-start .navbar-link:hover,
.navbar.is-blue-neo .navbar-start .navbar-link.is-active,
.navbar.is-blue-neo .navbar-end > a.navbar-item:focus,
.navbar.is-blue-neo .navbar-end > a.navbar-item:hover,
.navbar.is-blue-neo .navbar-end > a.navbar-item.is-active,
.navbar.is-blue-neo .navbar-end .navbar-link:focus,
.navbar.is-blue-neo .navbar-end .navbar-link:hover,
.navbar.is-blue-neo .navbar-end .navbar-link.is-active {
	background-color: #012e50;
	color: whitesmoke;
}
.navbar.is-blue-neo .navbar-start .navbar-link::after,
.navbar.is-blue-neo .navbar-end .navbar-link::after {
	border-color: whitesmoke;
}
.navbar.is-blue-neo .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-blue-neo .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-blue-neo .navbar-item.has-dropdown.is-active .navbar-link {
	background-color: #012e50;
	color: whitesmoke;
}
.navbar.is-blue-neo .navbar-dropdown a.navbar-item.is-active {
	/*background-color: #314675;*/
	background-color: #b63030;
	color: whitesmoke;
}
}

@media screen and (max-width: 1023px) {
	.menu-neo {
	background-color: inherit;
	color: inherit;
	}
	.menu-neo .navbar-item {
	color: inherit;
	}
	.menu-neo .navbar-link {
	color: inherit;
	}
	.navbar.is-blue-neo .navbar-item.has-dropdown:focus .navbar-link,
	.navbar.is-blue-neo .navbar-item.has-dropdown:hover .navbar-link,
	.navbar.is-blue-neo .navbar-item.has-dropdown.is-active .navbar-link {
		background-color: #012e50;
		color: whitesmoke;
	}
	
}


.hero.is-orange {
background-color: #ffa059;
color: rgba(0, 0, 0, 0.7);
}

.hero.is-orange a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
.hero.is-orange strong {
color: inherit;
}

.hero.is-orange .title {
color: rgba(0, 0, 0, 0.7);
}

.hero.is-orange .subtitle {
color: rgba(0, 0, 0, 0.9);
}

.hero.is-orange .subtitle a:not(.button),
.hero.is-orange .subtitle strong {
color: rgba(0, 0, 0, 0.7);
}

@media screen and (max-width: 1023px) {
.hero.is-orange .navbar-menu {
	background-color: #ffa059;
}
}

.hero.is-orange .navbar-item,
.hero.is-orange .navbar-link {
color: rgba(0, 0, 0, 0.7);
}

.hero.is-orange a.navbar-item:hover, .hero.is-orange a.navbar-item.is-active,
.hero.is-orange .navbar-link:hover,
.hero.is-orange .navbar-link.is-active {
background-color: #ffa059;
color: rgba(0, 0, 0, 0.7);
}

.hero.is-orange .tabs a {
color: rgba(0, 0, 0, 0.7);
opacity: 0.9;
}

.hero.is-orange .tabs a:hover {
opacity: 1;
}

.hero.is-orange .tabs li.is-active a {
opacity: 1;
}

.hero.is-orange .tabs.is-boxed a, .hero.is-orange .tabs.is-toggle a {
color: rgba(0, 0, 0, 0.7);
}

.hero.is-orange .tabs.is-boxed a:hover, .hero.is-orange .tabs.is-toggle a:hover {
background-color: rgba(10, 10, 10, 0.1);
}

.hero.is-orange .tabs.is-boxed li.is-active a, .hero.is-orange .tabs.is-boxed li.is-active a:hover, .hero.is-orange .tabs.is-toggle li.is-active a, .hero.is-orange .tabs.is-toggle li.is-active a:hover {
background-color: rgba(0, 0, 0, 0.7);
border-color: rgba(0, 0, 0, 0.7);
color: #ffa059;
}

.hero.is-orange.is-bold {
background-image: linear-gradient(141deg, #ee7d28 0%, #f99e58 71%, #fbc861 100%);
}

@media screen and (max-width: 768px) {
.hero.is-orange.is-bold .navbar-menu {
	background-image: linear-gradient(141deg, #ee7d28 0%, #f99e58 71%, #fbc861 100%);
}
}

.hero.is-blue-dark {
background-color: #012e50;
color: whitesmoke;
}

.hero.is-blue-dark a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
.hero.is-blue-dark strong {
color: inherit;
}

.hero.is-blue-dark .title {
color: whitesmoke;
}

.hero.is-blue-dark .subtitle {
color: rgba(245, 245, 245, 0.9);
}

.hero.is-blue-dark .subtitle a:not(.button),
.hero.is-blue-dark .subtitle strong {
color: whitesmoke;
}

@media screen and (max-width: 1023px) {
.hero.is-blue-dark .navbar-menu {
	background-color: #012e50;
}
}

.hero.is-blue-dark .navbar-item,
.hero.is-blue-dark .navbar-link {
color: rgba(245, 245, 245, 0.7);
}

.hero.is-blue-dark a.navbar-item:hover, .hero.is-blue-dark a.navbar-item.is-active,
.hero.is-blue-dark .navbar-link:hover,
.hero.is-blue-dark .navbar-link.is-active {
background-color: #003e6d;
color: whitesmoke;
}

.hero.is-blue-dark .tabs a {
color: whitesmoke;
opacity: 0.9;
}

.hero.is-blue-dark .tabs a:hover {
opacity: 1;
}

.hero.is-blue-dark .tabs li.is-active a {
opacity: 1;
}

.hero.is-blue-dark .tabs.is-boxed a, .hero.is-blue-dark .tabs.is-toggle a {
color: whitesmoke;
}

.hero.is-blue-dark .tabs.is-boxed a:hover, .hero.is-blue-dark .tabs.is-toggle a:hover {
background-color: rgba(10, 10, 10, 0.1);
}

.hero.is-blue-dark .tabs.is-boxed li.is-active a, .hero.is-blue-dark .tabs.is-boxed li.is-active a:hover, .hero.is-blue-dark .tabs.is-toggle li.is-active a, .hero.is-blue-dark .tabs.is-toggle li.is-active a:hover {
background-color: whitesmoke;
border-color: whitesmoke;
color: #012e50;
}

.hero.is-blue-dark.is-bold {
background-image: linear-gradient(141deg, #1f191a 0%, #012e50 71%, #46403f 100%);
}

@media screen and (max-width: 768px) {
.hero.is-blue-dark.is-bold .navbar-menu {
	background-image: linear-gradient(141deg, #1f191a 0%, #012e50 71%, #46403f 100%);
}
}
	
.hero.is-blue-neo {
background-color: #003e6d; /*314675*/
color: whitesmoke;
}

.hero.is-blue-neo a:not(.button):not(.dropdown-item):not(.tag):not(.pagination-link.is-current),
.hero.is-blue-neo strong {
color: inherit;
}

.hero.is-blue-neo .title {
color: inherit;
}

.hero.is-blue-neo .subtitle {
color: inherit;
}

.hero.is-blue-neo .subtitle a:not(.button),
.hero.is-blue-neo .subtitle strong {
color: inherit;
}

@media screen and (max-width: 1023px) {
.hero.is-blue-neo .navbar-menu {
	background-color: #003e6d;
}
}

.hero.is-blue-neo .navbar-item,
.hero.is-blue-neo .navbar-link {
color: rgba(245, 245, 245, 0.7);
}

.hero.is-blue-neo a.navbar-item:hover, .hero.is-blue-neo a.navbar-item.is-active,
.hero.is-blue-neo .navbar-link:hover,
.hero.is-blue-neo .navbar-link.is-active {
background-color: #012e50;
color: whitesmoke;
}

.hero.is-blue-neo .tabs a {
color: whitesmoke;
opacity: 0.9;
}

.hero.is-blue-neo .tabs a:hover {
opacity: 1;
}

.hero.is-blue-neo .tabs li.is-active a {
opacity: 1;
}

.hero.is-blue-neo .tabs.is-boxed a, .hero.is-blue-neo .tabs.is-toggle a {
color: whitesmoke;
}

.hero.is-blue-neo .tabs.is-boxed a:hover, .hero.is-blue-neo .tabs.is-toggle a:hover {
background-color: rgba(10, 10, 10, 0.1);
}

.hero.is-blue-neo .tabs.is-boxed li.is-active a, .hero.is-blue-neo .tabs.is-boxed li.is-active a:hover, .hero.is-blue-neo .tabs.is-toggle li.is-active a, .hero.is-blue-neo .tabs.is-toggle li.is-active a:hover {
background-color: whitesmoke;
border-color: whitesmoke;
color: #003e6d;
}

.hero.is-blue-neo.is-bold {
background-image: linear-gradient(141deg, #1f191a 0%, #003e6d 71%, #46403f 100%);
}

@media screen and (max-width: 768px) {
.hero.is-blue-neo.is-bold .navbar-menu {
	background-image: linear-gradient(141deg, #1f191a 0%, #003e6d 71%, #46403f 100%);
}
}

.has-text-neo {
	color: #003e6d !important;
}

.has-text-loop {
	color: #1dbadf !important;
}

.has-text-grey {
	color: #707070 !important;
}

.content.has-no-margin {
	margin: 0em;
}

.content.has-small-margin {
	margin: 0.25em;
}

.content.has-medium-margin {
	margin: 0.50em;
}

.content.has-large-margin {
	margin: 1em;
}

.limited-width [id^="datetimePicker"] {
    max-width: 320px;
    margin: auto;
}

.dropdown-menu.is-right {
	min-width:fit-content;
	right:0;
	left:auto;
	z-index:100;
}


.dropdown-content {
	
}
@media screen and (max-width: 768px) {
	.tabs ul {
		padding:0rem;
	}

	.subtitle.is-1 {
		font-size: 2.25rem;
	}
	
	.subtitle.is-2 {
		font-size: 2rem;
	}
	
	.subtitle.is-3 {
		font-size: 1.8rem;
	}
	
	.subtitle.is-4 {
		font-size: 1.25rem;
	}
	
	.subtitle.is-5 {
		font-size: 1rem;
	}
	
	.subtitle.is-6 {
		font-size: 0.85rem;
	}
	
	.subtitle.is-7 {
		font-size: 0.75rem;
	}
	
	.subtitle.is-8 {
		font-size: 0.6rem;
	}

}

.button.is-help {
    background-color: #209cee;
    border-color: transparent;
    color: #fff;
}

.notification.is-white {
background-color: white;
color: #0a0a0a;
}

.notification.is-black {
background-color: #0a0a0a;
color: white;
}

.notification.is-light {
background-color: whitesmoke;
color: rgba(0, 0, 0, 0.7);
}

.notification.is-dark {
background-color: #363636;
color: #fff;
}

.notification.is-primary {
background-color: #00d1b2;
color: #fff;
}

.notification.is-link {
background-color: #3273dc;
color: #fff;
}

.notification.is-info {
background-color: #209cee;
color: #fff;
}

.notification.is-success {
background-color: #23d160;
color: #fff;
}

.notification.is-warning {
background-color: #ffdd57;
color: rgba(0, 0, 0, 0.7);
}

.notification.is-danger {
background-color: #ff3860;
color: #fff;
}

.notification a:not(.button):not(.dropdown-item) {
  text-decoration: none;
}

.pagination-link.is-current {
background-color: #3273dc;
border-color: #3273dc;
color: #ffffff !important;
}


.button {
background-color: white;
border-color: #dbdbdb;
border-width: 1px;
color: #363636;
cursor: pointer;
justify-content: center;
padding-bottom: calc(0.375em - 1px);
padding-left: 0.75em;
padding-right: 0.75em;
padding-top: calc(0.375em - 1px);
text-align: center;
white-space: nowrap;
}

.button strong {
color: inherit;
}

.button .icon, .button .icon.is-small, .button .icon.is-medium, .button .icon.is-large {
height: 1.5em;
width: 1.5em;
}

.button .icon:first-child:not(:last-child) {
margin-left: calc(-0.375em - 1px);
margin-right: 0.1875em;
}

.button .icon:last-child:not(:first-child) {
margin-left: 0.1875em;
margin-right: calc(-0.375em - 1px);
}

.button .icon:first-child:last-child {
margin-left: calc(-0.375em - 1px);
margin-right: calc(-0.375em - 1px);
}

.button:hover, .button.is-hovered {
border-color: #b5b5b5;
color: #363636;
}

.button:focus, .button.is-focused {
border-color: #3273dc;
color: #363636;
}

.button:focus:not(:active), .button.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
}

.button:active, .button.is-active {
border-color: #4a4a4a;
color: #363636;
}

.button.is-text {
background-color: transparent;
border-color: transparent;
color: #4a4a4a;
}

.button.is-text:hover, .button.is-text.is-hovered, .button.is-text:focus, .button.is-text.is-focused {
background-color: whitesmoke;
color: #363636;
}

.button.is-text:active, .button.is-text.is-active {
background-color: #e8e8e8;
color: #363636;
}

.button.is-text[disabled],
fieldset[disabled] .button.is-text {
background-color: transparent;
border-color: transparent;
box-shadow: none;
}

.button.is-white {
background-color: white;
border-color: transparent;
color: #000000;
}

.button.is-white:hover, .button.is-white.is-hovered {
background-color: #f9f9f9;
border-color: transparent;
color: #000000;
}

.button.is-white:focus, .button.is-white.is-focused {
border-color: transparent;
color: #0a0a0a;
}

.button.is-white:focus:not(:active), .button.is-white.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(255, 255, 255, 0.25);
}

.button.is-white:active, .button.is-white.is-active {
background-color: #f2f2f2;
border-color: transparent;
color: #0a0a0a;
}

.button.is-white[disabled],
fieldset[disabled] .button.is-white {
background-color: white;
border-color: transparent;
box-shadow: none;
}

.button.is-white.is-inverted {
background-color: #0a0a0a;
color: white;
}

.button.is-white.is-inverted:hover, .button.is-white.is-inverted.is-hovered {
background-color: black;
}

.button.is-white.is-inverted[disabled],
fieldset[disabled] .button.is-white.is-inverted {
background-color: #0a0a0a;
border-color: transparent;
box-shadow: none;
color: white;
}

.button.is-white.is-loading::after {
border-color: transparent transparent #0a0a0a #0a0a0a !important;
}

.button.is-white.is-outlined {
background-color: transparent;
border-color: white;
color: white;
}

.button.is-white.is-outlined:hover, .button.is-white.is-outlined.is-hovered, .button.is-white.is-outlined:focus, .button.is-white.is-outlined.is-focused {
background-color: white;
border-color: white;
color: #0a0a0a;
}

.button.is-white.is-outlined.is-loading::after {
border-color: transparent transparent white white !important;
}

.button.is-white.is-outlined.is-loading:hover::after, .button.is-white.is-outlined.is-loading.is-hovered::after, .button.is-white.is-outlined.is-loading:focus::after, .button.is-white.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #0a0a0a #0a0a0a !important;
}

.button.is-white.is-outlined[disabled],
fieldset[disabled] .button.is-white.is-outlined {
background-color: transparent;
border-color: white;
box-shadow: none;
color: white;
}

.button.is-white.is-inverted.is-outlined {
background-color: transparent;
border-color: #0a0a0a;
color: #0a0a0a;
}

.button.is-white.is-inverted.is-outlined:hover, .button.is-white.is-inverted.is-outlined.is-hovered, .button.is-white.is-inverted.is-outlined:focus, .button.is-white.is-inverted.is-outlined.is-focused {
background-color: #0a0a0a;
color: white;
}

.button.is-white.is-inverted.is-outlined.is-loading:hover::after, .button.is-white.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-white.is-inverted.is-outlined.is-loading:focus::after, .button.is-white.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent white white !important;
}

.button.is-white.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-white.is-inverted.is-outlined {
background-color: transparent;
border-color: #0a0a0a;
box-shadow: none;
color: #0a0a0a;
}

.button.is-black {
background-color: #0a0a0a;
border-color: transparent;
color: white;
}

.button.is-black:hover, .button.is-black.is-hovered {
background-color: #040404;
border-color: transparent;
color: white;
}

.button.is-black:focus, .button.is-black.is-focused {
border-color: transparent;
color: white;
}

.button.is-black:focus:not(:active), .button.is-black.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(10, 10, 10, 0.25);
}

.button.is-black:active, .button.is-black.is-active {
background-color: black;
border-color: transparent;
color: white;
}

.button.is-black[disabled],
fieldset[disabled] .button.is-black {
background-color: #0a0a0a;
border-color: transparent;
box-shadow: none;
}

.button.is-black.is-inverted {
background-color: white;
color: #0a0a0a;
}

.button.is-black.is-inverted:hover, .button.is-black.is-inverted.is-hovered {
background-color: #f2f2f2;
}

.button.is-black.is-inverted[disabled],
fieldset[disabled] .button.is-black.is-inverted {
background-color: white;
border-color: transparent;
box-shadow: none;
color: #0a0a0a;
}

.button.is-black.is-loading::after {
border-color: transparent transparent white white !important;
}

.button.is-black.is-outlined {
background-color: transparent;
border-color: #0a0a0a;
color: #0a0a0a;
}

.button.is-black.is-outlined:hover, .button.is-black.is-outlined.is-hovered, .button.is-black.is-outlined:focus, .button.is-black.is-outlined.is-focused {
background-color: #0a0a0a;
border-color: #0a0a0a;
color: white;
}

.button.is-black.is-outlined.is-loading::after {
border-color: transparent transparent #0a0a0a #0a0a0a !important;
}

.button.is-black.is-outlined.is-loading:hover::after, .button.is-black.is-outlined.is-loading.is-hovered::after, .button.is-black.is-outlined.is-loading:focus::after, .button.is-black.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent white white !important;
}

.button.is-black.is-outlined[disabled],
fieldset[disabled] .button.is-black.is-outlined {
background-color: transparent;
border-color: #0a0a0a;
box-shadow: none;
color: #0a0a0a;
}

.button.is-black.is-inverted.is-outlined {
background-color: transparent;
border-color: white;
color: white;
}

.button.is-black.is-inverted.is-outlined:hover, .button.is-black.is-inverted.is-outlined.is-hovered, .button.is-black.is-inverted.is-outlined:focus, .button.is-black.is-inverted.is-outlined.is-focused {
background-color: white;
color: #0a0a0a;
}

.button.is-black.is-inverted.is-outlined.is-loading:hover::after, .button.is-black.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-black.is-inverted.is-outlined.is-loading:focus::after, .button.is-black.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #0a0a0a #0a0a0a !important;
}

.button.is-black.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-black.is-inverted.is-outlined {
background-color: transparent;
border-color: white;
box-shadow: none;
color: white;
}

.button.is-light {
background-color: rgb(224, 224, 224);
border-color: transparent;
color: #363636;
}

.button.is-light:hover, .button.is-light.is-hovered {
background-color: #f1592a;
border-color: transparent;
color: #eeeeee;
}

.button.is-light:focus, .button.is-light.is-focused {
border-color: transparent;
color: #363636;
}

.button.is-light:focus:not(:active), .button.is-light.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(245, 245, 245, 0.25);
}

.button.is-light:active, .button.is-light.is-active {
background-color: #e8e8e8;
border-color: transparent;
color: #363636;
}

.button.is-light[disabled],
fieldset[disabled] .button.is-light {
background-color: whitesmoke;
border-color: transparent;
box-shadow: none;
}

.button.is-light.is-inverted {
background-color: #363636;
color: whitesmoke;
}

.button.is-light.is-inverted:hover, .button.is-light.is-inverted.is-hovered {
background-color: #292929;
}

.button.is-light.is-inverted[disabled],
fieldset[disabled] .button.is-light.is-inverted {
background-color: #363636;
border-color: transparent;
box-shadow: none;
color: whitesmoke;
}

.button.is-light.is-loading::after {
border-color: transparent transparent #363636 #363636 !important;
}

.button.is-light.is-outlined {
background-color: transparent;
border-color: whitesmoke;
color: whitesmoke;
}

.button.is-light.is-outlined:hover, .button.is-light.is-outlined.is-hovered, .button.is-light.is-outlined:focus, .button.is-light.is-outlined.is-focused {
background-color: whitesmoke;
border-color: whitesmoke;
color: #363636;
}

.button.is-light.is-outlined.is-loading::after {
border-color: transparent transparent whitesmoke whitesmoke !important;
}

.button.is-light.is-outlined.is-loading:hover::after, .button.is-light.is-outlined.is-loading.is-hovered::after, .button.is-light.is-outlined.is-loading:focus::after, .button.is-light.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #363636 #363636 !important;
}

.button.is-light.is-outlined[disabled],
fieldset[disabled] .button.is-light.is-outlined {
background-color: transparent;
border-color: whitesmoke;
box-shadow: none;
color: whitesmoke;
}

.button.is-light.is-inverted.is-outlined {
background-color: transparent;
border-color: #363636;
color: #363636;
}

.button.is-light.is-inverted.is-outlined:hover, .button.is-light.is-inverted.is-outlined.is-hovered, .button.is-light.is-inverted.is-outlined:focus, .button.is-light.is-inverted.is-outlined.is-focused {
background-color: #363636;
color: whitesmoke;
}

.button.is-light.is-inverted.is-outlined.is-loading:hover::after, .button.is-light.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-light.is-inverted.is-outlined.is-loading:focus::after, .button.is-light.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent whitesmoke whitesmoke !important;
}

.button.is-light.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-light.is-inverted.is-outlined {
background-color: transparent;
border-color: #363636;
box-shadow: none;
color: #363636;
}

.button.is-dark {
background-color: #363636;
border-color: transparent;
color: whitesmoke;
}

.button.is-dark:hover, .button.is-dark.is-hovered {
background-color: #2f2f2f;
border-color: transparent;
color: whitesmoke;
}

.button.is-dark:focus, .button.is-dark.is-focused {
border-color: transparent;
color: whitesmoke;
}

.button.is-dark:focus:not(:active), .button.is-dark.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(54, 54, 54, 0.25);
}

.button.is-dark:active, .button.is-dark.is-active {
background-color: #292929;
border-color: transparent;
color: whitesmoke;
}

.button.is-dark[disabled],
fieldset[disabled] .button.is-dark {
background-color: #363636;
border-color: transparent;
box-shadow: none;
}

.button.is-dark.is-inverted {
background-color: whitesmoke;
color: #363636;
}

.button.is-dark.is-inverted:hover, .button.is-dark.is-inverted.is-hovered {
background-color: #e8e8e8;
}

.button.is-dark.is-inverted[disabled],
fieldset[disabled] .button.is-dark.is-inverted {
background-color: whitesmoke;
border-color: transparent;
box-shadow: none;
color: #363636;
}

.button.is-dark.is-loading::after {
border-color: transparent transparent whitesmoke whitesmoke !important;
}

.button.is-dark.is-outlined {
background-color: transparent;
border-color: #363636;
color: #363636;
}

.button.is-dark.is-outlined:hover, .button.is-dark.is-outlined.is-hovered, .button.is-dark.is-outlined:focus, .button.is-dark.is-outlined.is-focused {
background-color: #363636;
border-color: #363636;
color: whitesmoke;
}

.button.is-dark.is-outlined.is-loading::after {
border-color: transparent transparent #363636 #363636 !important;
}

.button.is-dark.is-outlined.is-loading:hover::after, .button.is-dark.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-outlined.is-loading:focus::after, .button.is-dark.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent whitesmoke whitesmoke !important;
}

.button.is-dark.is-outlined[disabled],
fieldset[disabled] .button.is-dark.is-outlined {
background-color: transparent;
border-color: #363636;
box-shadow: none;
color: #363636;
}

.button.is-dark.is-inverted.is-outlined {
background-color: transparent;
border-color: whitesmoke;
color: whitesmoke;
}

.button.is-dark.is-inverted.is-outlined:hover, .button.is-dark.is-inverted.is-outlined.is-hovered, .button.is-dark.is-inverted.is-outlined:focus, .button.is-dark.is-inverted.is-outlined.is-focused {
background-color: whitesmoke;
color: #363636;
}

.button.is-dark.is-inverted.is-outlined.is-loading:hover::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-dark.is-inverted.is-outlined.is-loading:focus::after, .button.is-dark.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #363636 #363636 !important;
}

.button.is-dark.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-dark.is-inverted.is-outlined {
background-color: transparent;
border-color: whitesmoke;
box-shadow: none;
color: whitesmoke;
}

.button.is-primary {
background-color: #00d1b2;
border-color: transparent;
color: #fff;
}

.button.is-primary:hover, .button.is-primary.is-hovered {
background-color: #00c4a7;
border-color: transparent;
color: #fff;
}

.button.is-primary:focus, .button.is-primary.is-focused {
border-color: transparent;
color: #fff;
}

.button.is-primary:focus:not(:active), .button.is-primary.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(0, 209, 178, 0.25);
}

.button.is-primary:active, .button.is-primary.is-active {
background-color: #00b89c;
border-color: transparent;
color: #fff;
}

.button.is-primary[disabled],
fieldset[disabled] .button.is-primary {
background-color: #00d1b2;
border-color: transparent;
box-shadow: none;
}

.button.is-primary.is-inverted {
background-color: #fff;
color: #00d1b2;
}

.button.is-primary.is-inverted:hover, .button.is-primary.is-inverted.is-hovered {
background-color: #f2f2f2;
}

.button.is-primary.is-inverted[disabled],
fieldset[disabled] .button.is-primary.is-inverted {
background-color: #fff;
border-color: transparent;
box-shadow: none;
color: #00d1b2;
}

.button.is-primary.is-loading::after {
border-color: transparent transparent #fff #fff !important;
}

.button.is-primary.is-outlined {
background-color: transparent;
border-color: #00d1b2;
color: #00d1b2;
}

.button.is-primary.is-outlined:hover, .button.is-primary.is-outlined.is-hovered, .button.is-primary.is-outlined:focus, .button.is-primary.is-outlined.is-focused {
background-color: #00d1b2;
border-color: #00d1b2;
color: #fff;
}

.button.is-primary.is-outlined.is-loading::after {
border-color: transparent transparent #00d1b2 #00d1b2 !important;
}

.button.is-primary.is-outlined.is-loading:hover::after, .button.is-primary.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-outlined.is-loading:focus::after, .button.is-primary.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #fff #fff !important;
}

.button.is-primary.is-outlined[disabled],
fieldset[disabled] .button.is-primary.is-outlined {
background-color: transparent;
border-color: #00d1b2;
box-shadow: none;
color: #00d1b2;
}

.button.is-primary.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff;
}

.button.is-primary.is-inverted.is-outlined:hover, .button.is-primary.is-inverted.is-outlined.is-hovered, .button.is-primary.is-inverted.is-outlined:focus, .button.is-primary.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #00d1b2;
}

.button.is-primary.is-inverted.is-outlined.is-loading:hover::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-primary.is-inverted.is-outlined.is-loading:focus::after, .button.is-primary.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #00d1b2 #00d1b2 !important;
}

.button.is-primary.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-primary.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
box-shadow: none;
color: #fff;
}

.button.is-link {
background-color: #3273dc;
border-color: transparent;
color: #fff;
}

.button.is-link:hover, .button.is-link.is-hovered {
background-color: #276cda;
border-color: transparent;
color: #fff;
}

.button.is-link:focus, .button.is-link.is-focused {
border-color: transparent;
color: #fff;
}

.button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25);
}

.button.is-link:active, .button.is-link.is-active {
background-color: #2366d1;
border-color: transparent;
color: #fff;
}

.button.is-link[disabled],
fieldset[disabled] .button.is-link {
background-color: #3273dc;
border-color: transparent;
box-shadow: none;
}

.button.is-link.is-inverted {
background-color: #fff;
color: #3273dc;
}

.button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {
background-color: #f2f2f2;
}

.button.is-link.is-inverted[disabled],
fieldset[disabled] .button.is-link.is-inverted {
background-color: #fff;
border-color: transparent;
box-shadow: none;
color: #3273dc;
}

.button.is-link.is-loading::after {
border-color: transparent transparent #fff #fff !important;
}

.button.is-link.is-outlined {
background-color: transparent;
border-color: #3273dc;
color: #3273dc;
}

.button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {
background-color: #3273dc;
border-color: #3273dc;
color: #fff;
}

.button.is-link.is-outlined.is-loading::after {
border-color: transparent transparent #3273dc #3273dc !important;
}

.button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #fff #fff !important;
}

.button.is-link.is-outlined[disabled],
fieldset[disabled] .button.is-link.is-outlined {
background-color: transparent;
border-color: #3273dc;
box-shadow: none;
color: #3273dc;
}

.button.is-link.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff;
}

.button.is-link.is-inverted.is-outlined:hover, .button.is-link.is-inverted.is-outlined.is-hovered, .button.is-link.is-inverted.is-outlined:focus, .button.is-link.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #3273dc;
}

.button.is-link.is-inverted.is-outlined.is-loading:hover::after, .button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #3273dc #3273dc !important;
}

.button.is-link.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-link.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
box-shadow: none;
color: #fff;
}

.button.is-info {
background-color: #209cee;
border-color: transparent;
color: #fff;
}

.button.is-info:hover, .button.is-info.is-hovered {
background-color: #1496ed;
border-color: transparent;
color: #fff;
}

.button.is-info:focus, .button.is-info.is-focused {
border-color: transparent;
color: #fff;
}

.button.is-info:focus:not(:active), .button.is-info.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25);
}

.button.is-info:active, .button.is-info.is-active {
background-color: #118fe4;
border-color: transparent;
color: #fff;
}

.button.is-info[disabled],
fieldset[disabled] .button.is-info {
background-color: #209cee;
border-color: transparent;
box-shadow: none;
}

.button.is-info.is-inverted {
background-color: #fff;
color: #209cee;
}

.button.is-info.is-inverted:hover, .button.is-info.is-inverted.is-hovered {
background-color: #f2f2f2;
}

.button.is-info.is-inverted[disabled],
fieldset[disabled] .button.is-info.is-inverted {
background-color: #fff;
border-color: transparent;
box-shadow: none;
color: #209cee;
}

.button.is-info.is-loading::after {
border-color: transparent transparent #fff #fff !important;
}

.button.is-info.is-outlined {
background-color: transparent;
border-color: #209cee;
color: #209cee;
}

.button.is-info.is-outlined:hover, .button.is-info.is-outlined.is-hovered, .button.is-info.is-outlined:focus, .button.is-info.is-outlined.is-focused {
background-color: #209cee;
border-color: #209cee;
color: #fff;
}

.button.is-info.is-outlined.is-loading::after {
border-color: transparent transparent #209cee #209cee !important;
}

.button.is-info.is-outlined.is-loading:hover::after, .button.is-info.is-outlined.is-loading.is-hovered::after, .button.is-info.is-outlined.is-loading:focus::after, .button.is-info.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #fff #fff !important;
}

.button.is-info.is-outlined[disabled],
fieldset[disabled] .button.is-info.is-outlined {
background-color: transparent;
border-color: #209cee;
box-shadow: none;
color: #209cee;
}

.button.is-info.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff;
}

.button.is-info.is-inverted.is-outlined:hover, .button.is-info.is-inverted.is-outlined.is-hovered, .button.is-info.is-inverted.is-outlined:focus, .button.is-info.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #209cee;
}

.button.is-info.is-inverted.is-outlined.is-loading:hover::after, .button.is-info.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-info.is-inverted.is-outlined.is-loading:focus::after, .button.is-info.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #209cee #209cee !important;
}

.button.is-info.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-info.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
box-shadow: none;
color: #fff;
}

.button.is-success {
background-color: #23d160;
border-color: transparent;
color: #fff;
}

.button.is-success:hover, .button.is-success.is-hovered {
background-color: #22c65b;
border-color: transparent;
color: #fff;
}

.button.is-success:focus, .button.is-success.is-focused {
border-color: transparent;
color: #fff;
}

.button.is-success:focus:not(:active), .button.is-success.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(35, 209, 96, 0.25);
}

.button.is-success:active, .button.is-success.is-active {
background-color: #20bc56;
border-color: transparent;
color: #fff;
}

.button.is-success[disabled],
fieldset[disabled] .button.is-success {
background-color: #23d160;
border-color: transparent;
box-shadow: none;
}

.button.is-success.is-inverted {
background-color: #fff;
color: #23d160;
}

.button.is-success.is-inverted:hover, .button.is-success.is-inverted.is-hovered {
background-color: #f2f2f2;
}

.button.is-success.is-inverted[disabled],
fieldset[disabled] .button.is-success.is-inverted {
background-color: #fff;
border-color: transparent;
box-shadow: none;
color: #23d160;
}

.button.is-success.is-loading::after {
border-color: transparent transparent #fff #fff !important;
}

.button.is-success.is-outlined {
background-color: transparent;
border-color: #23d160;
color: #23d160;
}

.button.is-success.is-outlined:hover, .button.is-success.is-outlined.is-hovered, .button.is-success.is-outlined:focus, .button.is-success.is-outlined.is-focused {
background-color: #23d160;
border-color: #23d160;
color: #fff;
}

.button.is-success.is-outlined.is-loading::after {
border-color: transparent transparent #23d160 #23d160 !important;
}

.button.is-success.is-outlined.is-loading:hover::after, .button.is-success.is-outlined.is-loading.is-hovered::after, .button.is-success.is-outlined.is-loading:focus::after, .button.is-success.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #fff #fff !important;
}

.button.is-success.is-outlined[disabled],
fieldset[disabled] .button.is-success.is-outlined {
background-color: transparent;
border-color: #23d160;
box-shadow: none;
color: #23d160;
}

.button.is-success.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff;
}

.button.is-success.is-inverted.is-outlined:hover, .button.is-success.is-inverted.is-outlined.is-hovered, .button.is-success.is-inverted.is-outlined:focus, .button.is-success.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #23d160;
}

.button.is-success.is-inverted.is-outlined.is-loading:hover::after, .button.is-success.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-success.is-inverted.is-outlined.is-loading:focus::after, .button.is-success.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #23d160 #23d160 !important;
}

.button.is-success.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-success.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
box-shadow: none;
color: #fff;
}

.button.is-warning {
background-color: #ffdd57;
border-color: transparent;
color: rgba(0, 0, 0, 0.7);
}

.button.is-warning:hover, .button.is-warning.is-hovered {
background-color: #ffdb4a;
border-color: transparent;
color: rgba(0, 0, 0, 0.7);
}

.button.is-warning:focus, .button.is-warning.is-focused {
border-color: transparent;
color: rgba(0, 0, 0, 0.7);
}

.button.is-warning:focus:not(:active), .button.is-warning.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(255, 221, 87, 0.25);
}

.button.is-warning:active, .button.is-warning.is-active {
background-color: #ffd83d;
border-color: transparent;
color: rgba(0, 0, 0, 0.7);
}

.button.is-warning[disabled],
fieldset[disabled] .button.is-warning {
background-color: #ffdd57;
border-color: transparent;
box-shadow: none;
}

.button.is-warning.is-inverted {
background-color: rgba(0, 0, 0, 0.7);
color: #ffdd57;
}

.button.is-warning.is-inverted:hover, .button.is-warning.is-inverted.is-hovered {
background-color: rgba(0, 0, 0, 0.7);
}

.button.is-warning.is-inverted[disabled],
fieldset[disabled] .button.is-warning.is-inverted {
background-color: rgba(0, 0, 0, 0.7);
border-color: transparent;
box-shadow: none;
color: #ffdd57;
}

.button.is-warning.is-loading::after {
border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;
}

.button.is-warning.is-outlined {
background-color: transparent;
border-color: #ffdd57;
color: #ffdd57;
}

.button.is-warning.is-outlined:hover, .button.is-warning.is-outlined.is-hovered, .button.is-warning.is-outlined:focus, .button.is-warning.is-outlined.is-focused {
background-color: #ffdd57;
border-color: #ffdd57;
color: rgba(0, 0, 0, 0.7);
}

.button.is-warning.is-outlined.is-loading::after {
border-color: transparent transparent #ffdd57 #ffdd57 !important;
}

.button.is-warning.is-outlined.is-loading:hover::after, .button.is-warning.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-outlined.is-loading:focus::after, .button.is-warning.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent rgba(0, 0, 0, 0.7) rgba(0, 0, 0, 0.7) !important;
}

.button.is-warning.is-outlined[disabled],
fieldset[disabled] .button.is-warning.is-outlined {
background-color: transparent;
border-color: #ffdd57;
box-shadow: none;
color: #ffdd57;
}

.button.is-warning.is-inverted.is-outlined {
background-color: transparent;
border-color: rgba(0, 0, 0, 0.7);
color: rgba(0, 0, 0, 0.7);
}

.button.is-warning.is-inverted.is-outlined:hover, .button.is-warning.is-inverted.is-outlined.is-hovered, .button.is-warning.is-inverted.is-outlined:focus, .button.is-warning.is-inverted.is-outlined.is-focused {
background-color: rgba(0, 0, 0, 0.7);
color: #ffdd57;
}

.button.is-warning.is-inverted.is-outlined.is-loading:hover::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-warning.is-inverted.is-outlined.is-loading:focus::after, .button.is-warning.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #ffdd57 #ffdd57 !important;
}

.button.is-warning.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-warning.is-inverted.is-outlined {
background-color: transparent;
border-color: rgba(0, 0, 0, 0.7);
box-shadow: none;
color: rgba(0, 0, 0, 0.7);
}

.button.is-danger {
background-color: #ff3860;
border-color: transparent;
color: #fff;
}

.button.is-danger:hover, .button.is-danger.is-hovered {
background-color: #ff2b56;
border-color: transparent;
color: #fff;
}

.button.is-danger:focus, .button.is-danger.is-focused {
border-color: transparent;
color: #fff;
}

.button.is-danger:focus:not(:active), .button.is-danger.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(255, 56, 96, 0.25);
}

.button.is-danger:active, .button.is-danger.is-active {
background-color: #ff1f4b;
border-color: transparent;
color: #fff;
}

.button.is-danger[disabled],
fieldset[disabled] .button.is-danger {
background-color: #ff3860;
border-color: transparent;
box-shadow: none;
}

.button.is-danger.is-inverted {
background-color: #fff;
color: #ff3860;
}

.button.is-danger.is-inverted:hover, .button.is-danger.is-inverted.is-hovered {
background-color: #f2f2f2;
}

.button.is-danger.is-inverted[disabled],
fieldset[disabled] .button.is-danger.is-inverted {
background-color: #fff;
border-color: transparent;
box-shadow: none;
color: #ff3860;
}

.button.is-danger.is-loading::after {
border-color: transparent transparent #fff #fff !important;
}

.button.is-danger.is-outlined {
background-color: transparent;
border-color: #ff3860;
color: #ff3860;
}

.button.is-danger.is-outlined:hover, .button.is-danger.is-outlined.is-hovered, .button.is-danger.is-outlined:focus, .button.is-danger.is-outlined.is-focused {
background-color: #ff3860;
border-color: #ff3860;
color: #fff;
}

.button.is-danger.is-outlined.is-loading::after {
border-color: transparent transparent #ff3860 #ff3860 !important;
}

.button.is-danger.is-outlined.is-loading:hover::after, .button.is-danger.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-outlined.is-loading:focus::after, .button.is-danger.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #fff #fff !important;
}

.button.is-danger.is-outlined[disabled],
fieldset[disabled] .button.is-danger.is-outlined {
background-color: transparent;
border-color: #ff3860;
box-shadow: none;
color: #ff3860;
}

.button.is-danger.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff;
}

.button.is-danger.is-inverted.is-outlined:hover, .button.is-danger.is-inverted.is-outlined.is-hovered, .button.is-danger.is-inverted.is-outlined:focus, .button.is-danger.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #ff3860;
}

.button.is-danger.is-inverted.is-outlined.is-loading:hover::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-danger.is-inverted.is-outlined.is-loading:focus::after, .button.is-danger.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #ff3860 #ff3860 !important;
}

.button.is-danger.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-danger.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
box-shadow: none;
color: #fff;
}

.button.is-small {
border-radius: 2px;
font-size: 0.75rem;
}

.button.is-normal {
font-size: 1rem;
}

.button.is-medium {
font-size: 1.25rem;
}

.button.is-large {
font-size: 1.5rem;
}

.button[disabled],
fieldset[disabled] .button {
background-color: white;
border-color: #dbdbdb;
box-shadow: none;
opacity: 0.7;
}

.button.is-fullwidth {
display: flex;
width: 100%;
}

.button.is-loading {
color: transparent !important;
pointer-events: none;
}

.button.is-loading::after {
position: absolute;
left: calc(50% - (1em / 2));
top: calc(50% - (1em / 2));
position: absolute !important;
}

.button.is-static {
background-color: whitesmoke;
border-color: #dbdbdb;
color: #7a7a7a;
box-shadow: none;
pointer-events: none;
}

.buttons {
align-items: center;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}

.buttons .button {
margin-bottom: 0.5rem;
}

.buttons .button:not(:last-child):not(.is-fullwidth) {
margin-right: 0.5rem;
}

.buttons:last-child {
margin-bottom: -0.5rem;
}

.buttons:not(:last-child) {
margin-bottom: 1rem;
}

.buttons.are-small .button:not(.is-normal):not(.is-medium):not(.is-large) {
border-radius: 2px;
font-size: 0.75rem;
}

.buttons.are-medium .button:not(.is-small):not(.is-normal):not(.is-large) {
font-size: 1.25rem;
}

.buttons.are-large .button:not(.is-small):not(.is-normal):not(.is-medium) {
font-size: 1.5rem;
}

.buttons.has-addons .button:not(:first-child) {
border-bottom-left-radius: 0;
border-top-left-radius: 0;
}

.buttons.has-addons .button:not(:last-child) {
border-bottom-right-radius: 0;
border-top-right-radius: 0;
margin-right: -1px;
}

.buttons.has-addons .button:last-child {
margin-right: 0;
}

.buttons.has-addons .button:hover, .buttons.has-addons .button.is-hovered {
z-index: 2;
}

.buttons.has-addons .button:focus, .buttons.has-addons .button.is-focused, .buttons.has-addons .button:active, .buttons.has-addons .button.is-active, .buttons.has-addons .button.is-selected {
z-index: 3;
}

.buttons.has-addons .button:focus:hover, .buttons.has-addons .button.is-focused:hover, .buttons.has-addons .button:active:hover, .buttons.has-addons .button.is-active:hover, .buttons.has-addons .button.is-selected:hover {
z-index: 4;
}

.buttons.has-addons .button.is-expanded {
flex-grow: 1;
flex-shrink: 1;
}

.buttons.is-centered {
justify-content: center;
}

.buttons.is-centered:not(.has-addons) .button:not(.is-fullwidth) {
margin-left: 0.25rem;
margin-right: 0.25rem;
}

.buttons.is-right {
justify-content: flex-end;
}

.buttons.is-right:not(.has-addons) .button:not(.is-fullwidth) {
margin-left: 0.25rem;
margin-right: 0.25rem;
}

.button.is-neoloop {
min-width:10rem;
padding:1rem;
}

.button.is-menu {
background-color: transparent;
border-color: transparent;
color: #164579;
}

.button.is-menu:hover, .button.is-menu.is-hovered {
background-color: whitesmoke;
border-color: transparent;
color: #164579;
}

.button.is-loop {
background-color: #1dbadf;
border-color: transparent;
color: #fff;
}

.button.is-loop:hover, .button.is-loop.is-hovered {
background-color: #069bc3;
border-color: transparent;
color: #fff;
}

.button.is-loop:focus, .button.is-loop.is-focused {
border-color: transparent;
color: #fff;
}

.button.is-loop:focus:not(:active), .button.is-loop.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(32, 156, 238, 0.25);
}

.button.is-loop:active, .button.is-loop.is-active {
background-color: #069bc3;
border-color: transparent;
color: #fff;
}

.button.is-loop[disabled],
fieldset[disabled] .button.is-loop {
background-color: #1dbadf;
border-color: transparent;
box-shadow: none;
}

.button.is-loop.is-inverted {
background-color: #fff;
color: #1dbadf;
}

.button.is-loop.is-inverted:hover, .button.is-loop.is-inverted.is-hovered {
background-color: #f2f2f2;
}

.button.is-loop.is-inverted[disabled],
fieldset[disabled] .button.is-loop.is-inverted {
background-color: #fff;
border-color: transparent;
box-shadow: none;
color: #1dbadf;
}

.button.is-loop.is-loading::after {
border-color: transparent transparent #fff #fff !important;
}

.button.is-loop.is-outlined {
background-color: transparent;
border-color: #1dbadf;
color: #1dbadf;
}

.button.is-loop.is-outlined:hover, .button.is-loop.is-outlined.is-hovered, .button.is-loop.is-outlined:focus, .button.is-loop.is-outlined.is-focused {
background-color: #1dbadf;
border-color: #1dbadf;
color: #fff;
}

.button.is-loop.is-outlined.is-loading::after {
border-color: transparent transparent #1dbadf #1dbadf !important;
}

.button.is-loop.is-outlined.is-loading:hover::after, .button.is-loop.is-outlined.is-loading.is-hovered::after, .button.is-loop.is-outlined.is-loading:focus::after, .button.is-loop.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #fff #fff !important;
}

.button.is-loop.is-outlined[disabled],
fieldset[disabled] .button.is-loop.is-outlined {
background-color: transparent;
border-color: #1dbadf;
box-shadow: none;
color: #1dbadf;
}

.button.is-loop.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff;
}

.button.is-loop.is-inverted.is-outlined:hover, .button.is-loop.is-inverted.is-outlined.is-hovered, .button.is-loop.is-inverted.is-outlined:focus, .button.is-loop.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #1dbadf;
}

.button.is-loop.is-inverted.is-outlined.is-loading:hover::after, .button.is-loop.is-inverted.is-outlined.is-loading.is-hovered::after, .button.is-loop.is-inverted.is-outlined.is-loading:focus::after, .button.is-loop.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #1dbadf #1dbadf !important;
}

.button.is-loop.is-inverted.is-outlined[disabled],
fieldset[disabled] .button.is-loop.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
box-shadow: none;
color: #fff;
}

.button.is-circle {
    border-radius: 25px;
    padding-left: 0.5em;
    padding-right: 0.5em;
}

.is-circle{
  border-radius: 50%;
  text-align: center;
  vertical-align: middle;
  display: table-cell;
  padding-left: 0px;
  padding-right: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
}

.button.is-rounded {
border-radius: 290486px;
padding-left: 1em;
padding-right: 1em;
}

.title.is-mobile-button {
	font-weight: 600;
}

.is-mobile-nav-item {
	height:100%;
	text-align:center;
	vertical-align:middle;
	padding:0.5em;
}

.is-mobile-button-link {
	line-height:1;
	display: block;
	margin: 1px;
}

.navbar-burger.is-mobile-button-link {
	height:auto;
}

/* ========================================
   DROPDOWN DANS TABLEAUX - FIX OVERFLOW
   ======================================== */

/* Permettre aux dropdowns de s'afficher en dehors des conteneurs de tableau */
.b-table .table-wrapper {
	overflow: visible !important;
}

.b-table .table-wrapper.has-mobile-cards {
	overflow: visible !important;
}

/* S'assurer que les dropdowns dans les tableaux ont un z-index élevé */
.b-table .dropdown-menu {
	z-index: 1000 !important;
	position: absolute !important;
}

/* Fix spécifique pour les dropdowns dans les cellules de tableau */
.b-table td .dropdown {
	position: relative !important;
}

.b-table td .dropdown-menu {
	position: absolute !important;
	z-index: 1000 !important;
	top: 100% !important;
	left: 0 !important;
	right: auto !important;
}

/* Permettre l'overflow des dropdowns dans les conteneurs de tableau */
.b-table {
	overflow: visible !important;
}

/* Fix pour les tableaux avec peu de lignes */
.b-table .table-wrapper:not(.has-mobile-cards) {
	overflow: visible !important;
}

/* S'assurer que les dropdowns ne sont pas coupés par les conteneurs parents */
.b-table .table-wrapper .dropdown-menu {
	transform: none !important;
}

/* Fix pour les dropdowns dans les cellules d'actions */
.b-table td[data-label="Actions"] .dropdown-menu {
	right: 0 !important;
	left: auto !important;
	top: 100% !important;
	z-index: 1000 !important;
}

/* Fix pour les dropdowns dans les cellules de document */
.b-table td[data-label="Document"] .dropdown-menu {
	right: 0 !important;
	left: auto !important;
	top: 100% !important;
	z-index: 1000 !important;
}

/* =============================================
   BULMA 1.0 MESSAGE STYLES - ANCIENNES VERSIONS
   ============================================= */

/* Base message styles */
.message {
	background-color: #f5f5f5;
	border-radius: 4px;
	font-size: 1rem;
}

.message:not(:last-child) {
	margin-bottom: 1.5rem;
}

/* Message header */
.message-header {
	align-items: center;
	background-color: #4a4a4a;
	border-radius: 4px 4px 0 0;
	color: #fff;
	display: flex;
	font-weight: 700;
	justify-content: space-between;
	line-height: 1.25;
	padding: 0.75em 1em;
}

.message-header .delete {
	flex-grow: 0;
	flex-shrink: 0;
	margin-left: 0.75em;
}

.message-header + .message-body {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-top: none;
}

/* Message body */
.message-body {
	border-color: #dbdbdb;
	border-radius: 4px;
	border-style: solid;
	border-width: 0 0 0 4px;
	color: #4a4a4a;
	padding: 1.25em 1.5em;
}

.message-body code,
.message-body pre {
	background-color: transparent;
}

.message-body pre code {
	background-color: transparent;
	color: #4a4a4a;
	font-size: 0.875em;
	padding: 0;
}

/* Message colors - Bulma 1.0 style */
.message.is-primary {
	background-color: #e8f4fd;
}

.message.is-primary .message-header {
	background-color: #00d1b2;
	color: #fff;
}

.message.is-primary .message-body {
	border-color: #00d1b2;
	color: #0a0a0a;
}

.message.is-link {
	background-color: #e8f4fd;
}

.message.is-link .message-header {
	background-color: #3273dc;
	color: #fff;
}

.message.is-link .message-body {
	border-color: #3273dc;
	color: #0a0a0a;
}

.message.is-info {
	background-color: #e8f4fd;
}

.message.is-info .message-header {
	background-color: #209cee;
	color: #fff;
}

.message.is-info .message-body {
	border-color: #209cee;
	color: #0a0a0a;
}

.message.is-success {
	background-color: #effaf3;
}

.message.is-success .message-header {
	background-color: #48c774;
	color: #fff;
}

.message.is-success .message-body {
	border-color: #48c774;
	color: #0a0a0a;
}

.message.is-warning {
	background-color: #fffbeb;
}

.message.is-warning .message-header {
	background-color: #ffdd57;
	color: rgba(0, 0, 0, 0.7);
}

.message.is-warning .message-body {
	border-color: #ffdd57;
	color: #0a0a0a;
}

.message.is-danger {
	background-color: #feecf0;
}

.message.is-danger .message-header {
	background-color: #f14668;
	color: #fff;
}

.message.is-danger .message-body {
	border-color: #f14668;
	color: #0a0a0a;
}

/* Message light variants */
.message.is-primary.is-light {
	background-color: #e8f4fd;
}

.message.is-primary.is-light .message-header {
	background-color: #00d1b2;
	color: #fff;
}

.message.is-primary.is-light .message-body {
	border-color: #00d1b2;
	color: #0a0a0a;
}

.message.is-link.is-light {
	background-color: #e8f4fd;
}

.message.is-link.is-light .message-header {
	background-color: #3273dc;
	color: #fff;
}

.message.is-link.is-light .message-body {
	border-color: #3273dc;
	color: #0a0a0a;
}

.message.is-info.is-light {
	background-color: #e8f4fd;
}

.message.is-info.is-light .message-header {
	background-color: #209cee;
	color: #fff;
}

.message.is-info.is-light .message-body {
	border-color: #209cee;
	color: #0a0a0a;
}

.message.is-success.is-light {
	background-color: #effaf3;
}

.message.is-success.is-light .message-header {
	background-color: #48c774;
	color: #fff;
}

.message.is-success.is-light .message-body {
	border-color: #48c774;
	color: #0a0a0a;
}

.message.is-warning.is-light {
	background-color: #fffbeb;
}

.message.is-warning.is-light .message-header {
	background-color: #ffdd57;
	color: rgba(0, 0, 0, 0.7);
}

.message.is-warning.is-light .message-body {
	border-color: #ffdd57;
	color: #0a0a0a;
}

.message.is-danger.is-light {
	background-color: #feecf0;
}

.message.is-danger.is-light .message-header {
	background-color: #f14668;
	color: #fff;
}

.message.is-danger.is-light .message-body {
	border-color: #f14668;
	color: #0a0a0a;
}

/* Message sizes */
.message.is-small {
	font-size: 0.75rem;
}

.message.is-small .message-header {
	font-size: 0.75em;
	padding: 0.5em 0.75em;
}

.message.is-small .message-body {
	font-size: 0.75em;
	padding: 1em 1.25em;
}

.message.is-medium {
	font-size: 1.25rem;
}

.message.is-medium .message-header {
	font-size: 1.25em;
	padding: 1em 1.5em;
}

.message.is-medium .message-body {
	font-size: 1.25em;
	padding: 1.5em 2em;
}

.message.is-large {
	font-size: 1.5rem;
}

.message.is-large .message-header {
	font-size: 1.5em;
	padding: 1.25em 2em;
}

.message.is-large .message-body {
	font-size: 1.5em;
	padding: 2em 2.5em;
}


@media screen and (max-width: 768px) {
.columns.nl-search-client-toolbar.is-multiline.is-mobile > .column.nl-search-client-query {
	flex: none !important;
	width: 100%;
	max-width: 100%;
	margin-top: 0.35rem;
}
}

/* ─────────────────────────────────────────────────────────────────────────
   PNL-200 — Densité du placeholder Trix alignée sur les <textarea> Bulma.
   Trix v1.3.1 applique `color: graytext` (~#7f7f7f) via le sélecteur exact
   `trix-editor:empty:not(:focus)::before { content: attr(placeholder); }` :
   plus dense que le placeholder Bulma, ce qui donne une impression de
   "champ déjà rempli" quand un Trix côtoie un <textarea>. Override
   projet-wide. On reproduit le sélecteur Trix mot pour mot (avec
   `:not(:focus)`) pour s'aligner sur sa spécificité et gagner la cascade
   via `!important`. Couleur Bulma `grey-light` (#b5b5b5) + italique pour
   différencier clairement du texte actif.

   Même rendu appliqué aux placeholders des <input> / <textarea> / <select>
   Bulma (legacy 0.7.5 utilise les variantes vendor + `:-moz-placeholder`)
   pour conserver une cohérence visuelle parfaite avec le Trix dans tout
   le projet.
   ───────────────────────────────────────────────────────────────────── */
/* Règles séparées (vs. liste comma-combinée) — la spec CSS3 Selectors veut
   qu'un sélecteur invalide dans une liste invalide TOUTE la règle. Mixer
   `::placeholder` (pseudo-element standard) et `:-moz-placeholder` /
   `:-ms-input-placeholder` (pseudo-classes vendor non standardes) dans une
   même liste fait sauter toute la règle dans certains parsers (Chrome
   notamment). On éclate donc en blocs indépendants. */
trix-editor:empty:not(:focus)::before {
    color: #b5b5b5 !important;
    opacity: 0.85 !important;
    font-weight: 400 !important;
    font-style: italic !important;
}
.input::placeholder,
.textarea::placeholder,
.select select::placeholder {
    color: #b5b5b5 !important;
    opacity: 0.85 !important;
    font-weight: 400 !important;
    font-style: italic !important;
}
.input::-webkit-input-placeholder,
.textarea::-webkit-input-placeholder,
.select select::-webkit-input-placeholder {
    color: #b5b5b5 !important;
    opacity: 0.85 !important;
    font-weight: 400 !important;
    font-style: italic !important;
}
.input::-moz-placeholder,
.textarea::-moz-placeholder,
.select select::-moz-placeholder {
    color: #b5b5b5 !important;
    opacity: 0.85 !important;
    font-weight: 400 !important;
    font-style: italic !important;
}
.input:-ms-input-placeholder,
.textarea:-ms-input-placeholder,
.select select:-ms-input-placeholder {
    color: #b5b5b5 !important;
    opacity: 0.85 !important;
    font-weight: 400 !important;
    font-style: italic !important;
}
.input:-moz-placeholder,
.textarea:-moz-placeholder,
.select select:-moz-placeholder {
    color: #b5b5b5 !important;
    opacity: 0.85 !important;
    font-weight: 400 !important;
    font-style: italic !important;
}

/* ------------------------------------------------------------------ */
/* Formulaire de recherche accueil portails (FA / NL) : responsive CSS */
/* Remplace le dimensionnement serveur $g_search_input_size_FO / USER_SCREEN.  */
/* Le navigateur décide selon le viewport réel (correct dès le 1er rendu,      */
/* s'adapte au redimensionnement). Breakpoint 768 px (aligné menu expert).     */
/* ------------------------------------------------------------------ */
.input.fo-home-search-input { width: 300px; }
.button.fo-home-search-btn-mobile { display: none; }
@media screen and (max-width: 768px) {
    .input.fo-home-search-input { width: 100%; }
    .button.fo-home-search-btn-desktop { display: none; }
    .button.fo-home-search-btn-mobile  { display: flex; }
}

/* Prestation, duree et prix forment un seul bloc : le cadre montre que les
   deux dernieres valeurs decoulent de la premiere. */
.neoloop-booking-service-group{
    border: 1px solid #c9c9c9;
    border-radius: 10px;
    background-color: #fafafa;
    padding: 0.75rem 0.75rem 0.25rem 0.75rem;
    margin-bottom: 0.75rem;
}

.neoloop-booking-service-group .input,
.neoloop-booking-service-group .select select,
.neoloop-booking-service-group .textarea{
    background-color: #ffffff;
}

.neoloop-booking-service-group .notification{
    margin-bottom: 0.75rem;
    padding: 0.5rem 0.75rem;
}

/* Recherche client : le champ et son bouton forment une seule pilule, meme
   hauteur et bords jointifs. Le panneau imposant 1 rem, la hauteur est fixee. */
.neoloop-booking-client-search{
    margin-bottom: 0.75rem;
}

.neoloop-booking-client-search .input,
.neoloop-booking-client-search .button{
    height: 2.5rem;
    font-size: 0.95rem;
}

.neoloop-booking-client-search .control:first-child .input{
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right-color: transparent;
    padding-left: 2.5rem;
}

.neoloop-booking-client-search .control.has-icons-left .icon{
    height: 2.5rem;
    width: 2.5rem;
}

.neoloop-booking-client-search .control:last-child .button{
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    padding-left: 1rem;
    padding-right: 1.25rem;
}

.neoloop-booking-service-group .notification .subtitle{
    font-size: 0.85rem;
    margin-bottom: 0;
}

/* Tableaux libelle/valeur du panneau de reservation : meme colonne de gauche
   sur les onglets RDV, Client et Infos. */
.booking-qv-body table th{
    width: 35%;
    font-style: italic;
    color: #6b6b6b;
}

@media screen and (max-width: 768px){
    /* Le panneau prend toute la largeur : le libelle passe au-dessus. La valeur
       est ciblee par th + td, pour ne pas toucher la liste des clients. */
    .booking-qv-body table th,
    .booking-qv-body table th + td{
        display: block;
        width: 100%;
    }
    .booking-qv-body table th{
        white-space: normal;
        padding-bottom: 0;
        border-bottom: 0;
    }
    .booking-qv-body table th + td{
        padding-top: 0;
    }
}

/* ─── Onglets du type de RDV, volet de creation du panneau ─────────────────
   Onglets Bulma is-boxed a largeur egale, avec un liseré haut a la couleur du
   type et l'icone dans une pastille ronde de la meme couleur.
   ────────────────────────────────────────────────────────────────────── */
.tabs.is-boxed.booking-type-tabs { margin: 0; padding: 0; overflow: visible; }

.tabs.is-boxed.booking-type-tabs ul {
    flex: 1 1 auto;
    border-bottom-color: #dbdbdb;
    /* Le premier onglet part du bord, sans retrait herite. */
    margin-left: 0;
    padding-left: 0;
}

.tabs.is-boxed.booking-type-tabs li:first-child { margin-left: 0; }

/* Trois parts egales sur toute la largeur disponible du volet. */
.tabs.is-boxed.booking-type-tabs li { flex: 1 1 0; min-width: 0; }

.tabs.is-boxed.booking-type-tabs li a {
    justify-content: center;
    gap: 0.45em;
    border-top-width: 5px;
    border-top-style: solid;
    border-radius: 8px 8px 0 0;
    padding: 0.55em 0.5em;
    font-weight: 600;
    color: #7a7a7a;
}

/* Liseré du haut : gris pour Perso, orange pour PRO, jaune pour Force. */
.tabs.is-boxed.booking-type-tabs li.is-type-2 a { border-top-color: #d8d8d8; }
.tabs.is-boxed.booking-type-tabs li.is-type-1 a { border-top-color: #f1592a; }
.tabs.is-boxed.booking-type-tabs li.is-type-3 a { border-top-color: #ffdd57; }

/* Mode de recherche de creneau : l'agenda en is-info, les creneaux en is-link. */
.tabs.is-boxed.booking-type-tabs li.is-slot-mode a { border-top-color: #209cee; }
.tabs.is-boxed.booking-type-tabs li.is-slot-mode .booking-type-tabs-dot { background-color: #209cee; color: #ffffff; }
.tabs.is-boxed.booking-type-tabs li#planning_create_slot_mode_tab_free a { border-top-color: #3273dc; }
.tabs.is-boxed.booking-type-tabs li#planning_create_slot_mode_tab_free .booking-type-tabs-dot { background-color: #3273dc; }

/* Choix du client : la recherche en is-info, la creation en is-link. */
.tabs.is-boxed.booking-client-tabs li.is-client-mode-search a { border-top-color: #209cee; }
.tabs.is-boxed.booking-client-tabs li.is-client-mode-search .booking-type-tabs-dot { background-color: #209cee; color: #ffffff; }
.tabs.is-boxed.booking-client-tabs li.is-client-mode-create a { border-top-color: #3273dc; }
.tabs.is-boxed.booking-client-tabs li.is-client-mode-create .booking-type-tabs-dot { background-color: #3273dc; color: #ffffff; }

/* Onglets du choix du client visibles pendant tout le defilement du panneau. */
#booking_client_mode_field {
    position: sticky;
    top: 0;
    z-index: 3;
    background-color: #ffffff;
    margin-bottom: 0;
    padding-top: 0.35rem;
}

/* Pastille ronde portant l'icone du type. */
.booking-type-tabs-dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 1.6em;
    height: 1.6em;
    border-radius: 50%;
    font-size: 0.85em;
}

.tabs.is-boxed.booking-type-tabs li.is-type-2 .booking-type-tabs-dot { background-color: #d8d8d8; color: #363636; }
.tabs.is-boxed.booking-type-tabs li.is-type-1 .booking-type-tabs-dot { background-color: #f1592a; color: #ffffff; }
.tabs.is-boxed.booking-type-tabs li.is-type-3 .booking-type-tabs-dot { background-color: #ffdd57; color: #363636; }

/* Au repos : l'onglet s'efface, sa pastille se decolore. */
.tabs.is-boxed.booking-type-tabs li:not(.is-active) a {
    background-color: #f2f2f2;
    border-right-color: transparent;
    border-left-color: transparent;
    border-bottom-color: #dbdbdb;
}

.tabs.is-boxed.booking-type-tabs li:not(.is-active) .booking-type-tabs-dot {
    filter: grayscale(1);
    opacity: 0.55;
}

.tabs.is-boxed.booking-type-tabs li:not(.is-active) a:hover {
    background-color: #e9e9e9;
    color: #4a4a4a;
}

.tabs.is-boxed.booking-type-tabs li:not(.is-active) a:hover .booking-type-tabs-dot {
    filter: none;
    opacity: 0.85;
}

/* Actif : fond blanc, texte plein, ombre portee vers le haut pour le detacher
   nettement des deux autres. */
.tabs.is-boxed.booking-type-tabs li.is-active a {
    background-color: #ffffff;
    color: #1d3557;
    font-weight: 800;
    box-shadow: 0 -3px 6px rgba(10, 10, 10, 0.12);
}

/* Onglets de type visibles pendant tout le defilement du volet. Le bloc collant
   est le champ entier : son parent est le formulaire, donc toute la hauteur. */
#booking_qv_create #planning_create_type_field {
    position: sticky;
    top: 0;
    z-index: 3;
    background-color: #ffffff;
    margin-bottom: 0;
    padding-top: 0.35rem;
}

/* Libelles du volet de creation : legerement rentres, et aeres du bloc au-dessus. */
#booking_qv_create .field > .label { padding-left: 5px; }
/* Le groupe prestation porte deja son propre retrait. */
#booking_qv_create .neoloop-booking-service-group .field > .label { padding-left: 0; }
#booking_qv_create .booking-type-note + .field,
#booking_qv_create #planning_create_slot_mode_field + .field { margin-top: 0.9rem; }

/*--------------------------------------------------------------------------
  Creneaux libres du Manager. Une carte, un bandeau de contexte, une barre de
  periode, puis une grille de jours dont les creneaux sont des pastilles.
  --------------------------------------------------------------------------*/
.neoloop-slots-context {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.35rem;
    padding: 0.75rem 1rem;
    background-color: #fafafa;
    border-bottom: 1px solid #e5e5e5;
}

.neoloop-slots-context-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

/* L'ecran n'est plus monte dans un widget : il faut retrouver l'air que le
   composant donnait sous la barre de navigation. */
.neoloop-slots-page { padding-top: 1rem; }

.neoloop-slots-panel {
    background-color: transparent;
}

.neoloop-slots-body { padding: 0; }

/* Prestation, duree et prix : une ligne chacune, icone a gauche, texte libre
   de passer a la ligne. */
.neoloop-slots-infos {
    text-align: left;
    padding: 0.9rem 1rem;
    margin-bottom: 1rem;
}

.neoloop-slots-info {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.15rem 0;
}

.neoloop-slots-info > .icon { flex-shrink: 0; margin-top: 0.15rem; }

/* Le prix vient du pipeline marketing sous forme de notifications : on les
   remet a plat pour qu'elles s'alignent sur les deux autres lignes. */
.neoloop-slots-info-price .notification {
    background-color: transparent;
    padding: 0;
    margin: 0 0 0.2rem 0;
}

.neoloop-slots-info-price .notification:last-child { margin-bottom: 0; }

/* Barre de periode, au-dessus de la box. */
.neoloop-slots-week {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-bottom: 0.6rem;
}

.neoloop-slots-week-nav { display: flex; gap: 0.4rem; }
.neoloop-slots-week-nav form { margin: 0; }

/* La box ne porte que la plage de dates et les jours. */
.neoloop-slots-box { padding: 1rem; }

.neoloop-slots-range {
    font-weight: 700;
    color: #4a4a4a;
    text-align: left;
    margin-bottom: 0.75rem;
}

/* Le fondu du bord droit signale qu'il reste des jours a faire defiler. */
.neoloop-slots-scroller { position: relative; }

.neoloop-slots-scroller::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 2.5rem;
    pointer-events: none;
    background: linear-gradient(to right, rgba(255, 255, 255, 0), #ffffff 85%);
}

/* Les jours restent sur une seule ligne et defilent : jamais de retour a la
   ligne, sur ecran large comme en mobile. */
.neoloop-slots-grid {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.6rem;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 0.5rem;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

/* Barre de defilement laissee visible : c'est la seconde indication qu'il y a
   une suite, la premiere etant le fondu. */
.neoloop-slots-grid::-webkit-scrollbar { width: 8px; height: 8px; }
.neoloop-slots-grid::-webkit-scrollbar-track { background: #f2f4f7; border-radius: 4px; }
.neoloop-slots-grid::-webkit-scrollbar-thumb { background: #cfd8e3; border-radius: 4px; }

.neoloop-slots-day {
    display: flex;
    flex-direction: column;
    flex: 0 0 9rem;
    scroll-snap-align: start;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background-color: #ffffff;
}

/* L'en-tete reste visible pendant le defilement vertical. Sans overflow sur la
   colonne, sinon elle deviendrait le conteneur de defilement et figerait tout. */
.neoloop-slots-day-head {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 0.5rem 0.35rem;
    text-align: center;
    background-color: #eef5fc;
    border-bottom: 1px solid #e5e5e5;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
}

.neoloop-slots-day-name { display: block; font-weight: 700; font-size: 0.8rem; color: #1d3557; }
.neoloop-slots-day-date { display: block; font-size: 0.78rem; color: #5f5e5a; }
.neoloop-slots-day-note { display: block; font-size: 0.7rem; color: #7a7a7a; }

.neoloop-slots-day-body {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.45rem 0.4rem;
    flex: 1;
}

.neoloop-slots-day-body form { margin: 0; }

.neoloop-slots-ampm {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #8a8a8a;
    padding-top: 0.2rem;
}

/* Mobile : colonnes plus etroites, et hauteur bornee pour que les journees
   vides ne creusent pas l'interface. Le defilement devient horizontal ET
   vertical, d'ou les en-tetes collants. */
@media screen and (max-width: 768px) {
    .neoloop-slots-day { flex: 0 0 7.5rem; }

    .neoloop-slots-box { padding: 0.6rem; }

    .neoloop-slots-grid {
        max-height: 60vh;
        overflow-y: auto;
        align-items: flex-start;
    }
}

/* En-tete du panneau, sous 768px : le libelle est masque mais reste dans le DOM,
   l'icone garde donc les marges dissymetriques de Bulma et le bouton s'ovalise. */
@media screen and (max-width: 768px) {
    .quickview-header .booking-qv-header-btn {
        width: 2.5em;
        height: 2.5em;
        padding: 0;
    }

    .quickview-header .booking-qv-header-btn .icon:first-child:not(:last-child) {
        margin-left: 0;
        margin-right: 0;
    }

    /* Recherche client : le bouton n'est plus qu'une loupe, mais son libelle
       reste dans le DOM et laisse donc l'icone decentree sans ce rattrapage. */
    #booking_client_search_btn {
        padding-left: 0.9em;
        padding-right: 0.9em;
    }

    #booking_client_search_btn .icon:first-child:not(:last-child) {
        margin-left: 0;
        margin-right: 0;
    }
}

/* Pied de la modale : demande de modification ou recapitulatif, meme principe. */
.planning-edit-foot .planning-edit-foot-block { display: none; }
.planning-edit-foot[data-mode="ask"] .is-foot-ask,
.planning-edit-foot[data-mode="recap"] .is-foot-recap { display: flex; }

/* Identifiant et pastille de type sur une ligne, sous le titre de la modale. */
.planning-edit-type {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0 0 0.9rem 0;
}

.planning-edit-id {
    font-weight: 700;
    font-size: 1.15rem;
    color: #363636;
}
.planning-edit-type .tag { display: none; }
.planning-edit-type[data-mode="pro"] .is-type-pro,
.planning-edit-type[data-mode="forced"] .is-type-forced { display: inline-flex; }
.planning-edit-type .tag .icon { margin-right: 0.35rem; }

/* Ligne editable du tableau du panneau : la valeur a gauche, son bouton colle
   au bord droit de la cellule. */
.booking-row-editable {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    width: 100%;
}

.booking-row-editable > .booking-row-edit-btn:first-of-type { margin-left: auto; }

/* Bandeau du panneau sur fond clair : ses boutons inverses passent en fonce. */
.quickview-header.has-dark-text .booking-qv-header-btn {
    color: #363636;
    border-color: #363636;
}

/* Duree et prix sur une ligne : chacun garde sa moitie, select et champ cote a cote. */
.booking-row-pair {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
}
.booking-row-pair > .booking-row-editable { width: auto; flex: 1 1 auto; min-width: 0; }
.booking-row-editable .input { max-width: 8rem; }

/* Modale de mise en modification : les deux notices sont ecrites en dur, seul
   l'attribut data-mode designe celle qui s'affiche. */
.planning-edit-steps { text-align: left; }
.planning-edit-steps .planning-edit-steps-block { display: none; }
.planning-edit-steps[data-mode="pro"] .is-steps-pro,
.planning-edit-steps[data-mode="forced"] .is-steps-forced,
.planning-edit-steps[data-mode="recap"] .is-steps-recap { display: block; }

/* Avertissement de creneau refuse, en tete du recapitulatif. */
.planning-edit-conflict {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.6rem 0.75rem;
    margin-bottom: 0.7rem;
    font-size: 0.85rem;
    text-align: left;
}

.planning-edit-conflict .icon { flex-shrink: 0; margin-top: 0.1rem; }

.planning-edit-steps-intro {
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.planning-edit-steps ol {
    list-style: decimal inside;
    margin: 0 0 0.6rem 0;
}

.planning-edit-steps ol li {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.2rem 0;
    font-size: 0.9rem;
}

.planning-edit-steps ol li > .icon {
    flex-shrink: 0;
    margin-top: 0.15rem;
    color: #3273dc;
}

.planning-edit-steps-ps {
    font-size: 0.82rem;
    color: #6b6b6b;
    font-style: italic;
}

/* Libelle de la ligne Statut : blanc sur les fonds satures, gris conserve sur
   les fonds clairs comme annulee ou a supprimer. L'icone n'est pas citee, elle
   herite de la cellule. */
.booking-qv-body table th.booking-status-head.is-success,
.booking-qv-body table th.booking-status-head.is-danger,
.booking-qv-body table th.booking-status-head.is-link,
.booking-qv-body table th.booking-status-head.is-orange {
    color: #fff;
}

/* Couleurs de statut absentes de la famille des cellules de tableau : Bulma
   couvre is-success, is-danger et is-link, le projet is-basket, pas celles-ci.
   Les valeurs sont celles des notifications correspondantes. */
.table td.is-to-delete,
.table th.is-to-delete {
    background-color: #f1f1f1;
    border-color: transparent;
    color: rgb(183, 183, 183);
}

.table td.is-canceled,
.table th.is-canceled {
    background-color: #f1f1f1;
    border-color: transparent;
    color: rgb(255, 0, 0);
}

.table td.is-orange,
.table th.is-orange {
    background-color: #f1592a;
    border-color: transparent;
    color: #fff;
}

/* Bouton d'action du volet : les trois libelles sont ecrits en dur dans le
   bouton, seul l'attribut data-mode designe celui qui s'affiche. */
.planning-create-submit .planning-create-lbl {
    display: none;
    align-items: center;
    gap: 0.4em;
}

.planning-create-submit[data-mode="next"] .is-lbl-next,
.planning-create-submit[data-mode="perso"] .is-lbl-perso,
.planning-create-submit[data-mode="edit"] .is-lbl-edit {
    display: inline-flex;
}

/* Texte descriptif : l'icone reste en marge, le texte ne repasse pas dessous. */
/* Le display:none en ligne des notes masquees l'emporte sur ce display:flex. */
.notification.booking-note {
    display: flex;
    align-items: flex-start;
    gap: 0.45rem;
    margin: 0 0 0.75rem 0;
}

.notification.booking-note .booking-note-icon {
    flex: 0 0 auto;
    margin-top: 0.1rem;
}

/* Les notes de mode sont dans le champ des onglets : Bulma ecarte alors les
   onglets de 1.5rem, ce qui les decollerait de leur note. */
#planning_create_slot_mode_field .tabs:not(:last-child) { margin-bottom: 0; }

/* Note du type, juste sous les onglets : meme largeur, pas d'angle en haut. */
/* .notification en tete : is-light de Bulma vaut 2 classes, il faut faire jeu egal. */
.notification.booking-type-note {
    margin: 0 0 0.75rem 0;
    border-radius: 0 0 6px 6px;
    background-color: #ffffff;
    color: #4a4a4a;
}

/* Mobile : le libelle court laisse la pastille respirer. */
@media screen and (max-width: 768px) {
    .tabs.is-boxed.booking-type-tabs li a { padding: 0.55em 0.25em; gap: 0.3em; }
}

/* Rechercher autour de moi : l'epingle est un vrai bouton sur toute la hauteur
   du champ ; sur ecran etroit, un bouton pleine largeur sous le formulaire. */
.control.has-icons-right .icon.neoloop-geoloc-icon {
	pointer-events: auto;
	top: 0;
	right: 0;
	height: 100%;
	width: 2.75em;
}
.neoloop-geoloc-btn {
	background: none;
	border: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: inherit;
	font-size: inherit;
}
.neoloop-geoloc-btn:disabled { cursor: progress; }
.neoloop-geoloc-mobile { margin-top: 0.5rem; }
.neoloop-geoloc-message { margin-top: 0.75rem; padding: .6rem 1rem; border-radius: 10px; text-align: center; font-size: .9rem; }

/* Epingle du guide utilisateur, dans l'en-tete du quickview d'aide. */
.neoloop-help-pin {
	background: none;
	border: 0;
	padding: 0.15rem 0.3rem;
	cursor: pointer;
	color: rgba(255, 255, 255, 0.6);
	font-size: 1rem;
	line-height: 1;
	transform: rotate(35deg);
	transition: color .15s ease, transform .15s ease;
}
.neoloop-help-pin:hover { color: #ffffff; }
.neoloop-help-pin.is-pinned { color: #ffdd57; transform: rotate(0deg); }

/* Ordre des lignes d'un tableau d'administration, par glisser-deposer. */
.neoloop-row-drag-handle {
	cursor: grab;
	color: #7a7a7a;
}
.neoloop-row-drag-handle:active { cursor: grabbing; }
tr.is-dragging {
	opacity: 0.55;
	background-color: #f5f5f5;
}

/* Ecran des pages du Manager : tetiere collante sous la barre de navigation fixe. */
.backoffice-pages-table thead {
	position: sticky;
	top: 66px;
	z-index: 5;
	background-color: #ffffff;
}
.backoffice-pages-table thead th {
	vertical-align: middle !important;
	text-align: center !important;
	background-color: #ffffff;
}
.backoffice-pages-table thead th .button { cursor: default; }
.backoffice-pages-table thead th button.button { cursor: pointer; }
.backoffice-pages-table tr.backoffice-pages-switches th {
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
	background-color: #f5f5f5;
}
.backoffice-pages-table .backoffice-pages-switch-col {
	width: 6.5rem;
	min-width: 6.5rem;
	text-align: center;
	vertical-align: middle;
}
.backoffice-pages-table .backoffice-pages-guide-col { width: 5rem; }
.backoffice-rights-table .backoffice-pages-switch-col {
	width: 7.8rem;
	min-width: 7.8rem;
}
.backoffice-pages-table td.backoffice-pages-name {
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
}
.backoffice-pages-table td.backoffice-pages-name .icon {
	width: 1.5rem;
	margin-right: 0.35rem;
	vertical-align: middle;
}
.backoffice-pages-table td.backoffice-pages-name.is-child { padding-left: 1.75rem; }
.backoffice-pages-table td.backoffice-pages-name.is-child .backoffice-pages-child-mark {
	width: 1rem;
	margin-right: 0.25rem;
	color: #b5b5b5;
	font-size: 0.7rem;
}

/* Champ « Quoi » des portails : liste de suggestions et puces de metiers */
.neoloop-search-what { position: relative; }
.neoloop-search-what-results { position: absolute; top: 100%; left: 0; right: 0; z-index: 998; display: none; background: #fff; border: 1px solid #dbdbdb; border-top: 0; border-radius: 0 0 12px 12px; box-shadow: 0 10px 25px rgba(0,0,0,.12); text-align: left; max-height: 60vh; overflow-y: auto; }
.neoloop-search-what-results.is-active { display: block; }
.neoloop-search-what-group { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: #1dbadf; font-weight: 600; padding: .5rem .9rem .2rem; }
.neoloop-search-what-item { padding: .4rem .9rem; font-size: .9rem; color: #363636; display: flex; align-items: center; gap: .6rem; cursor: pointer; }
.neoloop-search-what-item small { color: #7a7a7a; margin-left: auto; font-size: .75rem; white-space: nowrap; }
.neoloop-search-what-item:hover, .neoloop-search-what-item.is-focus { background: #eaf8fc; }
.neoloop-search-chips { justify-content: center; margin-top: .75rem; }
.neoloop-search-chips .neoloop-search-chip { background: #fff; border: 1px solid #dbdbdb; color: #4a4a4a; font-weight: 500; cursor: pointer; text-decoration: none; }
.neoloop-search-chips .neoloop-search-chip.is-selected { background: #314675; color: #fff; border-color: #314675; }
/* Metiers proposes sur la commune, page sans resultat */
.neoloop-noresult-jobs-title { margin: 1rem 0 .5rem !important; }
.neoloop-noresult-jobs { justify-content: center; }
.neoloop-noresult-jobs .tag { background: #fff; border: 1px solid #dbdbdb; color: #4a4a4a; font-weight: 500; text-decoration: none; }
.neoloop-noresult-jobs .tag:hover { border-color: #314675; color: #314675; }
@media screen and (max-width: 768px) {
    .neoloop-search-chips { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; padding-bottom: .3rem; }
    .neoloop-search-chips .neoloop-search-chip { flex: 0 0 auto; }
}

/* Initiales du compte client dans la barre des portails (mobile) */
.navbar-brand .neoloop-account-initials { margin-left: auto; padding-left: .25rem; padding-right: .25rem; }
.navbar-brand .neoloop-account-initials + .navbar-burger { margin-left: 0; }
.neoloop-account-initials .neoloop-account-badge { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--account-accent, #f2a33a); color: #111827; font-size: .75rem; font-weight: 700; }

/* Description de la prestation choisie, fiche expert des portails */
.neoloop-service-description { max-width: 760px; margin: -.5rem auto 1rem; padding: .7rem 1rem; background: #fff; border-radius: 10px; color: #374151; font-size: .9rem; text-align: left; line-height: 1.5; }

/* CRM des experts : liste des clients et fiche client en panneau. Le panneau reprend les classes de la fiche client ;
   seules restent ici la largeur, l'alignement herite et les lignes cliquables. */
tr.crm-client-row { cursor: pointer; }
tr.crm-booking-row { cursor: pointer; }
.crm-panel-pane.is-hidden { display: none; }
.quickview.crm-panel, .quickview.crm-panel .quickview-body, .quickview.crm-panel .crm-panel-content { text-align: left; }
.quickview.crm-panel .button.is-rounded, .quickview.crm-panel .buttons .button.is-rounded, .crm-search-page .buttons .button.is-rounded { border-radius: 9999px; }
.crm-panel-content .tabs .tag { height: 1.4em; padding: 0 0.5em; font-size: 0.65rem; }
/* Les onglets partent du meme bord que le nom du client et le contenu des onglets */
.quickview.crm-panel .crm-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 0.75rem; }
.quickview.crm-panel .crm-panel-head-title { flex: 1 1 auto; min-width: 0; }
.quickview.crm-panel .crm-panel-head-actions { flex: 0 0 auto; }
.quickview.crm-panel .crm-panel-content .tabs ul { padding-left: 0; padding-right: 0; }
.crm-panel-content .crm-upload-button input { display: none; }
.quickview.crm-panel .quickview-footer.is-hidden { display: none; }
.crm-panel-content .crm-subpane.is-hidden, .crm-panel-content .crm-followup-form.is-hidden { display: none; }
.crm-panel-content .crm-followup-form { margin-bottom: 0.75rem; }
.crm-panel-content .crm-task-done { text-decoration: line-through; color: #7a7a7a; }
.crm-panel-content .crm-note-text { white-space: pre-wrap; }
.crm-panel-content .crm-expert-avatar { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; vertical-align: middle; margin-right: 0.35rem; border: 1px solid #e8ecf1; }
.crm-panel-content tr.crm-row-highlight td { background-color: #D4EFFF !important; transition: background-color 1s ease; }
/* Emails envoyes, par fil : un bloc par message, extrait sur fond bleu tres clair, pieces jointes en etiquettes */
.crm-panel-content .crm-mail-item { border-left: 3px solid #D4EFFF; padding: 0.35rem 0.75rem 0.5rem 0.75rem; margin: 0.4rem 0 0.75rem 0; }
.crm-panel-content .crm-mail-head { display: flex; align-items: center; gap: 0.4rem; }
.crm-panel-content .crm-mail-meta { display: block; margin: 0.1rem 0 0.4rem 0; }
.crm-panel-content .crm-mail-excerpt { background: #f0f7fc; border-radius: 8px; padding: 0.5rem 0.75rem; }
.crm-panel-content .crm-mail-files { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.4rem; }
.crm-panel-content .crm-mail-files .tag .icon { margin-right: 0.25rem; }
/* Fenetre de redaction d'un email (CRM), au-dessus du panneau client */
.crm-email-modal { width: 60%; max-width: 900px; min-width: 320px; left: 50%; transform: translate(-50%, 0); z-index: 30600; }
.crm-email-modal .crm-email-modal-body { text-align: left; }
.crm-email-compose .crm-email-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.5rem; }
.crm-email-compose .crm-email-row > label:first-child { flex: 0 0 3.5rem; color: #7a7a7a; }
.crm-email-compose .crm-email-row > .input { flex: 1 1 auto; }
.crm-email-compose .crm-email-editor { margin-top: 0.5rem; background: #fff; }
.crm-email-compose .crm-email-files { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; margin: 0.75rem 0; }
.crm-email-compose .crm-email-attachments { display: inline-flex; flex-wrap: wrap; gap: 0.4rem; }
.crm-email-compose .crm-email-attachment { gap: 0.3rem; }
.crm-email-compose .crm-email-signature { border-left: 3px solid #D4EFFF; padding-left: 0.75rem; margin: 0.75rem 0 0.5rem 0; color: #7a7a7a; }
.crm-email-compose .crm-upload-button input { display: none; }
/* Liste des villes proposees sous le champ Ville, comme #city_name_results du formulaire client */
.quickview.crm-panel .crm-city-results { position: absolute; left: 0; top: 100%; display: none; min-width: 100%; border: 1px solid #AAA; border-top-width: 0; background-color: #FFF; z-index: 998; text-align: left; }
.quickview.crm-panel .crm-city-results div { padding: 2px 8px; border: 0; background-color: #FFF; cursor: pointer; font-size: 0.85rem; }
.quickview.crm-panel .crm-city-results div:hover, .quickview.crm-panel .crm-city-results div.result_focus { background-color: #DDD !important; }
.quickview.crm-panel .control.has-icons-left { position: relative; }
/* Sous-onglets de l'onglet CRM, en liseret leger */
.crm-panel-content .crm-subtabs { margin-bottom: 1rem; }
.crm-panel-content .crm-subtabs ul { border-bottom: 1px solid #e8ecf1; }
.crm-panel-content .crm-subtabs a { color: #7a7a7a; border-bottom: 2px solid transparent; margin-bottom: -1px; padding: 0.5rem 0.75rem 0.6rem 0.75rem; }
.crm-panel-content .crm-subtabs a:hover { color: #296fa8; border-bottom-color: #e8ecf1; background: transparent; }
.crm-panel-content .crm-subtabs li.is-active a { color: #296fa8; border-bottom-color: #9cc9ea; font-weight: 600; }
.crm-panel-content .crm-subtabs .tag.is-light { background: #f0f3f7; color: #7a7a7a; }
.crm-panel-content .crm-subtabs li.is-active .tag.is-light { background: #D4EFFF; color: #296fa8; }
/* Filtres du journal en pastilles, alignes sous le premier sous-onglet */
.crm-panel-content .crm-activity-filters { margin: 0.25rem 0 1rem 0; }
.crm-panel-content .crm-segment { cursor: pointer; font-family: inherit; }
/* Ligne de temps du journal */
.crm-panel-content .crm-timeline { position: relative; margin-left: 0.25rem; padding-left: 2rem; }
.crm-panel-content .crm-timeline::before { content: ""; position: absolute; left: 0.8rem; top: 0.6rem; bottom: 0.6rem; width: 2px; background: #dbe9f5; }
.crm-panel-content .crm-tl-item { position: relative; padding-bottom: 1.1rem; }
.crm-panel-content .crm-tl-item.is-hidden { display: none; }
.crm-panel-content .crm-tl-dot { position: absolute; left: -2rem; top: 0; width: 1.65rem; height: 1.65rem; border-radius: 50%; background: #fff; border: 2px solid #9cc9ea; color: #296fa8; display: inline-flex; align-items: center; justify-content: center; font-size: 0.7rem; }
.crm-panel-content .crm-tl-title { display: block; color: #363636; }
.crm-panel-content .crm-tl-body { background: #f0f7fc; border-radius: 10px; padding: 0.6rem 0.85rem; margin: 0.35rem 0; }
.crm-panel-content .crm-tl-meta { display: block; margin-top: 0.15rem; }
@media screen and (min-width: 1472px) {
	/* Fiche client et moteur de recherche : 5 points de plus que les 35 % du composant */
	.quickview.crm-panel { width: 40%; }
	.quickview.quickview-search { width: 40%; right: -40%; }
	.quickview.quickview-search.is-active { right: 0; }
}
/* Titres des blocs du panneau de reservation : icone centree sur le libelle */
.booking-qv-block-title { display: inline-flex; align-items: center; gap: 0.4rem; }

/* Bandeau des quickviews : l'icone qui ouvre le titre est centree sur le texte */
.quickview-header .title:has(> .icon:first-child) { display: inline-flex; align-items: center; gap: 0.4rem; }

/* Panneau de creation d'un rendez-vous : ville figee sur celle du client quand on part de sa fiche */
.select.is-locked select { pointer-events: none; background-color: #f5f5f5; }

/* Poste : la fiche client sort du bord droit du menu vertical et glisse vers la droite, comme le panneau
   de reservation (meme variable --booking-qv-left mesuree par crm-clients.js, meme glissade, meme voile
   qui s'arrete au bord du menu, menu remonte au-dessus du panneau le temps de l'ouverture). */
@media screen and (min-width: 769px) {
	.quickview.crm-panel, .quickview.crm-panel.is-active { left: var(--booking-qv-left, 220px); right: auto; transition: transform 0.3s ease; }
	.quickview.crm-panel { transform: translate3d(calc(-100% - 220px), 0, 0); }
	.quickview.crm-panel.is-active { transform: translate3d(0, 0, 0); box-shadow: 5px 0 13px 3px rgba(0, 0, 0, 0.1); }
	.fullmodal.crm-panel-veil { left: var(--booking-qv-left, 220px); width: auto; right: 0; }
	body.neoloop-crm-panel-open #expert_menu_column { z-index: 9100 !important; }
	/* Plein ecran : du bord droit du menu vertical au bord de l'ecran, sous la barre de navigation */
	.quickview.crm-panel.is-fullscreen.is-active { right: 0; width: auto; max-width: none; }
}

/* Portails : arrivee sur la boite de l'expert apres validation de la ville et de la prestation. La marge compense la barre
   de navigation fixe (65 px) et la barre ville/prestation collante, avec un peu d'air au-dessus. */
#prise-de-rendez-vous { scroll-margin-top: 9.5rem; }

/* Panneau client : meme taille de texte que le panneau de reservation (le texte courant de Bulma, pas is-small) */
.quickview.crm-panel .crm-panel-content .content.is-small { font-size: 1rem; }
.quickview.crm-panel .crm-panel-content .table td, .quickview.crm-panel .crm-panel-content .table th { font-size: 1rem; }
/* Tableaux libelle / valeur du panneau client (Infos, bloc CRM) : meme respiration et meme colonne de gauche que le panneau de reservation */
.quickview.crm-panel .crm-panel-content .crm-info-table td { padding: 0.6em 0.75em; }
.quickview.crm-panel .crm-panel-content .crm-info-table td:first-child:not(.crm-info-block) { width: 35%; white-space: nowrap; }
.quickview.crm-panel .crm-panel-content .crm-info-table td.crm-info-block label.crm-note-text, .quickview.crm-panel .crm-panel-content .crm-info-table td.crm-info-block textarea { font-style: normal; color: #363636 !important; }
.quickview.crm-panel .crm-panel-content .crm-info-table td:first-child label, .quickview.crm-panel .crm-panel-content .crm-info-table td:first-child .icon { font-style: italic; color: #6b6b6b !important; }
.quickview.crm-panel .crm-panel-content .crm-info-table .content { margin-bottom: 0; }

/* Cartes du panneau client (Reservations, Avis) : bloc de date a gauche, corps a droite */
.crm-panel-content .crm-card { display: flex; gap: 0.9rem; border: 1px solid #e8ecf1; border-radius: 10px; padding: 0.6rem 0.8rem; margin: 0 0 0.6rem 0; background: #fff; text-align: left; }
.crm-panel-content .crm-card.is-clickable { cursor: pointer; }
.crm-panel-content .crm-card.is-clickable:hover { border-color: #9cc9ea; background: #f7fbfe; }
.crm-panel-content .crm-card.is-muted { opacity: 0.7; }
.crm-panel-content .crm-card.is-hidden { display: none; }
.crm-panel-content .crm-card-date { flex: 0 0 4.8rem; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #f0f7fc; border-radius: 8px; padding: 0.4rem 0.2rem; color: #164579; line-height: 1.15; }
.crm-panel-content .crm-card-date .d { font-size: 1.45rem; font-weight: 700; }
.crm-panel-content .crm-card-date .m { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.04em; }
.crm-panel-content .crm-card-date .y { font-size: 0.75rem; color: #7a7a7a; }
.crm-panel-content .crm-card-date .h { font-size: 0.85rem; font-weight: 600; margin-top: 0.25rem; }
.crm-panel-content .crm-card-body { flex: 1 1 auto; min-width: 0; }
.crm-panel-content .crm-card-head { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; flex-wrap: wrap; }
.crm-panel-content .crm-card-title { font-weight: 600; color: #363636; }
.crm-panel-content .crm-card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 0.3rem 0.9rem; color: #4a4a4a; margin-top: 0.35rem; }
.crm-panel-content .crm-card-meta .icon { color: #7a7a7a; }
.crm-panel-content .crm-card-meta .button .icon { color: inherit; }
.crm-panel-content .crm-card-actions { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.45rem; }
.crm-panel-content .crm-card-text { background: #f0f7fc; border-radius: 8px; padding: 0.5rem 0.75rem; margin-top: 0.4rem; white-space: pre-line; }
.crm-panel-content .crm-expert-chip { display: inline-flex; align-items: center; }
.crm-panel-content .crm-card-thumb { flex: 0 0 4.8rem; height: 4.8rem; display: flex; align-items: center; justify-content: center; background: #f0f7fc; border-radius: 8px; color: #666; font-size: 1.8rem; overflow: hidden; }
.crm-panel-content .crm-card-thumb img { width: 100%; height: 100%; object-fit: cover; }
.crm-panel-content .crm-card.crm-row-highlight { border-color: #9cc9ea; background-color: #D4EFFF; transition: background-color 1s ease; }
/* Ecran d'un fichier : apercu dans un cadre a bords arrondis, image ou document */
/* Comme l'ancienne fiche : le document dans un encart gris clair, en plus petit */
.crm-panel-content .crm-file-preview { background: #f5f5f5; border-radius: 6px; padding: 0.75rem; display: flex; align-items: center; justify-content: center; }
.crm-panel-content .crm-file-card .crm-card-meta { margin-top: 0.6rem; }
.crm-panel-content .crm-file-preview img { max-width: 100%; max-height: 200px; object-fit: contain; display: block; }
.crm-panel-content .crm-file-preview iframe { display: block; width: 100%; height: 200px; border: 0; background: #fff; }
/* Envoi par email d'un fichier : le bouton vers le client puis le champ d'une autre adresse, l'un sous l'autre, a gauche,
   a leur largeur naturelle ; dans le groupe accole, l'input et le bouton partagent la meme hauteur et les arrondis exterieurs */
.crm-panel-content .crm-file-send { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; margin-top: 0.75rem; }
.crm-panel-content .crm-file-send .crm-file-send-client, .crm-panel-content .crm-file-send .field.has-addons { width: 22rem; max-width: 100%; }
.crm-panel-content .crm-file-send .crm-file-send-client { justify-content: center; }
.crm-panel-content .crm-file-send .field.has-addons .control:first-child { flex: 1 1 auto; }
.crm-panel-content .crm-file-send .field.has-addons .input, .crm-panel-content .crm-file-send .field.has-addons .button { height: 2.25em; font-size: 0.75rem; line-height: 1.5; }
.crm-panel-content .crm-file-send .field.has-addons .control:first-child .input { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.crm-panel-content .crm-file-send .field.has-addons .control:last-child .button { border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -1px; }
.crm-panel-content .crm-card-switch { display: inline-flex; align-items: center; gap: 0.6rem; }
.crm-panel-content .crm-card-switch .switch[type="checkbox"] + label { font-size: 0.85rem; padding-top: 0.1rem; }

/* Onglet grise du panneau client (Avis sans avis) : visible, sans action */
.crm-panel-content .tabs li.is-disabled a { color: #b5b5b5; cursor: default; }
.crm-panel-content .tabs li.is-disabled a:hover { border-bottom-color: transparent; background: transparent; }

/* Statut CRM du client : le menu deroulant de l'en-tete du panneau prend la couleur de la pastille du statut (teintes claires Bulma) */
.crm-status-select select { border-color: transparent; font-weight: 600; }
.crm-status-select.is-light select { background-color: #f5f5f5; color: #363636; }
.crm-status-select.is-warning.is-light select { background-color: #fffaeb; color: #946c00; }
.crm-status-select.is-info.is-light select { background-color: #eff5fb; color: #296fa8; }
.crm-status-select.is-success.is-light select { background-color: #effaf5; color: #257953; }
.crm-status-select.is-danger.is-light select { background-color: #feecf0; color: #cc0f35; }
.crm-status-select.is-dark.is-light select { background-color: #fafafa; color: #363636; }
.crm-status-select.is-dark:not(.is-light) select { background-color: #363636; color: #fff; }
.crm-status-select.is-dark:not(.is-light)::after { border-color: #fff; }
.crm-status-control .icon.is-left { color: inherit; }
.crm-status-control:has(.crm-status-select.is-warning) .icon.is-left { color: #946c00; }
.crm-status-control:has(.crm-status-select.is-info) .icon.is-left { color: #296fa8; }
.crm-status-control:has(.crm-status-select.is-success) .icon.is-left { color: #257953; }
.crm-status-control:has(.crm-status-select.is-danger) .icon.is-left { color: #cc0f35; }
.crm-status-control:has(.crm-status-select.is-dark:not(.is-light)) .icon.is-left { color: #fff; }

/* CRM des experts : onglets de la rubrique Clients et recherche avancee */
.crm-tabs a { color: #164579; }
.crm-tab-new { font-size: 0.6rem !important; margin-left: 0.4rem; }
.crm-search-page .crm-block { border: 1px solid #e8ecf1; border-radius: 10px; padding: 0.9rem 1rem; margin-bottom: 1rem; background: #fff; }
.crm-block-title { color: #164579; font-weight: 600; font-size: 0.92rem; margin-bottom: 0.7rem; display: flex; align-items: center; gap: 0.5rem; }
.crm-block-title .crm-num { width: 1.5rem; height: 1.5rem; border-radius: 50%; background: #D4EFFF; color: #164579; display: inline-flex; align-items: center; justify-content: center; font-size: 0.75rem; }
.crm-search-page .label.is-small { font-size: 0.74rem; font-weight: 600; color: #4a5568; margin-bottom: 0.2rem; }
.crm-search-page .field { margin-bottom: 0.65rem; }
.crm-segments { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.crm-segment { border: 1px solid #dbe1e8; background: #fff; border-radius: 999px; padding: 0.3rem 0.8rem; font-size: 0.78rem; color: #164579; display: inline-flex; gap: 0.4rem; align-items: center; }
.crm-segment:hover { border-color: #9cc9ea; color: #164579; }
.crm-segment b { color: #2f6fd6; }
.crm-segment.is-on { background: #D4EFFF; border-color: #9cc9ea; }
.crm-segment.is-saved a { color: #164579; }
.crm-segment.is-saved .delete { margin-left: 0.2rem; }
.crm-result-bar { display: flex; align-items: center; gap: 0.45rem; flex-wrap: wrap; font-size: 0.85rem; }
.crm-result-count { font-size: 1.35rem; font-weight: 700; color: #164579; }
.crm-result-actions { margin-left: auto; }
.crm-range.is-hidden { display: none; }
@media screen and (max-width: 768px) {
	.crm-result-actions { margin-left: 0; }
}

/*============================================================================
  Liste des annonces de l'expert (expert/support/announcement/list.php) :
  tuiles sur le modele du widget carte des Solutions partenaires (en-tete is-header is-light, pied is-widget-footer)
============================================================================*/
.ann-filters { display: flex; gap: .35rem; flex-wrap: wrap; margin: 1rem 0 .9rem; }
.ann-filter { display: inline-flex; align-items: center; gap: .3rem; border: 1px solid #e6eaf0; background: #fff; color: #374151; border-radius: 999px; padding: .2rem .75rem; font-size: .8rem; }
.ann-filter:hover { border-color: #0f3a64; color: #0f3a64; }
.ann-filter.is-on { border-color: #0f3a64; background: #e8f1fb; color: #0f3a64; font-weight: 500; }
.ann-filter.is-disabled { opacity: .45; cursor: not-allowed; }
.ann-filter.is-disabled:hover { border-color: #e6eaf0; color: #374151; }
.ann-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.4rem 1.1rem; padding-top: .5rem; margin-bottom: 1rem; }
.ann-tile.is-widget-card { height: auto; margin-bottom: 0; overflow: visible; }
.ann-tile-body .ann-date { display: flex; align-items: center; justify-content: center; gap: .3rem; width: 100%; margin-top: -.4rem; font-size: .75rem; font-weight: 400; color: #9ca3af; }
.ann-tile-body.is-widget-body { display: flex; flex-direction: column; align-items: flex-start; text-align: left; gap: .5rem; padding-top: .9rem; height: auto; overflow: visible; }
.ann-tile-title { font-weight: 600; color: #0f3a64; font-size: 1.02rem; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ann-tile-title:hover { color: #296fa8; }
.ann-tile-text { color: #6b7280; font-size: .88rem; line-height: 1.45; margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ann-new.badge { left: 1.6rem; z-index: 31; height: auto; line-height: 1; padding: .2rem .45rem; font-size: .66rem; font-weight: 700; }

/* Page d'une annonce (expert/support/announcement/card.php) : navigation entre annonces, captures reduites agrandies dans un layer */
.ann-nav { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; margin: .5rem auto 1rem; }
.ann-nav .ann-nav-btn { max-width: 48%; }
.ann-nav .ann-nav-btn span:not(.icon) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ann-detail-code figure { max-width: 460px !important; }
.ann-detail-code figure img { cursor: zoom-in; transition: box-shadow .15s; }
.ann-detail-code figure img:hover { box-shadow: 0 6px 18px rgba(15,58,100,.18); }
.modal.ann-zoom { z-index: 40000; }
.ann-zoom .modal-background { background-color: rgba(10, 20, 35, .82); }
.ann-zoom .ann-zoom-frame { position: relative; max-width: 94vw; max-height: 92vh; padding: .75rem; background: #fff; border-radius: 14px; box-shadow: 0 0 0 1px rgba(255,255,255,.35), 0 20px 60px rgba(0,0,0,.55); }
.ann-zoom .ann-zoom-frame img { display: block; max-width: calc(94vw - 1.5rem); max-height: calc(92vh - 1.5rem); border: 1px solid #d6dde6; border-radius: 8px; }
.ann-zoom .ann-zoom-close { position: absolute; top: -1rem; right: -1rem; width: 2.5rem; height: 2.5rem; padding: 0; border: 2px solid #fff; box-shadow: 0 4px 12px rgba(0,0,0,.35); }

/* Bouton de reduction du menu du Manager (expert_detail_main_menu_desktop.php) : simple icone, sans effet au survol */
.menu-toggle, .menu-toggle:hover, .menu-toggle:focus, .menu-toggle:active { display: inline-flex; align-items: center; justify-content: center; height: 2.5em; padding: 0 .75em; color: #164579; background: none; border: 0; outline: 0; box-shadow: none; }
