/*
// CMSFlex
// -------------------------------------------------- */
.c20l,.c25l,.c33l,.c40l,.c38l,.c50l,.c60l,.c62l,.c66l,.c75l,.c80l {
  float: left;
}
.c20r,.c25r,.c33r,.c40r,.c38r,.c50r,.c60r,.c66r,.c62r,.c75r,.c80r {
  float: right;
}
.c20l,.c20r {
  width: 20%;
}
.c40l,.c40r {
  width: 40%;
}
.c60l,.c60r {
  width: 60%;
}
.c80l,.c80r {
  width: 80%;
}
.c25l,.c25r {
  width: 25%;
}
.c33l,.c33r {
  width: 33.333%;
}
.c50l,.c50r {
  width: 50%;
}
.c66l,.c66r {
  width: 66.666%;
}
.c75l,.c75r {
  width: 75%;
}
.c38l,.c38r {
  width: 38.2%;
}
.c62l,.c62r {
  width: 61.8%;
}
.subc {
  padding: 0 0.5em;
}
.subcl {
  padding: 0 1em 0 0;
}
.subcr {
  padding: 0 0 0 1em;
}
.cmsColLeft .cmsCol {
  padding: 0 10px 0 0;
}
.cmsColMiddle .cmsCol {
  padding: 0 10px;
}
.cmsColRight .cmsCol {
  padding: 0 0 0 10px;
}
img {
  vertical-align: text-bottom;
  max-width: 100%;
  height: auto;
}
.subcolumns ~ * {
  clear: both;
}
.cmsColumns ~ * {
  clear: both;
}
.cmsColumns.cmsFlex {
  display: flex;
}
.cmsColumns.cmsFlex > div {
  display: flex;
}
.cmsColumns.cmsFlex .cmsCol, .cmsCol.cmsFlex, .cmsCol.cmsFlex .cmsCol, .cmsFlex{
  display: flex;
  flex-direction: column;
}
.cmsColumns.cmsInlineFlex {
  display: flex;
}
.cmsColumns.cmsInlineFlex > div {
  display: flex;
}
.cmsColumns.cmsInlineFlex .cmsCol, .cmsCol.cmsInlineFlex {
  display: inline-flex;
  flex-direction: column;
}
.cmsColumns.cmsInline .cmsCol, .cmsCol.cmsInline {
  display: inline;
}
.cmsColumns.cmsInlineBlock .cmsCol, .cmsCol.cmsInlineBlock {
  display: inline-block;
}
.cmsColumns.cmsInlineTable .cmsCol, .cmsCol.cmsInlineTable {
  display: inline-table;
}
.cmsColumns.cmsBlock .cmsCol, .cmsCol.cmsBlock {
  display: block;
}
.cmsColumns.cmsTable .cmsCol, .cmsCol.cmsTable {
  display: table;
}
.cmsColumns.cmsColWidth100 .cmsCol, .cmsCol.cmsColWidth100 {
  width: 100%;
}
.cmsColumns.cmsColWidthAuto .cmsCol, .cmsCol.cmsColWidthAuto {
  width: auto;
}
.cmsColumns.cmsColNoPadding .cmsCol, .cmsCol.cmsColNoPadding {
  padding-left: 0;
  padding-right: 0;
}
.cmsColumns.cmsColAlignLeft .cmsCol, .cmsCol.cmsColAlignLeft {
  text-align: left;
  align-items: flex-start;
}
.cmsColumns.cmsColAlignLeft .cmsCol > *, .cmsCol.cmsColAlignLeft  > *{
  display: inline-block;
}
.cmsColumns.cmsColAlignCenter .cmsCol, .cmsCol.cmsColAlignCenter {
  text-align: center;
  align-items: center;
}
.cmsColumns.cmsColAlignCenter .cmsCol > *, .cmsCol.cmsColAlignCenter  > *{
  display: inline-block;
}
.cmsColumns.cmsColAlignRight .cmsCol, .cmsCol.cmsColAlignRight {
  text-align: right;
  align-items: flex-end;
}
.cmsColumns.cmsColAlignRight .cmsCol > *, .cmsCol.cmsColAlignRight  > *{
  display: inline-block;
}
.cmsColumns.cmsColVAlignTop .cmsCol, .cmsCol.cmsColVAlignTop {
  justify-content: flex-start;
}
.cmsColumns.cmsColVAlignMiddle .cmsCol, .cmsCol.cmsColVAlignMiddle {
  justify-content: center;
}
.cmsColumns.cmsColVAlignBottom .cmsCol, .cmsCol.cmsColVAlignBottom {
  justify-content: flex-end;
}
.cmsColumns .cmsCol.cmsFlex, .cmsCol .cmsFlex{
  display: flex;
  flex-direction: column;
}
.cmsColumns .cmsCol.cmsInlineFlex, .cmsCol .cmsInlineFlex{
  display: inline-flex;
  flex-direction: column;
}
.cmsColumns .cmsCol.cmsInline, .cmsCol .cmsInline{
  display: inline;
}
.cmsColumns .cmsCol.cmsInlineBlock, .cmsCol .cmsInlineBlock{
  display: inline-block;
}
.cmsColumns .cmsCol.cmsInlineTable, .cmsCol .cmsInlineTable{
  display: inline-table;
}
.cmsColumns .cmsCol.cmsBlock, .cmsCol .cmsBlock{
  display: block;
}
.cmsColumns .cmsCol.cmsTable, .cmsCol .cmsTable{
  display: table;
}
.cmsColumns .cmsCol.cmsColWidthAuto, .cmsCol .cmsColWidthAuto{
  width: auto;
}
.cmsColumns .cmsCol.cmsColWidth100, .cmsCol .cmsColWidth100{
  width: 100%;
}
.cmsColumns .cmsColNoPadding, .cmsCol NoPadding{
  padding-left: 0;
  padding-right: 0;
}
.cmsColumns .cmsCol.cmsColAlignLeft, .cmsCol .cmsColAlignLeft{
  text-align: left;
  align-items: flex-start;
}
.cmsColumns .cmsCol.cmsColAlignLeft > *, .cmsCol .cmsColAlignLeft > *{
  display: inline-block;
}
.cmsColumns .cmsCol.cmsColAlignCenter, .cmsCol .cmsColAlignCenter{
  text-align: center;
  align-items: center;
}
.cmsColumns .cmsCol.cmsColAlignCenter > *, .cmsCol .cmsColAlignCenter > *{
  display: inline-block;
}
.cmsColumns .cmsCol.cmsColAlignRight, .cmsCol .cmsColAlignRight{
  text-align: right;
  align-items: flex-end;
}
.cmsColumns .cmsCol.cmsColAlignRight > *, .cmsCol .cmsColAlignRight > *{
  display: inline-block;
}
.cmsColumns .cmsCol.cmsColVAlignTop, .cmsCol .cmsColVAlignTop{
  justify-content: flex-start;
}
.cmsColumns .cmsCol.cmsColVAlignMiddle, .cmsCol .cmsColVAlignMiddle{
  justify-content: center;
}
.cmsColumns .cmsCol.cmsColVAlignBottom, .cmsCol .cmsColVAlignBottom{
  justify-content: flex-end;
}


@media screen and (max-width: 512px) {
	.cmsColumns.cmsFlex {
		--cms-flex-wrap: wrap;
		--cms-flex-basis: 100%;
	}

	.cmsColumns > * {
		width: 100%;
		float: none;		
	}

	.cmsColumns > * > .cmsCol {
		padding: 0;
	}
}

@media screen and (max-width: 800px) {
	.cmsColumns.cmsFlex {
		--cms-flex-wrap: wrap;
		--cms-flex-basis: 49%;
		--cms-flex-grow: 1;
	}
}

.cmsText {
	font-style: var(--cms-font-style, normal);
}
.cmsTextBold {
	font-weight: bold;
}
.cmsTextAlign {
	text-align: var(--cms-text-align, inherit);
}
.cmsTextProps {
	font-style: var(--cms-font-style, inherit);
	font-size: var(--cms-font-size, inherit);
	font-family: var(--cms-font-family, inherit);
	font-weight: var(--cms-font-weight, inherit);
	text-align: var(--cms-text-align, inherit);
	text-decoration: var(--cms-text-decoration, inherit);
	text-transform: var(--cms-text-transform, inherit);
	text-orientation: var(--cms-text-orientation, inherit);
	text-overflow: var(--cms-text-overflow, inherit);
	white-space: var(--cms-white-space, inherit);
	overflow: var(--cms-overflow, inherit);
	overflow-wrap: var(--cms-overflow-wrap, inherit);
	writing-mode: var(--cms-writing-mode);
	text-shadow: var(--cms-text-shadow, inherit);
	line-height: var(--cms-line-height, inherit);
	color: var(--cms-color, inherit);
}
.cmsIndent {
  display: block;
  float: none;
  width: auto;
  padding-left: 30px;
  padding-right: 10px;
}
.cmsAlignRight {
  display: block;
  float: none;
  width: auto;
  text-align: right;
  --cms-text-align: right;
}
.cmsAlignLeft {
  display: block;
  float: none;
  width: auto;
  text-align: left;
  --cms-text-align: left;
}
.cmsAlignCenter {
  display: block;
  float: none;
  width: auto;
  text-align: center;
  --cms-text-align: center;
}
/*.cmsAlignRight > *, .cmsAlignLeft > *, .cmsAlignCenter > * {display: inline-block}*/
.cmsHeadline {
  width: 100%;
  text-align: var(--cms-text-align, left);
}
.cmsBoxBack {
  background-color: #FC0;
  display: block;
  float: left;
  height: auto;
}
.cmsBoxBorder {
  border: 1px solid #C00;
  display: block;
  float: left;
  height: auto;
}
.cmsBoxInner {
  padding: 10px;
}
.cmsClear {
  clear: both;
}
.cmsHr {
  clear: both;
}
.cmsHorizontalDistance {
  height: 20px;
  width: auto;
  padding: 0;
  margin: 0;
  float: none;
  display: table;
}
.cmsHorizontalDistanceLarge {
  height: 40px;
  width: auto;
  padding: 0;
  margin: 0;
  float: none;
  display: table;
}
.cmsWidth100 {
  width: 100%;
}
.cmsList {
  list-style: inherit;
  padding-left: 20px;
  box-sizing: border-box;
}
.cmsList li {
  padding-left: 5px;
}
.cmsListNone {
  list-style-type: none;
}
.cmsListCircle {
  list-style-type: circle;
}
.cmsListDisc,
.cmsUnorderedList {
  list-style-type: disc;
}
.cmsListSquare {
  list-style-type: square;
}
.cmsListDecimal,
.cmsOrderedList {
  list-style-type: decimal;
}
.cmsListDecimalLeadingZero {
  list-style-type: decimal-leading-zero;
}
.cmsListLowerAlpha {
  list-style-type: lower-alpha;
}
.cmsListLowerGreek {
  list-style-type: lower-greek;
}
.cmsListLowerRoman {
  list-style-type: lower-roman;
}
.cmsListUpperAlpha {
  list-style-type: upper-alpha;
}
.cmsListUpperGreek {
  list-style-type: upper-greek;
}
.cmsListUpperRoman {
  list-style-type: upper-roman;
}
.cmsImageTable {
  margin: 0;
  padding: 0;
  display: inline-block;
}
.cmsImageTable .cmsTitle {
  font-size: 1em;
  font-style: italic;
}
.cmsImage {
  border: none;
  max-width: 100%;
  height: auto;
}
.cmsImageAlignRight {
  float: right;
}
.cmsImageAlignLeft {
  float: left;
}
.cmsRecordset {
  overflow: hidden;
}
.cmsRecordset > div.cmsRecordsetInner {
  width: auto;
  height: 300px;
  overflow: scroll;
}
.cmsTableEnumeration {
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  display: inline-table;
}
.cmsTableEnumeration td {
  vertical-align: top;
  margin: 0;
  padding: 10px 0 0 0;
}
.cmsTableEnumeration td.cmsEnumerationNumber {
  font-weight: bold;
  padding-right: 10px;
}
.cmsEnumerationDivider {
  font-size: 1.333em;
  padding-left: 10px;
  padding-right: 10px;
  line-height: 0.75em;
}
.cmsEnumerationDivider img {
  vertical-align: middle;
  width: auto;
  height: auto;
}
.cmsTable {
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  display: inline-table;
  width: 100%;
}
.cmsTable td,
.cmsTable th {
  vertical-align: top;
  text-align: left;
  padding: 4px;
  border: 1px solid #444444;
}
.cmsTable tr.cmsTableOddRow {
  background-color: #FAFAFA;
}
.cmsTable tr.cmsTableEvenRow {
  background-color: #F0F0F0;
}
.cmsTable td.cmsDatatype-int,
.cmsTable td.cmsDatatype-float,
.cmsTable td.cmsDatatype-currency,
.cmsTable td.cmsDatatype-date {
  text-align: right;
}
.cmsTable tr td div {
  height: 20px;
  overflow: hidden;
  display: block;
}
.cmsTable tr:hover td div {
  height: auto;
  overflow: visible;
}
#cmsFlexEditMenu {
  background-color: #FFF;
  border: 1px solid #AAA;
  -webkit-box-shadow: 5px 5px 5px #444444;
  -moz-box-shadow: 5px 5px 5px #444444;
  box-shadow: 5px 5px 5px #444444;
}
#cmsFlexEditMenu img {
  padding: 3px;
  border: 1px solid rgba(255, 255, 255, 0);
}
#cmsFlexEditMenu img:hover {
  background-color: #FFF;
  border: 1px outset #aa0000;
  -webkit-box-shadow: 1px 1px 1px #AAA inset;
  -moz-box-shadow: 1px 1px 1px #AAA inset;
  box-shadow: 1px 1px 1px #AAA inset;
}

.cmsBackgroundImageContainer {
  width: 100%;
  height: auto;
  min-height: 200px;
  display: inline-block;
  background-repeat: no-repeat;
  background-size: cover;
}
.cmsAnchorFormatted {
  display: block;
  padding: 20px;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
  text-decoration: underline;
}
/*
.cmsAnchorFormatted:before {
	content: '[ ';
}

.cmsAnchorFormatted:after {
	content: ' ]';
}

.cmsAnchorFormatted.cmsActive:before {
	content: '| ';
}

.cmsAnchorFormatted.cmsActive:after {
	content: ' |';
}*/
.cmsErrorMessage {
  background-color: #aa0000;
  padding: 10px;
}
.cmsErrorMessage > br:first-child {
  display: none;
}
.cmsFormElement {
  position: relative;
  width: auto;
  margin-bottom: 10px;
}

.cmsFormElement:not(.cmsLabelTop)  {
  display: flex;
  align-items: baseline;
}
/* .cmsFormElement input,
.cmsFormElement textarea,
.cmsFormElement select,
.cmsFormElement .selecter,
.cmsFormElement input[type="text"],
.cmsFormElement input[type="mail"],
.cmsFormElement input[type="submit"] {
  height: 40px;
  width: 300px;
  box-sizing: border-box;
  padding: 3px 8px;
} */
.cmsFormElement.cmsRequired label::after {
  content: '*';
  position: absolute;
  /* right: -310px; */
  top: 0;
}
.cmsFormElement label {
  width: 160px;
  padding-right: 30px;
  position: relative;
  display: inline-block;
  box-sizing: border-box;
  vertical-align: middle;
}
.cmsFormElement.cmsLabelTop input,
.cmsFormElement.cmsLabelTop textarea,
.cmsFormElement.cmsLabelTop select,
.cmsFormElement.cmsLabelTop .selecter {
  display: block;
}
.cmsFormElement.cmsLabelTop label {
  padding-right: 0;
}
.cmsFormElement.cmsLabelTop label::after {
  position: static;
  padding-left: 5px;
}
.cmsFormElement .selecter {
  display: inline-block;
  box-sizing: border-box;
  padding: 0;
  vertical-align: middle;
}
.cmsFormTextarea textarea {
  height: 100px;
}
.cmsFormTextarea label {
  vertical-align: top;
  padding-top: 3px;
}
.cmsFormCheckbox label,
.cmsFormRadio label {
  width: auto;
}
.cmsInputHelpMessage {
  display: none;
  padding: 10px;
  position: absolute;
  background-color: #fff;
  border: 1px solid #888;
  z-index: 2;
  right: 0;
}
.cmsInputHelp::after {
  content: '?';
  border-radius: 10px;
  background-color: darkblue;
  color: #fff;
  width: 20px;
  height: 20px;
  display: inline-block;
  text-align: center;
  vertical-align: middle;
  font-size: 15px;
  line-height: 18px;
  margin-left: 20px;
  position: absolute;
  left: 140px;
  top: 10px;
  z-index: 1;
}
.cmsFormButton .cmsInputHelp::after {
  left: 300px;
}
.cmsInputHelp:hover .cmsInputHelpMessage {
  display: inline-block;
}
.cmsFormElement.cmsWidth100 {
  width: 100%;
}
.cmsFormElement.cmsWidth100 label {
  width: 40%;
  padding-right: 0;
}
.cmsFormElement.cmsWidth100 input:not([type=checkbox]):not([type=radio]),
.cmsFormElement.cmsWidth100 textarea,
.cmsFormElement.cmsWidth100 select,
.cmsFormElement.cmsWidth100 .selecter {
  width: 60%;
  padding-right: 30px;
}
.cmsFormElement.cmsWidth100 .cmsInputHelp::after {
  left: auto;
  right: 10px;
}
.cmsFormElement.cmsWidth100 .custom-checkbox,
.cmsFormElement.cmsWidth100 .custom-radio {
  width: 100%;
}
.cmsFormElement.cmsLabelTop.cmsWidth100 {
  width: 100%;
}
.cmsFormElement.cmsLabelTop.cmsWidth100 label {
  width: 100%;
  padding-right: 0;
}
.cmsFormElement.cmsLabelTop.cmsWidth100 input,
.cmsFormElement.cmsLabelTop.cmsWidth100 textarea {
  width: 100%;
  padding-right: 8px;
}
.cmsFormElement.cmsLabelTop.cmsWidth100 .cmsInputHelp::after {
  left: auto;
  right: 10px;
  top: 5px;
}
.cmsFormElement.cmsLabelTop.cmsWidth100 .custom-checkbox,
.cmsFormElement.cmsLabelTop.cmsWidth100 .custom-radio {
  width: 100%;
}
.cmsFormElement.cmsFormCheckbox.cmsWidth100 label,
.cmsFormElement.cmsFormRadio.cmsWidth100 label {
  width: 100%;
}
.cmsFormElement.cmsFormButton.cmsWidth100 input {
  width: 100%;
}
.cmsFormElement.cmsWidth100.cmsRequired label::after {
  right: auto;
  left: 253%;
}
.cmsFormElement.cmsFormCheckbox.cmsWidth100.cmsRequired label::after,
.cmsFormElement.cmsFormRadio.cmsWidth100.cmsRequired label::after {
  right: -10px;
  left: auto;
  top: 0;
}
.cmsDisabled input[type="submit"],
input[type="submit"][disabled="disabled"] {
  opacity: 0.5;
  background-color: var(--disabled-background,#ccc);
  --button-color: var(--text-color, #000);
}
.cmsDisabled input[type="text"],
.cmsDisabled input[type="password"],
.cmsDisabled input[type="email"],
.cmsDisabled select,
.cmsDisabled .selecter,
input[type="text"][disabled="disabled"],
input[type="password"][disabled="disabled"],
input[type="email"][disabled="disabled"],
.cmsDisabled label {
  color: var(--disabled-color, #666);
}
.cmsFormInputNoLabel label {
  display: none;
}
.cmsFormElement.cmsFormInputNoLabel.cmsRequired::after {
  content: '*';
  position: absolute;
  right: -10px;
  top: 10px;
}
.cmsFormElement.cmsFormInputNoLabel input,
.cmsFormElement.cmsFormInputNoLabel textarea,
.cmsFormElement.cmsFormInputNoLabel select,
.cmsFormElement.cmsFormInputNoLabel .selecter {
  padding-right: 30px;
}
.cmsFormElement.cmsFormInputNoLabel .cmsInputHelp::after {
  left: 250px;
}
.cmsFormElement.cmsFormInputNoLabel.cmsWidth100.cmsRequired::after {
  content: '*';
  position: absolute;
  left: auto;
  right: -10px;
  top: 10px;
}
.cmsFormElement.cmsFormInputNoLabel.cmsWidth100 input,
.cmsFormElement.cmsFormInputNoLabel.cmsWidth100 textarea,
.cmsFormElement.cmsFormInputNoLabel.cmsWidth100 select,
.cmsFormElement.cmsFormInputNoLabel.cmsWidth100 .selecter {
  width: 100%;
}
.cmsFormElement.cmsFormInputNoLabel.cmsWidth100 .cmsInputHelp::after {
  left: auto;
  right: 10px;
}
@media screen and (max-width: 511px) {
  .cmsFormElement,
  .cmsFormElement.cmsFormInput.cmsWidth100,
  .cmsFormElement.cmsFormTextarea.cmsWidth100,
  .cmsFormInput {
    width: 100%;
  }
  .cmsFormElement label,
  .cmsFormElement.cmsFormInput.cmsWidth100 label,
  .cmsFormElement.cmsFormTextarea.cmsWidth100 label,
  .cmsFormInput label,
  .cmsFormElement input,
  .cmsFormElement.cmsFormInput.cmsWidth100 input,
  .cmsFormElement.cmsFormTextarea.cmsWidth100 input,
  .cmsFormInput input,
  .cmsFormElement input[type="text"],
  .cmsFormElement.cmsFormInput.cmsWidth100 input[type="text"],
  .cmsFormElement.cmsFormTextarea.cmsWidth100 input[type="text"],
  .cmsFormInput input[type="text"],
  .cmsFormElement input[type="password"],
  .cmsFormElement.cmsFormInput.cmsWidth100 input[type="password"],
  .cmsFormElement.cmsFormTextarea.cmsWidth100 input[type="password"],
  .cmsFormInput input[type="password"],
  .cmsFormElement input[type="email"],
  .cmsFormElement.cmsFormInput.cmsWidth100 input[type="email"],
  .cmsFormElement.cmsFormTextarea.cmsWidth100 input[type="email"],
  .cmsFormInput input[type="email"],
  .cmsFormElement textarea,
  .cmsFormElement.cmsFormInput.cmsWidth100 textarea,
  .cmsFormElement.cmsFormTextarea.cmsWidth100 textarea,
  .cmsFormInput textarea,
  .cmsFormElement select,
  .cmsFormElement.cmsFormInput.cmsWidth100 select,
  .cmsFormElement.cmsFormTextarea.cmsWidth100 select,
  .cmsFormInput select,
  .cmsFormElement .selecter,
  .cmsFormElement.cmsFormInput.cmsWidth100 .selecter,
  .cmsFormElement.cmsFormTextarea.cmsWidth100 .selecter,
  .cmsFormInput .selecter {
    width: 100%;
  }
  .cmsFormTextarea .cmsInputHelp::after,
  .cmsFormElement.cmsFormTextarea.cmsWidth100 .cmsInputHelp::after {
    top: 10px;
  }
  .cmsFormTextarea label::after,
  .cmsFormElement.cmsFormTextarea.cmsWidth100 label::after {
    right: 10px;
    left: auto;
  }
  .cmsFormElement.cmsRequired label::after {
    right: inherit;
    padding-left: 5px;
  }
}

.cmsRequired::after {
	font-size: 20px;
}

/* layout container 2.0 */

.cmsLayoutContainer {
	color: var(--cms-color, inherit);
	background: var(--cms-background, initial);
	text-align: var(--cms-text-align, initial);
    width: var(--cms-width, 100%);
    height: var(--cms-height, initial);
    overflow-x: var(--cms-overflow-x, auto);
    overflow-y: var(--cms-overflow-y, auto);
	border-style: var(--cms-border-style, none);
	border-width: var(--cms-border-width, 0px);
	border-color: var(--cms-border-color, #000);
	border-radius: var(--cms-border-radius, 0px);
	padding: var(--cms-padding, 0px);
	margin: var(--cms-margin, 0px);
	position: var(--cms-position, static);
}

.cmsLayoutPerfectCenter {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
} 

.cmsLayoutPerfectCenter > * {
	width: fit-content;
}

/* subcontainer layout */

.cmsSubcontainerLayout {
	display: flex;	
	flex-wrap: wrap;
	gap: var(--cms-sub-column-gap, 10px) var(--cms-sub-row-gap, 10px);
	height: var(--cms-sub-height, auto);
	margin: var(--cms-sub-margin, 0px);
	padding: var(--cms-sub-padding, 0px);
}

.cmsSubcontainerLayout > * {
	flex: 1;
	display: flex;
	flex-direction: column;
	position: relative;
	
	min-width: var(--cms-sub-min-width, 0px);
	border: var(--cms-sub-border, none);
	border-radius: var(--cms-sub-border-radius, 0px);
	background: var(--cms-sub-background, initial);
	box-shadow: var(--cms-sub-box-shadow, initial);
}

.cmsSubcontainerLayout > * > * {
	display: flex;
}

.cmsSubcontainerLayout > * > *:nth-child(1){
	color: var(--cms-color-1, inherit);
	background: var(--cms-background-1, initial);
	text-align: var(--cms-text-align-1, initial);
	font-size: var(--cms-font-size-1, inherit);
    width: var(--cms-width-1, 100%);
    height: var(--cms-height-1, initial);
    overflow-x: var(--cms-overflow-x-1, auto);
    overflow-y: var(--cms-overflow-y-1, auto);
	border: var(--cms-border-1, none);
	border-radius: var(--cms-border-radius-1, 0px);
	padding: var(--cms-padding-1, 0px);
	margin: var(--cms-margin-1, 0px);
	flex: var(--cms-flex-1, 0 1 auto);
	justify-content: var(--cms-justify-content-1, flex-start);
	align-items: var(--cms-align-items-1, stretch);
}

.cmsSubcontainerLayout > * > *:nth-child(2){
	color: var(--cms-color-2, inherit);
	background: var(--cms-background-2, initial);
	text-align: var(--cms-text-align-2, initial);
	font-size: var(--cms-font-size-2, inherit);
    width: var(--cms-width-2, 100%);
    height: var(--cms-height-2, initial);
    overflow-x: var(--cms-overflow-x-2, auto);
    overflow-y: var(--cms-overflow-y-2, auto);
	border: var(--cms-border-2, none);
	border-radius: var(--cms-border-radius-2, 0px);
	padding: var(--cms-padding-2, 0px);
	margin: var(--cms-margin-2, 0px);
	flex: var(--cms-flex-2, 0 1 auto);
	justify-content: var(--cms-justify-content-2, flex-start);
	align-items: var(--cms-align-items-2, stretch);
}

.cmsSubcontainerLayout > * > *:nth-child(3){
	color: var(--cms-color-3, inherit);
	background: var(--cms-background-3, initial);
	text-align: var(--cms-text-align-3, initial);
	font-size: var(--cms-font-size-3, inherit);
    width: var(--cms-width-3, 100%);
    height: var(--cms-height-3, initial);
    overflow-x: var(--cms-overflow-x-3, auto);
    overflow-y: var(--cms-overflow-y-3, auto);
	border: var(--cms-border-3, none);
	border-radius: var(--cms-border-radius-3, 0px);
	padding: var(--cms-padding-3, 0px);
	margin: var(--cms-margin-3, 0px);
	flex: var(--cms-flex-3, 0 1 auto);
	justify-content: var(--cms-justify-content-3, flex-start);
	align-items: var(--cms-align-items-3, stretch);
}

.cmsSubcontainerLayout > * > *:nth-child(4){
	color: var(--cms-color-4, inherit);
	background: var(--cms-background-4, initial);
	text-align: var(--cms-text-align-4, initial);
	font-size: var(--cms-font-size-4, inherit);
    width: var(--cms-width-4, 100%);
    height: var(--cms-height-4, initial);
    overflow-x: var(--cms-overflow-x-4, auto);
    overflow-y: var(--cms-overflow-y-4, auto);
	border: var(--cms-border-4, none);
	border-radius: var(--cms-border-radius-4, 0px);
	padding: var(--cms-padding-4, 0px);
	margin: var(--cms-margin-4, 0px);
	flex: var(--cms-flex-4, 0 1 auto);
	justify-content: var(--cms-justify-content-4, flex-start);
	align-items: var(--cms-align-items-4, stretch);
}

.cmsSubcontainerLayout > * > *:nth-child(5){
	color: var(--cms-color-5, inherit);
	background: var(--cms-background-5, initial);
	text-align: var(--cms-text-align-5, initial);
	font-size: var(--cms-font-size-5, inherit);
    width: var(--cms-width-5, 100%);
    height: var(--cms-height-5, initial);
    overflow-x: var(--cms-overflow-x-5, auto);
    overflow-y: var(--cms-overflow-y-5, auto);
	border: var(--cms-border-5, none);
	border-radius: var(--cms-border-radius-5, 0px);
	padding: var(--cms-padding-5, 0px);
	margin: var(--cms-margin-5, 0px);
	flex: var(--cms-flex-5, 0 1 auto);
	justify-content: var(--cms-justify-content-5, flex-start);
	align-items: var(--cms-align-items-5, stretch);
}

.cmsImageWidth100 img:not(.noWidth100) {
	max-width: 100%;
	width: 100%;
	height: auto;
}

.cmsNoImageWidth100 img:not(.width100) {
	max-width: 100%;
	width: auto;
	height: auto;
}


/* flex */

.cmsFlex {
    display: flex;
    --column-gap: var(--cms-column-gap, 10px);
    --row-gap: var(--cms-row-gap, 10px);
    --gap: var(--row-gap) var(--column-gap);
    gap: var(--gap);
	flex-direction: var(--cms-flex-direction, row);
	flex-wrap: var(--cms-flex-wrap, nowrap);
	justify-content: var(--cms-justify-content, flex-start);
	align-content: var(--cms-align-content, stretch);
	align-items: var(--cms-align-items, stretch);
	text-align: var(--cms-text-align, initial);
}

.cmsFlexRow {
	flex-direction: var(--cms-flex-direction, row);
}

.cmsFlexColumn {
	flex-direction: var(--cms-flex-direction, column);
}

.cmsFlex > * {
	align-self: var(--cms-align-self, auto);
	order: var(--cms-order, 50);
	flex-basis: var(--cms-flex-basis, auto);
	flex-grow: var(--cms-flex-grow, 0);
	flex-shrink: var(--cms-flex-shrink, 1);
	text-align: var(--cms-text-align, inherit);
}


/* grid */

.cmsGrid {
    display: grid;
    --column-gap: var(--cms-column-gap-mobile, var(--cms-column-gap, 10px));
    --row-gap: var(--cms-row-gap-mobile, var(--cms-row-gap, 10px));
    --gap: var(--row-gap) var(--column-gap);
    gap: var(--gap);
    grid-auto-rows: var(--cms-auto-rows-mobile, var(--cms-auto-rows, auto));
    grid-auto-columns: 1fr;
    grid-auto-flow: dense;
}

.cmsGridContainer {
	grid-auto-columns: var(--cms-auto-columns-mobile, var(--cms-auto-columns, auto));
	grid-auto-flow: var(--cms-auto-flow-mobile, var(--cms-auto-flow, row));
	grid-template-columns: var(--cms-template-columns-mobile, var(--cms-template-columns));
	grid-template-rows: var(--cms-template-rows-mobile, var(--cms-template-rows));
	grid-template-areas: var(--cms-template-areas-mobile, var(--cms-template-areas));

	justify-content: var(--cms-justify-content-mobile, var(--cms-justify-content));
	justify-items: var(--cms-justify-items-mobile, var(--cms-justify-items));
	align-content: var(--cms-align-content-mobile, var(--cms-align-content));
	align-items: var(--cms-align-items-mobile, var(--cms-align-items));
	text-align: var(--cms-text-align-mobile, var(--cms-text-align));
}

.cmsGridContainer > * {
	--cms-grid-column-start-mobile: var(--cms-grid-column-start-desktop);
	--cms-grid-column-end-mobile: var(--cms-grid-column-end-desktop);
	--cms-grid-row-start-mobile: var(--cms-grid-row-start-desktop);
	--cms-grid-row-end-mobile: var(--cms-grid-row-end-desktop);
	--cms-justify-self-mobile: var(--cms-justify-self-desktop);
	--cms-align-self-mobile: var(--cms-align-self-desktop);
	--cms-grid-order-mobile: var(--cms-grid-order-desktop);
	--cms-grid-text-align-mobile: var(--cms-grid-text-align-desktop);
}

@media screen and (max-width: 1199px) {
 	.cmsGridContainer1200 {
		--cms-column-gap-mobile: var(--cms-column-gap-tablet);
		--cms-row-gap-mobile: var(--cms-row-gap-tablet);
		--cms-auto-rows-mobile: var(--cms-auto-rows-tablet);
		--cms-auto-columns-mobile: var(--cms-auto-columns-tablet);
		--cms-auto-flow-mobile: var(--cms-auto-flow-tablet);
		--cms-template-columns-mobile: var(--cms-template-columns-tablet);
		--cms-template-rows-mobile: var(--cms-template-rows-tablet);
		--cms-template-areas-mobile: var(--cms-template-areas-tablet);
		--cms-justify-content-mobile: var(--cms-justify-content-tablet);
		--cms-justify-items-mobile: var(--cms-justify-items-tablet);
		--cms-align-content-mobile: var(--cms-align-content-tablet);
		--cms-align-items-mobile: var(--cms-align-items-tablet);
		--cms-text-align-mobile: var(--cms-text-align-tablet);
	}
	.cmsGridContainer1200 > * {
		--cms-grid-column-start-mobile: var(--cms-grid-column-start-tablet);
		--cms-grid-column-end-mobile: var(--cms-grid-column-end-tablet);
		--cms-grid-row-start-mobile: var(--cms-grid-row-start-tablet);
		--cms-grid-row-end-mobile: var(--cms-grid-row-end-tablet);
		--cms-justify-self-mobile: var(--cms-justify-self-tablet);
		--cms-align-self-mobile: var(--cms-align-self-tablet);
		--cms-grid-order-mobile: var(--cms-grid-order-tablet);
		--cms-grid-text-align-mobile: var(--cms-grid-text-align-tablet);
	}
}

@media screen and (max-width: 999px) {
	.cmsGridContainer1000 {
		--cms-column-gap-mobile: var(--cms-column-gap-tablet);
		--cms-row-gap-mobile: var(--cms-row-gap-tablet);
		--cms-auto-rows-mobile: var(--cms-auto-rows-tablet);
		--cms-auto-columns-mobile: var(--cms-auto-columns-tablet);
		--cms-auto-flow-mobile: var(--cms-auto-flow-tablet);
		--cms-template-columns-mobile: var(--cms-template-columns-tablet);
		--cms-template-rows-mobile: var(--cms-template-rows-tablet);
		--cms-template-areas-mobile: var(--cms-template-areas-tablet);
		--cms-justify-content-mobile: var(--cms-justify-content-tablet);
		--cms-justify-items-mobile: var(--cms-justify-items-tablet);
		--cms-align-content-mobile: var(--cms-align-content-tablet);
		--cms-align-items-mobile: var(--cms-align-items-tablet);
		--cms-text-align-mobile: var(--cms-text-align-tablet);
   }
   .cmsGridContainer1000 > * {
		--cms-grid-column-start-mobile: var(--cms-grid-column-start-tablet);
		--cms-grid-column-end-mobile: var(--cms-grid-column-end-tablet);
		--cms-grid-row-start-mobile: var(--cms-grid-row-start-tablet);
		--cms-grid-row-end-mobile: var(--cms-grid-row-end-tablet);
		--cms-justify-self-mobile: var(--cms-justify-self-tablet);
		--cms-align-self-mobile: var(--cms-align-self-tablet);
		--cms-grid-order-mobile: var(--cms-grid-order-tablet);
		--cms-grid-text-align-mobile: var(--cms-grid-text-align-tablet);
	}
}

@media screen and (max-width: 799px) {
	.cmsGridContainer800 {
		--cms-column-gap-mobile: var(--cms-column-gap-tablet);
		--cms-row-gap-mobile: var(--cms-row-gap-tablet);
		--cms-auto-rows-mobile: var(--cms-auto-rows-tablet);
		--cms-auto-columns-mobile: var(--cms-auto-columns-tablet);
		--cms-auto-flow-mobile: var(--cms-auto-flow-tablet);
		--cms-template-columns-mobile: var(--cms-template-columns-tablet);
		--cms-template-rows-mobile: var(--cms-template-rows-tablet);
		--cms-template-areas-mobile: var(--cms-template-areas-tablet);
		--cms-justify-content-mobile: var(--cms-justify-content-tablet);
		--cms-justify-items-mobile: var(--cms-justify-items-tablet);
		--cms-align-content-mobile: var(--cms-align-content-tablet);
		--cms-align-items-mobile: var(--cms-align-items-tablet);
		--cms-text-align-mobile: var(--cms-text-align-tablet);
   }
   .cmsGridContainer800 > * {
		--cms-grid-column-start-mobile: var(--cms-grid-column-start-tablet);
		--cms-grid-column-end-mobile: var(--cms-grid-column-end-tablet);
		--cms-grid-row-start-mobile: var(--cms-grid-row-start-tablet);
		--cms-grid-row-end-mobile: var(--cms-grid-row-end-tablet);
		--cms-justify-self-mobile: var(--cms-justify-self-tablet);
		--cms-align-self-mobile: var(--cms-align-self-tablet);
		--cms-grid-order-mobile: var(--cms-grid-order-tablet);
		--cms-grid-text-align-mobile: var(--cms-grid-text-align-tablet);
	}
}

@media screen and (max-width: 767px) {
	.cmsGridContainer768 {
		--cms-column-gap-mobile: var(--cms-column-gap-tablet);
		--cms-row-gap-mobile: var(--cms-row-gap-tablet);
		--cms-auto-rows-mobile: var(--cms-auto-rows-tablet);
		--cms-auto-columns-mobile: var(--cms-auto-columns-tablet);
		--cms-auto-flow-mobile: var(--cms-auto-flow-tablet);
		--cms-template-columns-mobile: var(--cms-template-columns-tablet);
		--cms-template-rows-mobile: var(--cms-template-rows-tablet);
		--cms-template-areas-mobile: var(--cms-template-areas-tablet);
		--cms-justify-content-mobile: var(--cms-justify-content-tablet);
		--cms-justify-items-mobile: var(--cms-justify-items-tablet);
		--cms-align-content-mobile: var(--cms-align-content-tablet);
		--cms-align-items-mobile: var(--cms-align-items-tablet);
		--cms-text-align-mobile: var(--cms-text-align-tablet);
   }
   .cmsGridContainer768 > * {
		--cms-grid-column-start-mobile: var(--cms-grid-column-start-tablet);
		--cms-grid-column-end-mobile: var(--cms-grid-column-end-tablet);
		--cms-grid-row-start-mobile: var(--cms-grid-row-start-tablet);
		--cms-grid-row-end-mobile: var(--cms-grid-row-end-tablet);
		--cms-justify-self-mobile: var(--cms-justify-self-tablet);
		--cms-align-self-mobile: var(--cms-align-self-tablet);
		--cms-grid-order-mobile: var(--cms-grid-order-tablet);
		--cms-grid-text-align-mobile: var(--cms-grid-text-align-tablet);
	}
}

@media screen and (max-width: 699px) {
	.cmsGridContainer700 {
		--cms-column-gap-mobile: var(--cms-column-gap-tablet);
		--cms-row-gap-mobile: var(--cms-row-gap-tablet);
		--cms-auto-rows-mobile: var(--cms-auto-rows-tablet);
		--cms-auto-columns-mobile: var(--cms-auto-columns-tablet);
		--cms-auto-flow-mobile: var(--cms-auto-flow-tablet);
		--cms-template-columns-mobile: var(--cms-template-columns-tablet);
		--cms-template-rows-mobile: var(--cms-template-rows-tablet);
		--cms-template-areas-mobile: var(--cms-template-areas-tablet);
		--cms-justify-content-mobile: var(--cms-justify-content-tablet);
		--cms-justify-items-mobile: var(--cms-justify-items-tablet);
		--cms-align-content-mobile: var(--cms-align-content-tablet);
		--cms-align-items-mobile: var(--cms-align-items-tablet);
		--cms-text-align-mobile: var(--cms-text-align-tablet);
   }
   .cmsGridContainer700 > * {
		--cms-grid-column-start-mobile: var(--cms-grid-column-start-tablet);
		--cms-grid-column-end-mobile: var(--cms-grid-column-end-tablet);
		--cms-grid-row-start-mobile: var(--cms-grid-row-start-tablet);
		--cms-grid-row-end-mobile: var(--cms-grid-row-end-tablet);
		--cms-justify-self-mobile: var(--cms-justify-self-tablet);
		--cms-align-self-mobile: var(--cms-align-self-tablet);
		--cms-grid-order-mobile: var(--cms-grid-order-tablet);
		--cms-grid-text-align-mobile: var(--cms-grid-text-align-tablet);
	}
}

@media screen and (max-width: 599px) {
	.cmsGridContainer600 {
		--cms-column-gap-mobile: var(--cms-column-gap-phone);
		--cms-row-gap-mobile: var(--cms-row-gap-phone);
		--cms-auto-rows-mobile: var(--cms-auto-rows-phone);
		--cms-auto-columns-mobile: var(--cms-auto-columns-phone);
		--cms-auto-flow-mobile: var(--cms-auto-flow-phone);
		--cms-template-columns-mobile: var(--cms-template-columns-phone);
		--cms-template-rows-mobile: var(--cms-template-rows-phone);
		--cms-template-areas-mobile: var(--cms-template-areas-phone);
		--cms-justify-content-mobile: var(--cms-justify-content-phone);
		--cms-justify-items-mobile: var(--cms-justify-items-phone);
		--cms-align-content-mobile: var(--cms-align-content-phone);
		--cms-align-items-mobile: var(--cms-align-items-phone);
		--cms-text-align-mobile: var(--cms-text-align-phone);
   }
   .cmsGridContainer600 > * {
		--cms-grid-column-start-mobile: var(--cms-grid-column-start-phone);
		--cms-grid-column-end-mobile: var(--cms-grid-column-end-phone);
		--cms-grid-row-start-mobile: var(--cms-grid-row-start-phone);
		--cms-grid-row-end-mobile: var(--cms-grid-row-end-phone);
		--cms-justify-self-mobile: var(--cms-justify-self-phone);
		--cms-align-self-mobile: var(--cms-align-self-phone);
		--cms-grid-order-mobile: var(--cms-grid-order-phone);
		--cms-grid-text-align-mobile: var(--cms-grid-text-align-phone);
	}
}

@media screen and (max-width: 511px) {
	.cmsGridContainer512 {
		--cms-column-gap-mobile: var(--cms-column-gap-phone);
		--cms-row-gap-mobile: var(--cms-row-gap-phone);
		--cms-auto-rows-mobile: var(--cms-auto-rows-phone);
		--cms-auto-columns-mobile: var(--cms-auto-columns-phone);
		--cms-auto-flow-mobile: var(--cms-auto-flow-phone);
		--cms-template-columns-mobile: var(--cms-template-columns-phone);
		--cms-template-rows-mobile: var(--cms-template-rows-phone);
		--cms-template-areas-mobile: var(--cms-template-areas-phone);
		--cms-justify-content-mobile: var(--cms-justify-content-phone);
		--cms-justify-items-mobile: var(--cms-justify-items-phone);
		--cms-align-content-mobile: var(--cms-align-content-phone);
		--cms-align-items-mobile: var(--cms-align-items-phone);
		--cms-text-align-mobile: var(--cms-text-align-phone);
   }
   .cmsGridContainer512 > * {
		--cms-grid-column-start-mobile: var(--cms-grid-column-start-phone);
		--cms-grid-column-end-mobile: var(--cms-grid-column-end-phone);
		--cms-grid-row-start-mobile: var(--cms-grid-row-start-phone);
		--cms-grid-row-end-mobile: var(--cms-grid-row-end-phone);
		--cms-justify-self-mobile: var(--cms-justify-self-phone);
		--cms-align-self-mobile: var(--cms-align-self-phone);
		--cms-grid-order-mobile: var(--cms-grid-order-phone);
		--cms-grid-text-align-mobile: var(--cms-grid-text-align-phone);
	}
}

@media screen and (max-width: 449px) {
	.cmsGridContainer450 {
		--cms-column-gap-mobile: var(--cms-column-gap-phone);
		--cms-row-gap-mobile: var(--cms-row-gap-phone);
		--cms-auto-rows-mobile: var(--cms-auto-rows-phone);
		--cms-auto-columns-mobile: var(--cms-auto-columns-phone);
		--cms-auto-flow-mobile: var(--cms-auto-flow-phone);
		--cms-template-columns-mobile: var(--cms-template-columns-phone);
		--cms-template-rows-mobile: var(--cms-template-rows-phone);
		--cms-template-areas-mobile: var(--cms-template-areas-phone);
		--cms-justify-content-mobile: var(--cms-justify-content-phone);
		--cms-justify-items-mobile: var(--cms-justify-items-phone);
		--cms-align-content-mobile: var(--cms-align-content-phone);
		--cms-align-items-mobile: var(--cms-align-items-phone);
		--cms-text-align-mobile: var(--cms-text-align-phone);
   }
   .cmsGridContainer450 > * {
		--cms-grid-column-start-mobile: var(--cms-grid-column-start-phone);
		--cms-grid-column-end-mobile: var(--cms-grid-column-end-phone);
		--cms-grid-row-start-mobile: var(--cms-grid-row-start-phone);
		--cms-grid-row-end-mobile: var(--cms-grid-row-end-phone);
		--cms-justify-self-mobile: var(--cms-justify-self-phone);
		--cms-align-self-mobile: var(--cms-align-self-phone);
		--cms-grid-order-mobile: var(--cms-grid-order-phone);
		--cms-grid-text-align-mobile: var(--cms-grid-text-align-phone);
	}
}

@media screen and (max-width: 399px) {
	.cmsGridContainer400 {
		--cms-column-gap-mobile: var(--cms-column-gap-phone);
		--cms-row-gap-mobile: var(--cms-row-gap-phone);
		--cms-auto-rows-mobile: var(--cms-auto-rows-phone);
		--cms-auto-columns-mobile: var(--cms-auto-columns-phone);
		--cms-auto-flow-mobile: var(--cms-auto-flow-phone);
		--cms-template-columns-mobile: var(--cms-template-columns-phone);
		--cms-template-rows-mobile: var(--cms-template-rows-phone);
		--cms-template-areas-mobile: var(--cms-template-areas-phone);
		--cms-justify-content-mobile: var(--cms-justify-content-phone);
		--cms-justify-items-mobile: var(--cms-justify-items-phone);
		--cms-align-content-mobile: var(--cms-align-content-phone);
		--cms-align-items-mobile: var(--cms-align-items-phone);
		--cms-text-align-mobile: var(--cms-text-align-phone);
   }
   .cmsGridContainer400 > * {
		--cms-grid-column-start-mobile: var(--cms-grid-column-start-phone);
		--cms-grid-column-end-mobile: var(--cms-grid-column-end-phone);
		--cms-grid-row-start-mobile: var(--cms-grid-row-start-phone);
		--cms-grid-row-end-mobile: var(--cms-grid-row-end-phone);
		--cms-justify-self-mobile: var(--cms-justify-self-phone);
		--cms-align-self-mobile: var(--cms-align-self-phone);
		--cms-grid-order-mobile: var(--cms-grid-order-phone);
		--cms-grid-text-align-mobile: var(--cms-grid-text-align-phone);
	}
}


.cmsGridRow {
    display: grid;
    --column-gap: var(--cms-column-gap, 10px);
    --row-gap: var(--cms-row-gap, 10px);
    --gap: var(--row-gap) var(--column-gap);
    gap: var(--gap);
    grid-auto-rows: var(--cms-auto-rows, 1fr);
    grid-auto-columns: 100%;
    grid-auto-flow: dense;
}

.cmsGrid > *, 
.cmsGridRow > * {
	/* text-align: var(--cms-text-align-mobile, var(--cms-text-align, inherit));	 */
	grid-column-start:  var(--cms-grid-column-start-mobile, var(--cms-grid-column-start, auto));
	grid-column-end: var(--cms-grid-column-end-mobile, var(--cms-grid-column-end, auto));
	grid-row-start: var(--cms-grid-row-start-mobile, var(--cms-grid-row-start, auto));
	grid-row-end: var(--cms-grid-row-end-mobile, var(--cms-grid-row-end, auto));
	align-self: var(--cms-align-self-mobile, var(--cms-align-self, auto));
	justify-self: var(--cms-justify-self-mobile, var(--cms-justify-self, auto));
	order: var(--cms-grid-order-mobile, var(--cms-order, 50));
	text-align: var(--cms-grid-text-align-mobile, var(--cms-text-align, inherit));
}

@media screen and (min-width: 800px) {

     /* grid 1 */
     .cmsGrid-1 {
        --col1: var(--cms-col1, 100%);
        grid-template-columns: var(--col1);
    }


    /* grid 2 */
    .cmsGrid-2 {
        --col1: var(--cms-col1, 50%);
        --col2: var(--cms-col2, 50%);
        /* grid-template-columns: calc(var(--col1) - var(--column-gap)/2) calc(var(--col2) - var(--column-gap)/2); */
    }

    .cmsGrid-2-o12 > *:nth-child(1), 
    .cmsGrid-2-o21 > *:nth-child(2) {
        grid-column: 1 / span 1;
    }

    .cmsGrid-2-o21 > *:nth-child(1), 
    .cmsGrid-2-o12 > *:nth-child(2) {
        grid-column: 2 / span 1;
    }


    /* grid 3 */
    .cmsGrid-3 {
        --col1: var(--cms-col1, 33.3333%);
        --col2: var(--cms-col2, 33.3333%);
        --col3: var(--cms-col3, 33.3333%);
        /* grid-template-columns: calc(var(--col1) - var(--column-gap)*2/3) calc(var(--col2) - var(--column-gap)*2/3) calc(var(--col3) - var(--column-gap)*2/3); */
    }

    .cmsGrid-3-o123 > *:nth-child(1), 
    .cmsGrid-3-o132 > *:nth-child(1), 
    .cmsGrid-3-o213 > *:nth-child(2), 
    .cmsGrid-3-o231 > *:nth-child(2), 
    .cmsGrid-3-o312 > *:nth-child(3), 
    .cmsGrid-3-o321 > *:nth-child(3) {
        grid-column: 1 / span 1;
    }

    .cmsGrid-3-o213 > *:nth-child(1), 
    .cmsGrid-3-o312 > *:nth-child(1), 
    .cmsGrid-3-o123 > *:nth-child(2), 
    .cmsGrid-3-o321 > *:nth-child(2), 
    .cmsGrid-3-o132 > *:nth-child(3), 
    .cmsGrid-3-o231 > *:nth-child(3) {
        grid-column: 2 / span 1;
    }

    .cmsGrid-3-o231 > *:nth-child(1), 
    .cmsGrid-3-o321 > *:nth-child(1), 
    .cmsGrid-3-o132 > *:nth-child(2), 
    .cmsGrid-3-o312 > *:nth-child(2), 
    .cmsGrid-3-o123 > *:nth-child(3), 
    .cmsGrid-3-o213 > *:nth-child(3) {
        grid-column: 3 / span 1;
    }

    .cmsGrid-3-s12.cmsGrid-3-o12 > *:nth-child(1),
    .cmsGrid-3-s12.cmsGrid-3-o21 > *:nth-child(2) {
        grid-column: 1 / span 1;
    }

    .cmsGrid-3-s12.cmsGrid-3-o12 > *:nth-child(2),
    .cmsGrid-3-s12.cmsGrid-3-o21 > *:nth-child(1) {
        grid-column: 2 / span 2;
    }

    .cmsGrid-3-s21.cmsGrid-3-o12 > *:nth-child(1),
    .cmsGrid-3-s21.cmsGrid-3-o21 > *:nth-child(2) {
        grid-column: 1 / span 2;
    }

    .cmsGrid-3-s21.cmsGrid-3-o12 > *:nth-child(2),
    .cmsGrid-3-s21.cmsGrid-3-o21 > *:nth-child(1) {
        grid-column: 3 / span 1;
    }


    /* grid 4 */
    .cmsGrid-4 {
        --col1: var(--cms-col1, 25%);
        --col2: var(--cms-col2, 25%);
        --col3: var(--cms-col3, 25%);
        --col4: var(--cms-col4, 25%);
        /* grid-template-columns: calc(var(--col1) - var(--column-gap)*3/4) calc(var(--col2) - var(--column-gap)*3/4) calc(var(--col3) - var(--column-gap)*3/4) calc(var(--col4) - var(--column-gap)*3/4); */
    }


	.cmsGrid-4-s1111.cmsGrid-4-o1234 > *:nth-child(1),
    .cmsGrid-4-s112.cmsGrid-4-o123 > *:nth-child(1), 
    .cmsGrid-4-s112.cmsGrid-4-o132 > *:nth-child(1), 
    .cmsGrid-4-s112.cmsGrid-4-o213 > *:nth-child(2), 
    .cmsGrid-4-s112.cmsGrid-4-o231 > *:nth-child(2), 
    .cmsGrid-4-s112.cmsGrid-4-o312 > *:nth-child(3), 
    .cmsGrid-4-s112.cmsGrid-4-o321 > *:nth-child(3) {
        grid-column: 1 / span 1;
    }

	.cmsGrid-4-s1111.cmsGrid-4-o1234 > *:nth-child(2),
    .cmsGrid-4-s112.cmsGrid-4-o213 > *:nth-child(1), 
    .cmsGrid-4-s112.cmsGrid-4-o312 > *:nth-child(1), 
    .cmsGrid-4-s112.cmsGrid-4-o123 > *:nth-child(2), 
    .cmsGrid-4-s112.cmsGrid-4-o321 > *:nth-child(2), 
    .cmsGrid-4-s112.cmsGrid-4-o132 > *:nth-child(3), 
    .cmsGrid-4-s112.cmsGrid-4-o231 > *:nth-child(3) {
        grid-column: 2 / span 1;
    }

    .cmsGrid-4-s112.cmsGrid-4-o231 > *:nth-child(1), 
    .cmsGrid-4-s112.cmsGrid-4-o321 > *:nth-child(1), 
    .cmsGrid-4-s112.cmsGrid-4-o132 > *:nth-child(2), 
    .cmsGrid-4-s112.cmsGrid-4-o312 > *:nth-child(2), 
    .cmsGrid-4-s112.cmsGrid-4-o123 > *:nth-child(3), 
    .cmsGrid-4-s112.cmsGrid-4-o213 > *:nth-child(3) {
        grid-column: 3 / span 2;
    }

    .cmsGrid-4-s121.cmsGrid-4-o123 > *:nth-child(1), 
    .cmsGrid-4-s121.cmsGrid-4-o132 > *:nth-child(1), 
    .cmsGrid-4-s121.cmsGrid-4-o213 > *:nth-child(2), 
    .cmsGrid-4-s121.cmsGrid-4-o231 > *:nth-child(2), 
    .cmsGrid-4-s121.cmsGrid-4-o312 > *:nth-child(3), 
    .cmsGrid-4-s121.cmsGrid-4-o321 > *:nth-child(3) {
        grid-column: 1 / span 1;
    }

    .cmsGrid-4-s121.cmsGrid-4-o213 > *:nth-child(1), 
    .cmsGrid-4-s121.cmsGrid-4-o312 > *:nth-child(1), 
    .cmsGrid-4-s121.cmsGrid-4-o123 > *:nth-child(2), 
    .cmsGrid-4-s121.cmsGrid-4-o321 > *:nth-child(2), 
    .cmsGrid-4-s121.cmsGrid-4-o132 > *:nth-child(3), 
    .cmsGrid-4-s121.cmsGrid-4-o231 > *:nth-child(3) {
        grid-column: 2 / span 2;
    }

	.cmsGrid-4-s1111.cmsGrid-4-o1234 > *:nth-child(4),
    .cmsGrid-4-s121.cmsGrid-4-o231 > *:nth-child(1), 
    .cmsGrid-4-s121.cmsGrid-4-o321 > *:nth-child(1), 
    .cmsGrid-4-s121.cmsGrid-4-o132 > *:nth-child(2), 
    .cmsGrid-4-s121.cmsGrid-4-o312 > *:nth-child(2), 
    .cmsGrid-4-s121.cmsGrid-4-o123 > *:nth-child(3), 
    .cmsGrid-4-s121.cmsGrid-4-o213 > *:nth-child(3) {
        grid-column: 4 / span 1;
    }

    .cmsGrid-4-s211.cmsGrid-4-o123 > *:nth-child(1), 
    .cmsGrid-4-s211.cmsGrid-4-o132 > *:nth-child(1), 
    .cmsGrid-4-s211.cmsGrid-4-o213 > *:nth-child(2), 
    .cmsGrid-4-s211.cmsGrid-4-o231 > *:nth-child(2), 
    .cmsGrid-4-s211.cmsGrid-4-o312 > *:nth-child(3), 
    .cmsGrid-4-s211.cmsGrid-4-o321 > *:nth-child(3) {
        grid-column: 1 / span 2;
    }

	.cmsGrid-4-s1111.cmsGrid-4-o1234 > *:nth-child(3),
    .cmsGrid-4-s211.cmsGrid-4-o213 > *:nth-child(1), 
    .cmsGrid-4-s211.cmsGrid-4-o312 > *:nth-child(1), 
    .cmsGrid-4-s211.cmsGrid-4-o123 > *:nth-child(2), 
    .cmsGrid-4-s211.cmsGrid-4-o321 > *:nth-child(2), 
    .cmsGrid-4-s211.cmsGrid-4-o132 > *:nth-child(3), 
    .cmsGrid-4-s211.cmsGrid-4-o231 > *:nth-child(3) {
        grid-column: 3 / span 1;
    }

    .cmsGrid-4-s211.cmsGrid-4-o231 > *:nth-child(1), 
    .cmsGrid-4-s211.cmsGrid-4-o321 > *:nth-child(1), 
    .cmsGrid-4-s211.cmsGrid-4-o132 > *:nth-child(2), 
    .cmsGrid-4-s211.cmsGrid-4-o312 > *:nth-child(2), 
    .cmsGrid-4-s211.cmsGrid-4-o123 > *:nth-child(3), 
    .cmsGrid-4-s211.cmsGrid-4-o213 > *:nth-child(3) {
        grid-column: 4 / span 1;
    }

    .cmsGrid-4-s13.cmsGrid-4-o12 > *:nth-child(1),
    .cmsGrid-4-s13.cmsGrid-4-o21 > *:nth-child(2) {
        grid-column: 1 / span 1;
    }

    .cmsGrid-4-s13.cmsGrid-4-o12 > *:nth-child(2),
    .cmsGrid-4-s13.cmsGrid-4-o21 > *:nth-child(1) {
        grid-column: 2 / span 3;
    }

    .cmsGrid-4-s31.cmsGrid-4-o12 > *:nth-child(1),
    .cmsGrid-4-s31.cmsGrid-4-o21 > *:nth-child(2) {
        grid-column: 1 / span 3;
    }

    .cmsGrid-4-s31.cmsGrid-4-o12 > *:nth-child(2),
    .cmsGrid-4-s31.cmsGrid-4-o21 > *:nth-child(1) {
        grid-column: 4 / span 1;
    }
}


.cmsMenu ul {
	display: inline-flex;
	column-gap: var(--cms-menu-column-gap, 20px);
	row-gap: var(--cms-menu-row-gap, 20px);
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
}
.cmsMenu ul ul {
	display: none;
	position: absolute;
}

.cmsMenu li:hover {
	position: relative;
}

.cmsMenu li:hover > ul {
	display: inline-block;
	top: 0;
	left: 100%;
}

.cmsMenu li {
	background-color: var(--cms-menu-back-color, var(--main-color));
	margin: var(--cms-menu-margin, 0px);
	list-style: none;
	white-space: nowrap;
	display: block;
}

.cmsMenu li > a {
	text-decoration: var(--cms-menu-text-decoration, none);
	display: inline-block;
	color: var(--cms-menu-text-color, var(--text-color));
	padding: var(--cms-menu-padding, 10px);
}

.cmsMenu li:hover {
	background-color: var(--cms-menu-back-color-hover, var(--cms-menu-back-color, var(--main-color)));
}

.cmsMenu li:hover > a {
	color:var(--cms-menu-text-color-hover, var(--cms-menu-text-color, var(--text-color)));
}

.cmsMenu ul.cmsHorizontal > li:hover > ul {
	top: 100%;
	left: 0;
}

.cmsMenuFlex ul {
	display: flex;
	flex-direction: column;
} 

.cmsMenuFlex li:hover > ul {
	display: flex;
	flex-direction: column;
}

.cmsMenuFlex ul.cmsHorizontal {
	flex-direction: row;
}

.cmsImagegallery {
	/* Prevent vertical gaps */
	--column-count:		5;
	--column-count1200:	4;
	--column-count1000:	3;
	--column-count800:	2;
	--column-count600:	2;
	--column-count400:	1;
	--column-gap:		5px;
	line-height: 0;
	
	-webkit-column-count: var(--column-count);
	-webkit-column-gap:   var(--column-gap);
	-moz-column-count:    var(--column-count);
	-moz-column-gap:      var(--column-gap);
	column-count:         var(--column-count);
	column-gap:           var(--column-gap);	
	display: block;
	text-align: center;
 }

 .cmsImagegallery > * {
	 display: inline-block;
	 padding-bottom: 	  var(--row-gap, var(--column-gap));
	 vertical-align: top;
	 line-height: initial;
	 width: 100%;
	 text-align: inherit;
	 margin: 0;
 }

 .cmsImagegallery > * > * {
	width: 100%;
 }
 
 .cmsImagegallery img {
   /* Just in case there are inline attributes */
   width: 100% !important;
   height: auto !important;
   max-width: var(--max-image-width, none)!important;
   max-height: var(--max-image-height, none)!important;
   image-rendering: crisp-edges;
 }
 
 @media (max-width: 1200px) {
   .cmsImagegallery {
   -moz-column-count:    var(--column-count1200);
   -webkit-column-count: var(--column-count1200);
   column-count:         var(--column-count1200);
   }
 }
 @media (max-width: 1000px) {
   .cmsImagegallery {
   -moz-column-count:    var(--column-count1000);
   -webkit-column-count: var(--column-count1000);
   column-count:         var(--column-count1000);
   }
 }
 @media (max-width: 800px) {
   .cmsImagegallery {
   -moz-column-count:    var(--column-count800);
   -webkit-column-count: var(--column-count800);
   column-count:         var(--column-count800);
   }
 }
 @media (max-width: 600px) {
	.cmsImagegallery {
	-moz-column-count:    var(--column-count600);
	-webkit-column-count: var(--column-count600);
	column-count:         var(--column-count600);
	}
  }
 @media (max-width: 400px) {
   .cmsImagegallery {
   -moz-column-count:    var(--column-count400);
   -webkit-column-count: var(--column-count400);
   column-count:         var(--column-count400);
   }
 }


.cmsPrev,
.cmsNext {
	cursor: pointer;
	position: absolute;
	top: 50%;
	width: auto;
	height: 100%;
	padding: 16px;
	transform: translateY(-50%);
	color: white;
	font-weight: bold;
	font-size: 20px;
	transition: 0.6s ease;
	border-radius: 0 3px 3px 0;
	user-select: none;
	-webkit-user-select: none;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.cmsNext {
	right: 0;
	border-radius: 3px 0 0 3px;
}

.cmsPrev::after {
	content: var(--cms-prev, '\276E');
}

.cmsNext::after {
	content: var(--cms-next, '\276F');
}

.cmsPrev:hover,
.cmsNext:hover {
	background-color: rgba(0, 0, 0, 0.2);
}


.cmsModal-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--cms-modal-backdrop-background, #aaac);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999999;
}

.cmsModal-container {
	position: absolute;
	background-color: var(--cms-modal-container-background, #fff);
	border: var(--cms-modak-border-size, 4px) solid var(--cms-modak-border-color, #fff);
}

.cmsModal-container.fadeIn {
	animation: fadeIn-both var(--cms-animation-speed, .4s);
}

.cmsModal-container.fadeOut {
	animation: fadeOut-both var(--cms-animation-speed, .4s);
}

.cmsModal-close {
	position: absolute;
	right: 5px;
	top: 5px;
}

.cmsModal-close::after {
	content: var(--cms-modal-close-text, 'X');
	display: block;
	font-size: var(--cms-modal-close-size, 20px);
	width: 30px;
	height: 30px;
	background-color: var(--cms-modal-close-background, #aaa);
	color: var(--cms-modal-close-color, #fff);
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	cursor: pointer;
}

.cmsImageGalleryLightbox .cmsImageDiv {
	margin: 0;
	text-align: var(--cms-image-gallery-text-align, center);
}

.cmsImageGalleryLightbox .cmsImageGalleryImage {
	max-height: 90vh;
	width: auto;	
}

@keyframes fadeIn-horizontal {
    from { opacity: 0; transform: translateY(-50%) scaleY(0); }
      to { opacity: 1; transform: translateY(  0 ) scaleY(1); }
}

@keyframes fadeIn-vertical {
    from { opacity: 0; transform: translateX(-50%) scaleX(0); }
      to { opacity: 1; transform: translateX(  0 ) scaleX(1); }
}

@keyframes fadeIn-both {
    from { opacity: 0; }
      to { opacity: 1; }
}

@keyframes fadeOut-both {
    from { opacity: 1; }
      to { opacity: 0; }
}

/* accordion */

.cmsAccordion {
	position: relative;
}

.cmsAccordion > input[type="checkbox"]:not(.switch),
.cmsAccordion > input[type="radio"]:not(.switch) {
	position: absolute;
	left: -100vw;
	opacity: 0.01;
	height: 0;
	width: 0;
	line-height: 0;
	font-size: 0;
	appearance: initial;
	-moz-appearance: initial;
	-webkit-appearance: initial;
}

.cmsAccordion > input[type="checkbox"]:focus,
.cmsAccordion > input[type="radio"]:focus {
	outline: none;
}

.cmsAccordion > input[type="checkbox"] ~ label,
.cmsAccordion > input[type="radio"] ~ label {
	--label-font:  var(--cms-accordion-label-font, var(--cms-font));
	--label-fontsize:  var(--cms-accordion-label-font-size, 20px);
	--label-line-height:  var(--cms-accordion-label-line-height, 1);
	--label-color:  var(--cms-accordion-label-color, var(--text-color));
	--label-padding:  var(--cms-accordion-label-padding, 0px);
	margin-bottom: 0;
	width: var(--cms-accordion-width, 100%);
	height: var(--cms-accordion-height, 20px);
	background-color: var(--cms-accordion-background, transparent);
	display: inline-flex;
  	align-items: center;
	padding-left: var(--cms-accordion-label-left, 0);
	padding-right: var(--cms-accordion-label-right, 0);
}

.cmsAccordion > input[type="checkbox"] ~ label::before,
.cmsAccordion > input[type="radio"] ~ label::before {	
	position: absolute;
	left: var(--cms-accordion-left, initial);
	right: var(--cms-accordion-right, initial);
	color: var(--cms-accordion-color, var(--input-color, var(--text-color)));
	content: var(--cms-accordion-content, '\25B8');
	font-size: var(--cms-accordion-fontsize, 30px);
	transition: transform 0.4s;
}

.cmsAccordion > input[type="checkbox"]:checked ~ label::before,
.cmsAccordion > input[type="radio"]:checked ~ label::before {
	transform: var(--cms-accordion-transform, rotate(90deg));
}

.cmsAccordion > input[type="checkbox"] ~ div,
.cmsAccordion > input[type="radio"] ~ div {
	overflow: auto;
	width: 100%;
	max-height: var(--cms-accordion-max-height, 400px);
	transition: max-height .4s;
}

.cmsAccordion > input[type="checkbox"]:not(:checked) ~ div,
.cmsAccordion > input[type="radio"]:not(:checked) ~ div {
	max-height: 0;
}