/* layout */

	.L-sect:after {
		content: " ";
		visibility: hidden;
		display: block;
		clear: both;
		font-size: 0;
		height: 0;
		}
	
	.L-column{
		float:left;
		margin:0 1.5rem;
		/*border:2px solid #00f;*/
		}
		.L-column:first-child{
			margin-left:0!important;
			margin-top:0!important;
			}
		.L-column:last-child{
			margin-right:0!important;
			margin-bottom:0!important;
			}
		.L-row.L-sectcount-2 > .L-column{
			width:calc((100% / 2) - (1.5rem * 2 / 2));
			}
		.L-row.L-sectcount-3 > .L-column{
			width:calc((100% / 3) - (1.5rem * 4 / 3));
			}
		.L-row.L-sectcount-4 > .L-column{
			width:calc((100% / 4) - (1.5rem * 6 / 4));
			}
		
		.L-row.L-sectcount-2.L-columns3to1 > .L-column:nth-child(2),
		.L-row.L-sectcount-2.L-columns1to3 > .L-column:nth-child(1){
			width:calc((100% / 3) - (1.5rem * 2 / 2));
			}
		.L-row.L-sectcount-2.L-columns1to3 > .L-column:nth-child(2),
		.L-row.L-sectcount-2.L-columns3to1 > .L-column:nth-child(1){
			width:calc((100% / 3 * 2) - (1.5rem * 2 / 2));
			}
	.L-row{
		display:flex;
		flex-wrap: wrap;
		margin:2rem auto;
		/*border:2px solid #f00;*/
		}
		.L-row:first-child{
			margin-top:0!important;
			}
		.L-row:last-child{
			margin-bottom:0!important;
			}
	
	@media screen and (max-width: 1200px) {
		.L-row.L-sectcount-4 > .L-column {
			width:calc((100% / 2) - (1.5rem * 2 / 2));
		}
		.L-row.L-sectcount-4 > .L-column:nth-child(2) {
			margin-right:0;
		}
		.L-row.L-sectcount-4 > .L-column:nth-child(3) {
			margin-left:0;
		}
		.L-row.L-sectcount-4 > .L-column:nth-child(1),
		.L-row.L-sectcount-4 > .L-column:nth-child(2){
			margin-bottom:2rem;
		}
	}
	@media screen and (max-width: 1100px) {
		.L-row.L-sectcount-3 > .L-column{
			width:100%;
			margin:1rem 0;
		}
	}
	@media screen and (max-width: 1000px) {
		.L-row.L-sectcount-2.L-columns1to3 > .L-sect.L-column,
		.L-row.L-sectcount-2.L-columns3to1 > .L-sect.L-column{
			width:100%;
			margin:1rem 0;
		}
	}
	@media screen and (max-width: 800px) {
		.L-row.L-sectcount-2 > .L-sect.L-column,
		.L-row.L-sectcount-4 > .L-sect.L-column{
			width:100%;
			margin:1rem 0;
		}
	}
	
	@media screen and (min-width: 1201px) {
		.L-row.L-sectcount-4 > .L-column {
			order:0!important
		}
	}
	@media screen and (min-width: 1101px) {
		.L-row.L-sectcount-3 > .L-column{
			order:0!important
		}
	}
	@media screen and (min-width: 1001px) {
		.L-row.L-sectcount-2.L-columns1to3 > .L-sect.L-column,
		.L-row.L-sectcount-2.L-columns3to1 > .L-sect.L-column{
			order:0!important
		}
	}
	@media screen and (min-width: 801px) {
		.L-row.L-sectcount-2:not(.L-columns1to3):not(.L-columns3to1) > .L-sect.L-column,
		.L-row.L-sectcount-4 > .L-sect.L-column{
			order:0!important
		}
	}

/* common */

	.arbox:before{
		content:"";
		display:block;
		padding-top:100%;
		}
		.arboxinline > .arcontent,
		.arbox > .arcontent{
			position:absolute;
			top:0;
			left:0;
			bottom:0;
			right:0;
			}

	/* popup */

		#popup{
			height:100vh;
			width:100vw;
			position:fixed;
			top:0;
			left:0;
			z-index:9;
			background-color:rgba(0,0,0,0.66);
			opacity:1;
			transition:opacity 0.4s;
			pointer-events:none;
			opacity:0;
			}
			#popup.visible{
				pointer-events:all;
				opacity:1;
				}
		#popimagecontainer{
			height:calc(100vh - 60px);
			width:calc(100vw - 140px);
			display:block;
			position:absolute;
			top:30px;
			left:70px;
			overflow:hidden;
			}
			#popimagecontainer iframe,
			#popimagecontainer img{
				max-height:100%;
				max-width:92%;
				border:1px solid black;
				position:absolute;
				top:50%;
				left:50%;
				transform:translate(-50%, -50%);
				z-index:1;
				}
			#popimagecontainer iframe{
				height:90%;
				width:90%;
				}
			#popimagecontainer img.inleft{
				left:50%;
				animation: inleft 0.5s 1;
				z-index:2;
				}
			@keyframes inleft{ 0%{left:-50%;} 100%{left:50%;} }
			#popimagecontainer img.inright{
				left:50%;
				animation: inright 0.5s 1;
				z-index:2;
				}
			@keyframes inright{ 0%{left:150%;} 100%{left:50%;} }
			#popimagecontainer img.outleft{
				left:-50%;
				animation: outleft 0.5s 1;
				}
			@keyframes outleft{ 0%{left:50%;} 100%{left:-50%;} }
			#popimagecontainer img.outright{
				left:150%;
				animation: outright 0.5s 1;
				}
			@keyframes outright{ 0%{left:50%;} 100%{left:150%;} }
		#popupprev,
		#popupnext{
			position:fixed;
			cursor:pointer;
			-moz-user-select:none;
			user-select:none;
			z-index:6;
			width:70px;
			height:100vh;
			text-align: left;
			display:none;
			}
			.canflip #popupprev,
			.canflip #popupnext{
				display:block;
				}
			#popupprev{
				left:0;
				}
			#popupnext{
				right:0;
				}
			#popupprev img,
			#popupnext img{
				top:50%;
				left:50%;
				transition:transform 0.2s;
				transform:translate(-50%, -50%);
				}
			#popupprev:hover img,
			#popupnext:hover img{
				transform:translate(-50%, -50%) scale(1.2);
				}
		#popupinfo{
			position: fixed;
			cursor: pointer;
			-moz-user-select: none;
			user-select: none;
			z-index: 7;
			width: 70px;
			height: 70px;
			text-align: left;
			top:0;
			left:0;
			padding: 10px;
			transition:padding 0.2s;
			}
			#popupinfo:hover{
				padding: 6px;
				}
			.nocaption #popupinfo{
				opacity:0;
				}
		#popupinfocontainer{
			background: rgba(255,255,255,0.75);
			color: #000;
			position: absolute;
			bottom: 30px;
			left: 50%;
			transform: translateX(-50%);
			max-width: 100%;
			z-index: 10;
			padding: 10px 20px;
			opacity: 0;
			transition: opacity 0.2s;
			border-radius: 20px 20px 0 0;
			box-shadow: 0 0 5px rgba(0,0,0,0.5);
			}
			#popupinfocontainer.opened{
				opacity:1;
				}
			.nocaption #popupinfocontainer{
				opacity:0!important;
				}
		@media screen and (max-width: 500px){
			#popimagecontainer{
				height:calc(100vh - 100px);
				width:100vw;
				top:20px;
				left:0;
				}
			#popupprev{
				top:auto;
				bottom:0;
				height: 80px;
				width: calc(50% - 40px);
				}
			#popupnext{
				top:auto;
				bottom:0;
				height: 80px;
				width: calc(50% - 40px);
				}
			#popupinfo{
				width: 80px;
				height: 80px;
				top:auto;
				bottom:0;
				left:calc(50% - 40px);
				padding: 15px;
				}
			#popupinfo:hover{
				padding: 11px;
				}
			#popupinfocontainer{
				bottom: auto;
				top:0;
				width:90%;
				border-radius:0 0 20px 20px;
				}
		}

/* node types */
	.L-galleryimage video,
	.L-switcherimage video{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		min-width: 101%;
		min-height: 100%;
		max-width: 101%;
		object-fit: cover;
		}
	.L-galleryimage img,
	.L-switcherimage img{
		object-fit:cover;
		width: 100%;
		height: 100%;
		}
	.L-galleryimage {
		display:inline-block;
		padding:15px;
		-moz-user-select:none;
		user-select:none;
		}
		.L-gsize-manual .L-galleryimage {
			vertical-align:middle;
			}
		.L-galleryimage .L-ginner{
			display: inline-block;
			background-position:center center;
			background-repeat:no-repeat;
			background-size:cover;
			width: 100%;
			}
		.L-gallerynocrop .L-ginner{
			background-size:contain;
			}
		.L-galleryimage:hover {
			z-index:1;
			}
	.L-switcherimage {
		position:absolute;
		top:0;
		left:0;
		display:block;
		width:100%;
		height:100%;
		overflow:hidden;
		background-position:center center;
		background-size:cover;
		}
		.L-picswitcherfixed .L-switcherimage {
			background-attachment:fixed;
			}

	.L-dropbox {
		}
		.L-dropboxtitle{
			padding:10px 0 10px 30px;
			cursor:pointer;
			-moz-user-select:none;
			user-select:none;
			overflow: hidden;
			}
		.L-dropboxtitle::before{
			position:absolute;
			bottom:1em;
			left:0;
			
			content: "";
			display: inline-block;
			border-bottom: 12px solid rgb(255,0,0);
			border-right: 8px solid transparent;
			border-left: 8px solid transparent;
			}
		.L-dropbox.closed .L-dropboxtitle::before {
			border-bottom: none;
			border-top: 12px solid rgb(255,0,0);
			}
		.L-editor .L-dropboxtitle{
			padding-left:0;
			}
		.L-editor .L-dropboxtitle::before{
			display:none;
			}
		.L-dropboxcontent{
			overflow: hidden;
			transition: height 0.2s;
			transition:height 0.2s, opacity 0.3s;
			opacity:1;
			}
		.L-dropbox.closed .L-dropboxcontent {
			height:0;
			opacity:0;
			}
		.L-dropboxcontent > .L-row:first-child {
			padding-top: 20px !important;
			}
		.L-dropboxcontent > .L-row:last-child{
			padding-bottom:20px!important;
			}

	.L-swapcarousel{
		overflow-x:hidden;
		}
		.L-caitem{
			display:block;
			text-align:center;
			width:300px;
			padding:0 20px;
			font-size:1.5em;
			text-decoration:none;
			}
		.L-swapcarousel.L-animated .L-caitem{
			position:absolute;
			left:50%;
			transform:translateX(-50%);
			}
		.L-caitem .arbox{
			width:100%;
			background-size:contain;
			background-position:center center;
			background-repeat:no-repeat;
			}
		.L-catext {
			margin-top:1em;
			}

	.L-node{
		width: 100%;
		z-index:1;
		}
	
	.L-type-,
	.L-type-unknown{
		border:1px dashed #000;
		min-height: 50px;
		}
	.L-type-text {
		}
		.L-type-text li{
			margin:0.25em 0;
			}		
		.L-type-text hr{
			clear:both;
			}
	.L-type-spacer {
		}
		.L-type-spacer .L-nodecontrols {
			display:inline-block;
			}
		.L-spacerlineheight {
			width:50px;
			}
		.L-spacerdragger {
			width: 100%;
			text-align: center;
			position: absolute;
			bottom: 0;
			cursor: row-resize;
			-moz-user-select: none;
			user-select: none;
			height:20px;
			}
		.L-spacerline {
			position: absolute;
			margin: 0 auto;
			top: 50%;
			}
		.L-spacerline.dotted {
			border-top: 5px dotted #aaa;
			left: 33%;
			right: 33%;
			top: calc(50% - 2px);
			}
		.L-spacerline.short {
			border-top: 1px solid #ccc;
			max-width: 400px;
			left: 20%;
			right: 20%;
			}
		.L-spacerline.long {
			border-top: 1px solid #ccc;
			left: 0;
			right: 0;
			}
	.L-editor .L-type-plainhtml{
		height: 100%;
		}
		.L-plainhtmlinput{
			max-width: 100%;
			min-width: 100%;
			border: 3px dashed #fc0;
			min-height: 80px;
			}
	.L-type-unigallery {
		margin: -15px;
		width: calc(100% + 30px);
		text-align:center;
		}
	.L-type-embeds {
		margin: -10px;
		width: calc(100% + 20px);
		text-align:center;
		}
		.L-type-embeds .L-embed {
			margin:10px;
			display: inline-block;
			}
	
		.L-type-embeds.L-gallery100 .L-embed {
			width: calc(100% - 20px);
			}
		.L-type-embeds.L-gallery50 .L-embed {
			width: calc(50% - 20px);
			}
		.L-type-embeds.L-gallery33 .L-embed {
			width: calc(33.33% - 20px);
			}
		.L-type-embeds.L-gallery25 .L-embed {
			width: calc(25% - 20px);
			}
		.L-type-embeds.L-gallery20 .L-embed {
			width: calc(20% - 20px);
			}
		.L-type-embeds.L-gallery16 .L-embed {
			width: calc(16.66% - 20px);
			}
			
		@media screen and (max-width: 1100px){
		.L-type-embeds.L-gallery25 .L-embed,
		.L-type-embeds.L-gallery33 .L-embed {
			width: calc(50% - 20px);
			}
		}
		@media screen and (max-width: 750px){
		.L-type-embeds.L-gallery25 .L-embed,
		.L-type-embeds.L-gallery33 .L-embed,
		.L-type-embeds.L-gallery50 .L-embed {
			width: calc(100% - 20px);
			}
		}
	.L-type-picswitcher {
		height: 100%;
		}
		.L-picswitcher .L-arsizer {
			display:none;
			}
		.L-picswitcher.L-arsize .L-arsizer {
			display:block;
			}
	.L-picswitcher{
		min-height: 100px;
		}
		.L-picswitchersizer::before{
			padding-top:33%;
			}
		.L-picswitcherimages{
			position:absolute;
			width:100%;
			height:100%;
			top:0;
			left:0;
			}
		.L-switcherimage .L-covercolor {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			}
		.L-switcherimage .L-covercontent {
			position: absolute;
			top: 50%;
			left: 50%;
			transform:translate(-50%, -50%);
			}
		.L-switcherimage .L-covercontent.L-empty {
			display:none;
			}
		
		.L-picswitcher .L-picswitcherbuttons{
			position:absolute;
			bottom:10px;
			left:0;
			width:100%;
			text-align:center;
			z-index:1;
			}
		.L-picswitcher .L-picswitcherbuttons .button{
			display:inline-block;
			vertical-align:top;
			padding:10px;
			opacity:0.5;
			cursor:pointer;
			}
		.L-picswitcher .L-picswitcherbuttons:not(.L-fillbuttons) .button{
			width: auto !important;
			}
		.L-picswitcher .L-picswitcherbuttons .button::after{
			content:"";
			display:block;
			background:#fff;
			height:10px;
			width:10px;
			border-radius:100%;
			box-shadow:0 1px 4px rgba(0,0,0,0.5);
			}
		.L-picswitcher .L-picswitcherbuttons .button.active{
			opacity:1;
			}
		
		.L-picswitcher .L-picswitcherbuttons.fillbuttons{
			bottom:0;
			}
		.L-picswitcher .L-picswitcherbuttons.fillbuttons .button{
			padding:0;
			}
		.L-picswitcher .L-picswitcherbuttons.fillbuttons .button::after{
			background:#fff;
			height:4px;
			width:100%;
			border-radius:0;
			box-shadow:0 1px 4px rgba(0,0,0,0.5);
			}
		
		.L-picswitcherfadenone{
			z-index:-1;
			}
		.L-picswitcherfadeout{
			z-index:0;
			}
		.L-picswitcherfadein{
			z-index:1;
			animation:fadein 0.5s 1;
			}
		.L-picswitcherfadeinitial{
			z-index:1;
			}
		@keyframes fadein{
			0%{		opacity:0;	}
			100%{	opacity:1;	}
		}
	.L-gallerycarousel{
		overflow:hidden;
		margin-left:0!important;
		margin-right:0!important;
		}
		.L-carouselinner .L-galleryimage{
			vertical-align:middle;
			}
		.L-carouselinner{
			white-space:nowrap;
			}
		.L-carouselcontents{
			display:none;
			}

	.L-type-articles {
		text-align:center;
		}
		.L-articleshape-square,
		.L-articleshape-wide {
			margin: -10px;
			width:calc(100% + 20px);
			}
		.L-articleshape-vertical .articlelist,
		.L-articleshape-wide .articlelist {
			display:flex;
			flex-wrap:wrap;
			justify-content:center;
			}
		.L-article {
			display:block;
			text-decoration:none;
			color:#000;
			overflow:hidden;
			text-align:left;
			display:inline-block;
			max-width:100%;
			}
			.L-articleshape-normal .L-article {
				display:block;
				padding:10px;
				}
			.L-articleshape-vertical .L-article {
				padding:20px;
				width:240px;
				}
			.L-article:hover {
				background:rgba(0,0,0,0.05);
				}
			.L-articleshape-wide .L-article {
				margin: 10px;
				width: calc(50% - 20px);
				background: rgba(0,0,0,0.05);
				padding:0;
				}
			.L-articleshape-square .L-article {
				margin: 10px;
				width: 200px;
				background: rgba(0,0,0,0.05);
				}
			.L-articleshape-square.L-imagesenabled .L-article,
			.L-articleshape-wide.L-imagesenabled .L-article {
				color: #fff;
				text-shadow: 0 0 3px rgba(0,0,0,0.75);
				}
			.L-articleshape-wide.L-imagesenabled .L-article {
				min-height:200px;
				}
			.L-articleshape-square .L-article::before {
				content: "";
				display:block;
				visibility: hidden;
				padding-top:100%;
				}
		.L-article-image {
			display:none;
			background-color: #aaa;
			background-position: center center;
			background-size: cover;
			background-repeat: no-repeat;
			width: 100%;
			height:100%;
			}
			.L-editor .L-article-image {
				background: #ddd;
				}
			.L-imagesenabled .L-article-image {
				background-color: #ddd;
				display:block;
				}
			.L-articleshape-normal .L-article-image {
				float: left;
				width: 100px;
				height: 100px;
				}
			.L-articleshape-vertical .L-article-image {
				height: 200px;
				}
			.L-articleshape-square .L-article-image,
			.L-articleshape-wide .L-article-image {
				position:absolute;
				top:0;left:0;right:0;bottom:0;
				}
		.L-article-contents {
			width: 100%;
			font-size: 0.8em;
			}
			.L-articleshape-normal .L-article-contents {
				padding:10px 20px 15px;
				}
			.L-articleshape-normal.L-imagesenabled .L-article-contents {
				float: left;
				width: calc(100% - 100px);
				padding: 0 0 10px 15px;
				}
			.L-articleshape-vertical.L-imagesenabled .L-article-contents {
				padding:10px 0 0;
				}
			.L-articleshape-square .L-article-contents {
				position:absolute;
				top:0;left:0;right:0;bottom:0;
				height:100%;
				}
			.L-articleshape-square .L-article-contents {
				padding:20px;
				}
			.L-articleshape-wide .L-article-contents {
				padding:20px 25px 30px;
				}
		.L-article .L-article-contents .L-article-title {
			font-size:1.5em!important;
			font-weight:bold;
			margin-top:0!important;
			margin-bottom:0!important;
			display:none;
			overflow-wrap:break-word;
			}
			.L-titleenabled .L-article .L-article-contents .L-article-title {
				display:block;
				}
		.L-article-date {
			font-size: 0.9em;
			font-style:italic;
			display:none;
			}
			.L-dateenabled .L-article-date {
				display:block;
				}
		.L-article-excerpt {
			margin:0.5em 0 0;
			display:none;
			}
			.L-excerptenabled .L-article-excerpt {
				display:block;
				}
		
		.L-type-articles:not(.L-articleshape-line) wbr{
			display:none;
			}
		.L-articleshape-line .L-article{
			width:100%;
			padding:0.5em 1em;
			transition:background-color 0.2s;
			}
			.L-articleshape-line.L-imagesenabled .L-article-contents {
				max-width: calc(100% - 1rem - 30px);
				overflow-wrap:break-word;
				}
			.L-articleshape-line .L-article-image {
				float:left;
				width:30px;
				height:30px;
				margin-right:1rem;
				}
			.L-articleshape-line .L-article-contents .L-article-title,
			.L-articleshape-line .L-article-date,
			.L-articleshape-line .L-article-excerpt {
				display: inline!important;
				vertical-align: baseline;
				margin: 0 1rem 0 0;
				}
			.L-articleshape-line .L-article-date {
				font-size:0.8em;
				opacity:0.5;
				}
			.L-articleshape-line .L-article-contents .L-article-title {
				font-size:1.2em!important;
				}
		
		.L-editor .L-articleshape-square.L-imagesenabled .L-article *,
		.L-editor .L-articleshape-wide.L-imagesenabled .L-article * {
			color: #fff;
			}
		
		@media screen and (max-width: 850px) {
			.L-articleshape-wide .L-article {
				margin: 10px;
				width: calc(100% - 20px);
				}
		}
	.L-type-dropboxes {
		}