.grid, .mag			{ display: grid; width: 100%; grid-template-rows: auto; grid-auto-flow: row;  }
.fgrid				{ display: grid; grid-template-rows: auto; grid-auto-flow: row }
.gadr				{ grid-template-columns: minmax(min-content, max-content) min-content auto 50px repeat(2, minmax(50px, min-content)) repeat(2, minmax(50px, min-content)) repeat(2, minmax(min-content, max-content)) 50px; margin: auto; width: 100%; }
.gadn				{ grid-template-columns: minmax(min-content, max-content) min-content auto repeat(2, minmax(50px, min-content)) minmax(min-content, max-content) repeat(2, minmax(50px, min-content)) 50px; margin: auto; width: 100%; }
.r1					{ grid-row:1 }
.r2					{ grid-row:2 }
.c1					{ grid-column: 1 }
.c2					{ grid-column: 2 }

.maincol1			{ grid-column: auto; }
.maincol2			{ grid-column: auto / span 2; }
.maincol3			{ grid-column: auto / span 3; }
.maincol4			{ grid-column: auto / span 4; }
.maincol5			{ grid-column: auto / span 5; }
.maincol6			{ grid-column: auto / span 6; }
.maincol7			{ grid-column: auto / span 7; }
.maincol8			{ grid-column: auto / span 8; }
.maincol9			{ grid-column: auto / span 9; }
.maincol11			{ grid-column: auto / span 11; }
.maincol13			{ grid-column: auto / span 13; }
.maincol14			{ grid-column: auto / span 14; }

.mainrow2			{ grid-row: auto / span 2; }
.mainrow3			{ grid-row: auto / span 3; }
.mainrow9			{ grid-row: auto / span 9; }

.grid4				{ grid-template-columns: 25% 25% 25% 25%; }
.uticketlist		{ grid-template-columns: minmax(100px, min-content) auto repeat(3, minmax(min-content, max-content)) }
.uitemlist			{ grid-template-columns: minmax(100px, min-content) auto repeat(2, minmax(min-content, max-content)) }
.uticketsplit		{ align-items: start; grid-column-gap: 5px }
.gcol				{ flex: auto; align-self: stretch; }
.boxgrid			{ grid-gap: 10px }
.mtb				{ margin-top: auto; margin-bottom: auto }
.mtop				{ margin-top: auto }
.mbottom			{ margin-bottom: auto }
.hg					{ grid-template-columns: repeat(4, minmax(min-content, max-content)) }

/* Generic item positioning inside grid */
.it					{ align-content: center } 


.mobmapg			{ display: grid; grid-template-columns: 1fr 1fr; z-index: 3 }
.mobmapg .tarea		{ z-index: 2; position: relative; }
.pt4				{ padding-top: 4px; }

/* Set grid values */
.flex, .it {
	display: flex; flex-flow: row wrap; 
}
.igrid							{ display: grid; grid-template-columns: 300px auto }
.selfright						{ place-self: flex-end  }

/* tables */
@media only screen and (min-width: 701px)
{
	.gridrow						{ display: grid; grid-template-columns: auto; grid-auto-flow: column; grid-gap: 1px }
	.gridcol						{ display: grid; grid-template-rows: auto; grid-auto-flow: row; grid-gap: 1px }
	
	.seat_stats						{ grid-template-columns: auto repeat(3, minmax(min-content, max-content)); }
	.seat_stats .ga1				{ display: none; }
}

.fx								{ display: flex; }
.fx.w							{ width: 100% }
.fx.p							{ padding: 2px }
.fx.col							{ flex-flow: column nowrap; width: 100% }
.fx.bet							{ justify-content: space-evenly }
.sf								{ display: flex; min-width: auto; flex-flow: row wrap; justify-content: flex-end }
.sf.w							{ width: 100%; }

/*
	Auto rows per column (40 entries, 10 rows, 4 columns)
	display: grid; grid-template-rows: repeat(10, minmax(min-content, max-content)); grid-auto-flow: column dense;align-content: space-evenly;justify-content: space-evenly; grid-template-columns: 1fr 1fr 1fr
*/
.geintro						{ grid-template-columns: minmax(min-content, max-content) auto; grid-template-rows: 1fr; grid-column-gap: 10px; align-content: stretch; align-items: stretch; justify-items: stretch; max-width: 1000px; margin:auto }
.gesome							{ grid-template-columns: 350px auto; grid-column-gap: 10px }

.gticklist						{ grid-template-columns: auto minmax(min-content, max-content); margin: auto; max-width: 1000px; padding: 15px 0 7px 0 }
.esgrid							{ margin: auto; max-width: 1000px; grid-auto-flow: row dense }
.gridlock						{ grid-template-columns: minmax(min-content, max-content) minmax(min-content, max-content) auto; }

.glogin							{ grid-template-columns: 400px auto; grid-gap: 6px; align-items: stretch; padding: 8px; width: 100% }
.glogsome						{ grid-template-columns: repeat(3, minmax(auto, 1fr)); grid-gap: 10px; align-content: center; align-items: center; justify-content: center; width: 100% }
.preg							{ grid-template-columns: repeat(2, 150px auto); grid-gap: 5px }
.egrid.preg .eform.med			{ margin: 0 !important; }
.egrid.preg .mwc.fmids			{ align-items: stretch }
.egrid.tblsortp					{ grid-auto-flow: row dense; grid-template-columns: repeat(3, 1fr); grid-gap: 5px }

.gnw							{ display: grid; grid-auto-flow: row; grid-template-columns: repeat(auto-fill, minmax(33%, 1fr)); grid-template-rows: auto }
.gnw							{ width: inherit; grid-gap: 10px 5px; align-items: stretch; justify-items: center; position: relative; padding: 7px; }
.encomm							{ grid-template-columns: minmax(min-content, max-content) auto; grid-gap: 1px }
.egrid.somereg					{ grid-template-columns: repeat(5, minmax(min-content, 1fr)); grid-gap: 10px; align-items: center; justify-content: start }
