.mjlp
{
	padding: 0;
	margin: 0;
	--hsnap-button-color: red;
}

.mjlp .hidden
{
	display: none !important;
}

.mjlp .section-wrapper .section
{
	margin-left: auto;
	margin-right: auto;
/*	overflow: hidden;*/
}

.mjlp .o-wrap table
{
	margin: auto;
}

.mjlp p,
.mjlp h1,
.mjlp h2,
.mjlp h3,
.mjlp h4,
.mjlp h5,
.mjlp h6
{
	margin: 0;
	padding: 0;
}

.mjlp .element
{
	flex-basis: 100%;
}

.mjlp .element.type-image
{
	overflow: hidden;
}
.mjlp .element.type-text p
{
	margin: 0;
	padding: 0;
}
.mjlp .element.type-component
{
	height: auto !important;
	min-height: none !important;
}

.template-editor .mjlp .element.type-component
{
	min-height: 50px !important;
}

.mjlp .multiselect-dropdown,
.mjlp input,
.mjlp select,
.mjlp textarea
{
	border-color: rgb(180,180,180);
	border-style: solid;
  border-width: 1px;
  border-radius: 4px;
}

.mjlp .multiselect-dropdown
{
	width: 100%;
	box-sizing: border-box;
}

.mjlp button
{
	text-align: center;
	width: 100%;
}
.mjlp .button-link
{
	display: contents;
}
.mjlp button,
.mjlp input[type="submit"]
{
	border: none;
	outline: none;
	cursor: pointer;
}

.mjlp .section:not(td):not(table):not(tr)
{
	white-space: nowrap;
	display: flex;
	flex-wrap: wrap;
  align-items: stretch;
}

.mjlp .section-wrapper .section-column:not(td):not(table):not(tr)
{
	box-sizing: border-box;
	vertical-align: top;
	white-space: normal;
	position: relative;
	min-height: 50px;
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	flex: 1 1 0;
	min-width: 100px;
}

.lplive .paging-view
{
  overflow-y: scroll !important;
  scroll-snap-type: y mandatory !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
  height: 100%;
  width: 100%;
}

.lplive .paging-view::-webkit-scrollbar 
{
  display: none;
}

.lplive .horizontal-scroller
{
	position: relative;
	overflow: hidden;
	width: 100%;

}

.horizontal-scroller > .section
{
  overflow-y: scroll !important;
  scroll-snap-type: y mandatory !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
  display: block !important;
  max-width: 100%;
  overflow: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
}

.section-column.sticky-column
{
	top: 0 !important;
	align-self: flex-start;
	height: auto !important;
	position: sticky !important;
}

.lplive .horizontal-scroller > .section::-webkit-scrollbar 
{
  display: none;
}

.mjlp .section-wrapper.horizontal-scroller .section
{
	max-width: 100% !important;
}

.mjlp .section-wrapper.horizontal-scroller .section .section-column
{
	display: inline-block;
	width: 100% !important;
	height: 100%;
	scroll-snap-align: start;
	overflow: auto;
}


.hsnap-dots {
  position: absolute;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 10;
  pointer-events: auto;
}
.hsnap-dots button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 0;
  background: var(--hsnap-button-color);
  opacity: .5;
  cursor: pointer;
  padding: 0;
}
.hsnap-dots button[aria-current="true"] {
  opacity: 1;
  transform: scale(1.1);
}
.hsnap-dots button:focus-visible {
  outline: 2px solid #000;
  outline-offset: 3px;
}
/* Optional: verhindert, dass Inhalte die Dots verdecken */
.horizontal-scroller { padding-bottom: 40px; }

/* Drag-Styles */
.hsnap-draggable { cursor: grab; }
.hsnap-dragging  { cursor: grabbing; user-select: none; }

/* Bild-Drag in Sections unterbinden */
.horizontal-scroller .section img {
  -webkit-user-drag: none;
  user-drag: none;
}

.lplive .paging-view > .section-wrapper,
.lplive .paging-view > .section-wrapper:not(.horizontal-scroller) > .section > .section-column
{
  display: block !important;
}

.section-column.valign-center,
.section-column.valign-bottom
{
	position: relative;
}

.section-column.valign-center
{
	align-items: center;
}

.section-column.valign-bottom
{
	align-items: flex-end;
}

.paging-view .section-column.valign-center > .column-content
{
	position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.paging-view .section-column.valign-bottom > .column-content
{
	position: absolute;
	bottom: 0;
}

.lplive .paging-view > .section-wrapper:not(.page-overlay)
{
  min-height: 100% !important;
  width: 100% !important;
  scroll-snap-align: start !important;
}

.lplive .paging-view > .section-wrapper.page-overlay
{
	position: fixed;
	left: 0;
	top: 0;
	z-index: 99;
}

.lplive .paging-view .intro-section
{
	display: none !important;
}

.mjlp-nav-dots {
  position: fixed;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 10;
  width: 14px;
}
.mjlp-nav-dots button {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 0;
  background: #ba0aff;
  opacity: 0.5;
  cursor: pointer;
  padding: 0;
}
.mjlp-nav-dots button[aria-current="true"] {
  opacity: 1;
  transform: scale(1.1);
}
.mjlp-nav-dots button:focus-visible {
  outline: 2px solid #000;
  outline-offset: 3px;
}

.column-content
{
	width: 100%;
}

.column-content.flex-column
{
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
}

.lp-element-mailtext
{
	text-align: left;
}

.mjlp .lp-nps-rating
{
	width: 30px;
	height: 30px;
	font-size: 16px;
	line-height: 30px;
	text-align: center;
	border-radius: 50%;
	color: white;
	display: inline-block;
	margin: 3px;
	cursor: pointer;
	text-decoration: none;
}

.mjlp .lp-nps-rating.score-0
{
	background-color: #e43e3d;
}

.mjlp .lp-nps-rating.score-1
{
	background-color: #ea484d;
}

.mjlp .lp-nps-rating.score-2
{
	background-color: #ec664e;
}

.mjlp .lp-nps-rating.score-3
{
	background-color: #ef884c;
}

.mjlp .lp-nps-rating.score-4
{
	background-color: #f3a74c;
}

.mjlp .lp-nps-rating.score-5
{
	background-color: #f8c43d;
}

.mjlp .lp-nps-rating.score-6
{
	background-color: #e1c63a;
}

.mjlp .lp-nps-rating.score-7
{
	background-color: #c0cb36;
}

.mjlp .lp-nps-rating.score-8
{
	background-color: #9fcd34;
}

.mjlp .lp-nps-rating.score-9
{
	background-color: #80cc30;
}

.mjlp .lp-nps-rating.score-10
{
	background-color: #5baf2a;
}

.mjlp .section-wrapper
{
	position: relative;
	text-align: center;
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.mjlp button.extra-small
{
	padding: 3px 6px;
}

.mjlp button.small
{
	padding: 5px 10px;
}

.mjlp button.medium,
.mjlp input[type="submit"]
{
	padding: 10px 15px;
}

.mjlp button.tall
{
	padding: 12px 20px;
}

.mjlp button.extra-tall
{
	padding: 15px 30px;
}

.mjlp button.extra-small.style-oval
{
	border-radius: 25px;
}

.mjlp button.small.style-oval
{
	border-radius: 29px;
}

.mjlp button.medium.style-oval,
.mjlp input[type="submit"]
{
	border-radius: 35px;
}

.mjlp button.tall.style-oval
{
	border-radius: 40px;
}

.mjlp button.extra-tall.style-oval
{
	border-radius: 50px;
}

.mjlp button.style-rounded
{
	border-radius: 5px;
}

.mjlp .element.type-link
{
	display: block;
}
.mjlp .element.type-divider
{
	margin-left: auto;
	margin-right: auto;
	box-sizing: content-box;
}

.mjlp .social-icon
{
	display: inline-block;
	margin: 5px;
}

.mjlp .social-icon img
{
	width: 40px;
	height: 40px;
}

.mjlp .form-field .form-caption
{
	width: 100%;
	text-align: left;
}

.mjlp .form-field .form-value
{
	width: 100%;
}

.mjlp .form-field.mandatory .form-caption:after
{
	content: '*';
	color: red;
}

.mjlp .form-field
{
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
	padding: 5px;
}
.mjlp .form-field .form-value > .iti
{
	width: 100%;
}
.mjlp .form-field .form-value > input:not([type="checkbox"]),
.mjlp .form-field .form-value > select,
.mjlp .form-field .form-value > textarea,
.mjlp .form-field .form-value > .iti input
{
	padding: 4px 10px;
	width: 100%;
	box-sizing: border-box;
	height: 30px;
	line-height: 25px;
}
.mjlp .form-field .form-value > textarea
{
	height: 120px;
	resize: none;
}


@media (max-width: 600px) 
{
	.mjlp .section-wrapper.no-mobile-padding
	{
		padding: 0 !important;
	}
	.mjlp .section-wrapper.no-mobile-radius > .section
	{
		border-radius: 0 !important;
	}
}