/* html5 */

template {
	display: none !important;
}

/* .rig */

.rig {
	display: block;
	font-family: Arial, sans-serif;
	opacity: 1;
	visibility: visible;

	-webkit-transition-property: opacity, visibility;
	   -moz-transition-property: opacity, visibility;
	    -ms-transition-property: opacity, visibility;
	     -o-transition-property: opacity, visibility;
	        transition-property: opacity, visibility;

	-webkit-transition-duration: 100ms;
	   -moz-transition-duration: 100ms;
	    -ms-transition-duration: 100ms;
	     -o-transition-duration: 100ms;
	        transition-duration: 100ms;

	-webkit-transition-timing-function: ease-in;
	   -moz-transition-timing-function: ease-in;
	    -ms-transition-timing-function: ease-in;
	     -o-transition-timing-function: ease-in;
	        transition-timing-function: ease-in;
}

.rig * {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}

.rig.rig-loading {
	opacity: 0;
	visibility: hidden;
}


/* .rig-block */

.rig-block {
	display: block;
	position: relative;
}

/* .rig-block-tab

   Shows and hides depending on it's .rig-active state.
   */

.rig-block-tab {
	position: relative;
	display: inline-block;
	vertical-align: top;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	margin-bottom: 0.75rem;
	
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;

	visibility: hidden;
	opacity: 0;
	z-index: 1;

	-webkit-transition-property: opacity, visibility;
	   -moz-transition-property: opacity, visibility;
	    -ms-transition-property: opacity, visibility;
	     -o-transition-property: opacity, visibility;
	        transition-property: opacity, visibility;

	-webkit-transition-duration: 100ms;
	   -moz-transition-duration: 100ms;
	    -ms-transition-duration: 100ms;
	     -o-transition-duration: 100ms;
	        transition-duration: 100ms;

	-webkit-transition-timing-function: ease-in;
	   -moz-transition-timing-function: ease-in;
	    -ms-transition-timing-function: ease-in;
	     -o-transition-timing-function: ease-in;
	        transition-timing-function: ease-in;
	
	background-color: white;
}

.rig-block-tab > .rig-button-fullscreen {
	position: absolute;
	bottom: 1.125rem;
	right: 0;
}

.rig-block-tab + .rig-block-tab {
	margin-left: -100%;
}

.rig-block-tab.rig-active {
	visibility: visible;
	opacity: 1;
	z-index: 2;
}

.rig-block-tab:-webkit-full-screen {
	/*width: 100vw;*/
}

.rig-block-tab:-moz-full-screen {
	/*width: 100vw;*/
}

.rig-block-tab:-ms-fullscreen {
	/*width: 100vw;*/
}

.rig-block-tab:full-screen { /*pre-spec */
	/*width: 100vw;*/
}

.rig-block-tab:fullscreen { /* spec */
	/*width: 100vw;*/
}

/* styling the backdrop*/
.rig-block-tab::backdrop {
	background-color: white;
}

.rig-block-tab::-ms-backdrop {
	background-color: white;
}


/* .rig-index
   
   To be applied to <ul>, <ol> and <dl> elements, when you want them to
   be displayed in a non-default style. Defines styles for lists of
   inline-blocks like buttons, thumbs or toolbars, as well as lists
   with dividers. */

.rig-index {
	/* Remove default styling from list items. */
	list-style: none;
	margin: 0;
	padding: 0;
}

.rig-index > li {
	/* Specifically remove default margin and padding from
	   list items in case some typography rules have added
	   these back in after the reset. */
	margin: 0;
	padding: 0;
	
	/* Make index items act as position parents. */
	position: relative;
	
	/* If this <li> becomes an inline-block, align it to top. */
	vertical-align: top;
}

.rig-index > li:first-child {
	margin-top: 0;
}

.rig-index > li > .rig-button {
	/* Handle lists that contain just buttons. If buttons or
	   thumbs are left aligned to the baseline, there will
	   be a gap below them. */
	vertical-align: top;
}

.rig-tab-index {
	position: relative;
	z-index: 2;
}

.rig-tab-index > li {
	margin-top: 1px;
}

.rig-tab-index > li > .rig-button-tab {
	width: 100%;
}

@media screen and (max-width: 40em) {
	.rig-resp .rig-tab-index > li > .rig-button-tab {
		border-radius: 0;
	}
	
	.rig-resp .rig-tab-index > li:first-child > .rig-button-tab {
		border-top-left-radius: 0.5rem;
		border-top-right-radius: 0.5rem;
	}

	.rig-resp .rig-tab-index > li:last-child > .rig-button-tab {
		border-bottom-left-radius: 0.5rem;
		border-bottom-right-radius: 0.5rem;
	}
}

@media screen and (min-width: 40em) {
	.rig-resp .rig-tab-index {
		/* To form grids with a horizontal index, line-height
		   needs to be smaller than the items in the index. */
		line-height: 0;
	}
	
	.rig-resp .rig-tab-index > li {
		display: inline-block;
		margin-left: 0.25rem;
		/* A little margin just in case the buttons do flow
		   and get stuck together vertically. */
		margin-top: 2px;
	}
	
	.rig-resp .rig-tab-index > li:first-child {
		margin-left: 0;
		margin-top: 2px;
	}
}


/* .rig-button */

.rig-button {
	display: inline-block;
	position: relative;
	
	cursor: pointer;
	
	font-size: 0.8125rem;
	width: auto;
	/* button elements ignore line-height, centering text automaticaly. */
	line-height: 1.25rem;
	padding-top: 0.375rem;
	padding-bottom: 0.375rem;
	padding-left: 0.75em;
	padding-right: 0.75em;
	vertical-align: baseline;
	
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	text-align: center;
	text-decoration: none;

	color: white;
	background-color: #494949;
	background-repeat: no-repeat;
	border-width: 0;
	border-radius: 0.375rem;

	-webkit-background-clip: padding-box;
	   -moz-background-clip: padding-box;
	    -ms-background-clip: padding-box;
	     -o-background-clip: padding-box;
	        background-clip: padding-box;

	-webkit-background-origin: padding-box;
	   -moz-background-origin: padding;
	   -moz-background-origin: padding-box;
	    -ms-background-origin: padding-box;
	     -o-background-origin: padding-box;
	        background-origin: padding-box;
}

.rig-button:hover,
.rig-button:focus {
	/* If button is link, it may have hover styles. */
	text-decoration: none;
	background-color: #666666;
}

.rig-button-small {
	font-size: 0.625rem;
	line-height: 0.9375rem;
	padding-top: 0.3125rem;
	padding-bottom: 0.3125rem;
	width: 1.9375rem;
	text-overflow: clip;
	text-transform: uppercase;
	color: white;
	background-color: #494949;
	border-radius: 0.25rem;
}

.rig-button-small.rig-on {
	background-color: #888888;
}

.rig-button-tab {
	height: auto;
	white-space: normal;
	font-size: 1rem;
	line-height: 1.25em;
	text-align: left;
	padding-top: 0.375rem;
	padding-bottom: 0.375rem;
	padding-left: 1em;
	padding-right: 1em;
	
	border-top-left-radius: 0.5rem;
	border-top-right-radius: 0.5rem;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.rig-button-tab {
	/* Set up z-index to interact with tabs below the tab_buttons.
	   Tab buttons in the off state go under active tabs. */
	z-index: 1;
}

.rig-button-tab.rig-on,
.rig-button-tab:active {
	/* Tab buttons in the on state appear over active tabs, and
	   they should display all their text. */
	z-index: 3;
	background-color: #888888;
}

.rig-button-details {
	display: block;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0.125rem;
	padding-bottom: 0.125rem;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.125rem;
	text-align: left;
	color: inherit;
	background-color: transparent;
	/* border-bottom: 1px solid #999999; */
	border-radius: 0;
	margin-top: 1.25rem;
	overflow: visible;
}

.rig-button-details:after {
	position: absolute;
	top: 0;
	right: 0;
	width: 1rem;
	font-size: 0.75em;
	text-align: right;
	line-height: inherit;
	content: '▶';
}

.rig-button-details.rig-on,
.rig-button-details:hover {
	background-color: transparent;
}

.rig-button-details.rig-on:after {
	content: '▼';
}


/* state */

.rig-hidden {
	display: none;
}
/* hacks */

/* There's a rule in rts.css hiding h1s! What's that about?
   Nathanael says don't use <h1>s:
   https://basecamp.com/1769337/projects/5363388/documents/7113406#comment_224090696 */

/*h1 {
	display: block;
}*/

/* Text */

.rig-text-1 {
	font-size: 1.125rem;
	line-height: 1.375rem;
	font-weight: 700;
	margin-top: 0;
	margin-bottom: 0;
}

.rig-text-1 + .rig-text-1 {
	margin-top: 0;
}

.rig-text-4 {
	font-size: 1.25rem;
	line-height: 1.5rem;
	font-weight: 700;
	margin-top: 0;
}

.rig-text-5 {
	font-size: 1rem;
	line-height: 1.25rem;
	font-weight: 700;
	margin-top: 0;
}

.rig-text-6 {
	font-size: 0.9375rem;
	line-height: 1.125rem;
	margin-top: 0.75rem;
	margin-bottom: 0;
	color: #999999;
}

.rig-vote-bar + .rig-text-6 {
	margin-top: 1.5rem;
}

.rig-text-6 + .rig-vote-bar {
	margin-top: 0;
}

.rig-text-7 {
	font-size: 0.8125rem;
	font-weight: normal;
	margin-top: 0;
	margin-bottom: 0;
}

.rig-vote-bar + .rig-text-7 {
	margin-top: 0.9375rem;
}

.rig-text-8 {
	font-size: 0.75rem;
	text-transform: uppercase;
	margin-top: 0;
}

.rig-text-9 {
	font-size: 0.6875rem;
	line-height: 1.25rem;
	font-weight: 400;
	margin-top: 0;
}

@media screen and (min-width: 20em) {
	.rig-resp .rig-text-1 {
		font-size: 1.375rem;
		line-height: 1.625rem;
	}
}

@media screen and (min-width: 30em) {
	.rig-resp .rig-text-1 {
		font-size: 1.5rem;
		line-height: 1.75rem;
	}
	
	.rig-resp .rig-text-9 {
		font-size: 0.9375rem;
	}
}

.rig-number {
	/* Align numbers. */
	display: inline-block;
	min-width: 2em;
	text-align: right;
	overflow: visible;
}

.rig-canton-text {
	fill: white;
	stroke: none;
	text-anchor: middle;
	font-size: 21px;
}
.rig > .rig-key {
	display: block;
	width: 100%;
}

.rig > .rig-vote-initiative {
	margin-top: 2.5rem;
}


@media screen and (min-width: 40em) {
	.rig.rig-resp > .rig-key  {
		width: 66.6667%;
		max-width: 30rem;
	}
}


/* rig-block-tab */

.rig-block-tab {
	padding-top: 1rem;
}

.rig-block-tab > .rig-vote-bar {
	width: 100%;
}

@media screen and (min-width: 40em) {
	.rig-resp .rig-block-tab > .rig-vote-bar {
		width: 66.6667%;
		max-width: 30rem;
	}
}


/* vote-bar */
.rig-vote-bar {
	position: relative;
	height: 3.125rem;
	color: white;
	margin-top: 0.75rem;
}

.rig-vote-bar-2 {
	height: 4.5rem;
}

.rig-vote-bar-3 {
	height: 2rem;
}

.rig-vote-bar > .rig-no-bar,
.rig-vote-bar > .rig-yes-bar,
.rig-vote-bar > .rig-mid-bar {
	position: absolute;
	bottom: 0;
}

.rig-vote-bar-2 > .rig-no-bar,
.rig-vote-bar-2 > .rig-yes-bar,
.rig-vote-bar-2 > .rig-mid-bar {
	bottom: 1.5rem;
}

.rig-vote-bar > .rig-no-bar,
.rig-vote-bar > .rig-yes-bar {
	width: 50%;
}

.rig-vote-bar > .rig-no-bar  { right: 0; }
.rig-vote-bar > .rig-yes-bar { left: 0; }
.rig-vote-bar > .rig-mid-bar { left: 50%; }

.rig-vote-bar-3 > .rig-no-bar,
.rig-vote-bar-3 > .rig-yes-bar {
	height: 0.375rem;
}

.rig-vote-bar-2 > .rig-text-7 {
	position: absolute;
	left: 0;
	bottom: 0.25rem;
	width: 100%;
	color: #999999;
	text-align: center;
}

.rig-no-bar,
.rig-yes-bar {
	height: 1rem;
	margin-top: 0;
	margin-bottom: 0;
}

.rig-no-bar {
	border-left: 1px solid white;
	background-color: #be2727;
}

.rig-yes-bar {
	border-right: 1px solid white;
	background-color: #328516;
}

.rig-no-bar > .rig-text-8,
.rig-yes-bar > .rig-text-8 {
	position: absolute;
	bottom: 0;
}

.rig-no-bar > .rig-text-8,
.rig-yes-bar > .rig-text-8 {
	line-height: 1rem;
}

.rig-no-bar > .rig-text-8  { right: 0.25rem; }
.rig-yes-bar > .rig-text-8 { left: 0.25rem; }

.rig-no-bar > .rig-text-4,
.rig-yes-bar > .rig-text-4,
.rig-no-bar > .rig-text-5,
.rig-yes-bar > .rig-text-5 {
	position: absolute;
	bottom: 1rem;
}

.rig-no-bar > .rig-text-4,
.rig-no-bar > .rig-text-5 {
	right: 0;
	color: #be2727;
}

.rig-yes-bar > .rig-text-4,
.rig-yes-bar > .rig-text-5 {
	left: 0;
	color: #328516;
}

.rig-vote-bar + .rig-vote-total {
	margin-top: 0.9375rem;
}

.rig-vote-bar-3 > .rig-no-bar > .rig-text-5,
.rig-vote-bar-3 > .rig-yes-bar > .rig-text-5 {
	bottom: 0.5rem;
}

.rig-no-bar > .rig-text-7,
.rig-yes-bar > .rig-text-7 {
	position: absolute;
	top: 1.25rem;
	margin: 0;
	color: #999999;
}

.rig-no-bar > .rig-text-7 {
	right: 0;
}

.rig-yes-bar > .rig-text-7 {
	left: 0;
}

.rig-mid-bar {
	width: 0;
	height: 2rem;
	margin-left: -2px;
	border-left: 4px solid black;
}

.rig-mid-bar > .rig-text-5 {
	position: absolute;
	top: -1.125rem;
	width: 4rem;
	margin-left: -1.9375rem;
	text-align: center;
	color: black;
}

/* .rig-map-block */
.rig-map-block {
	position: relative;
	padding-top: 1px;
	margin-top:  1rem;
	max-width: 45rem;
}

.rig-map-block > .rig-map-svg {
	display: block;
	width: 108%;
	max-width: 45rem;
	height: 64vw;
	max-height: 28.75rem;
	margin-top: 0;
	margin-left: -3.75%;
	margin-right: -3.75%;

	-webkit-transition-property: margin-top;
	   -moz-transition-property: margin-top;
	    -ms-transition-property: margin-top;
	     -o-transition-property: margin-top;
	        transition-property: margin-top;

	-webkit-transition-duration: 640ms;
	   -moz-transition-duration: 640ms;
	    -ms-transition-duration: 640ms;
	     -o-transition-duration: 640ms;
	        transition-duration: 640ms;

	-webkit-transition-timing-function: ease-out;
	   -moz-transition-timing-function: ease-out;
	    -ms-transition-timing-function: ease-out;
	     -o-transition-timing-function: ease-out;
	        transition-timing-function: ease-out;
}

.rig-map-block > .rig-canton-block {
	z-index: 8;
}

.rig-map-block > .rig-active ~ .rig-map-svg {
	-webkit-transition-duration: 400ms;
	   -moz-transition-duration: 400ms;
	    -ms-transition-duration: 400ms;
	     -o-transition-duration: 400ms;
	        transition-duration: 400ms;
}

@media screen and (min-width: 40em) {
	.rig-resp .rig-map-block > .rig-map-svg {
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}
	
	.rig-resp .rig-map-block > .rig-canton-block-ag { left: 47%;   top: 4%; }
	.rig-resp .rig-map-block > .rig-canton-block-ar { left: 74%;   top: 6%; }
	.rig-resp .rig-map-block > .rig-canton-block-ai { left: 75%;   top: 6%; }
	.rig-resp .rig-map-block > .rig-canton-block-bl { left: 37%;   top: 6%; }
	.rig-resp .rig-map-block > .rig-canton-block-bs { left: 36%;   top: 2%; }
	.rig-resp .rig-map-block > .rig-canton-block-be { left: 35%;   top: 20%; }
	.rig-resp .rig-map-block > .rig-canton-block-fr { left: 25%;   top: 36%; }
	.rig-resp .rig-map-block > .rig-canton-block-ge { left: 10rem; top: 67%; }
	.rig-resp .rig-map-block > .rig-canton-block-gl { left: 68%;   top: 27%; }
	.rig-resp .rig-map-block > .rig-canton-block-gr { left: auto;  top: 31%; right: 0; }
	.rig-resp .rig-map-block > .rig-canton-block-ju { left: 25%;   top: 10%; }
	.rig-resp .rig-map-block > .rig-canton-block-lu { left: 47%;   top: 21%; }
	.rig-resp .rig-map-block > .rig-canton-block-ne { left: 10rem; top: 27%; }
	.rig-resp .rig-map-block > .rig-canton-block-nw { left: 53%;   top: 35%; }
	.rig-resp .rig-map-block > .rig-canton-block-ow { left: 49%;   top: 37%; }
	.rig-resp .rig-map-block > .rig-canton-block-sh { left: 57%;   top: -6%; }
	.rig-resp .rig-map-block > .rig-canton-block-sz { left: 61%;   top: 24%; }
	.rig-resp .rig-map-block > .rig-canton-block-sg { left: 73%;   top: 7%; }
	.rig-resp .rig-map-block > .rig-canton-block-so { left: 37%;   top: 9%; }
	.rig-resp .rig-map-block > .rig-canton-block-ti { left: 61%;   top: 54%; }
	.rig-resp .rig-map-block > .rig-canton-block-tg { left: 67%;   top: 0%; }
	.rig-resp .rig-map-block > .rig-canton-block-ur { left: 59%;   top: 37%; }
	.rig-resp .rig-map-block > .rig-canton-block-vd { left: 10rem; top: 39%; }
	.rig-resp .rig-map-block > .rig-canton-block-vs { left: 36%;   top: 63%; }
	.rig-resp .rig-map-block > .rig-canton-block-zg { left: 56%;   top: 23%; }
	.rig-resp .rig-map-block > .rig-canton-block-zh { left: 58%;   top: -1%; }
}

.rig-canton-block {
	position: absolute;
	top: 0%;
	left: 0;
	width: 100%;
	min-height: 15.3125rem;
	padding: 1.5rem;
	margin-top: -15.5rem;
	margin-bottom: 0;
	visibility: hidden;
	
	/* Create some space at the bottom of the window when districts
	   is open and the canton-block hits the bottom. */
	margin-bottom: 3rem;
	
	/* overflow: auto; */

	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);

	-webkit-transition-property: visibility, -webkit-transform;
	   -moz-transition-property: visibility,    -moz-transform;
	    -ms-transition-property: visibility,     -ms-transform;
	     -o-transition-property: visibility,      -o-transform;
	        transition-property: visibility,         transform;

	-webkit-transition-duration: 320ms;
	   -moz-transition-duration: 320ms;
	    -ms-transition-duration: 320ms;
	     -o-transition-duration: 320ms;
	        transition-duration: 320ms;

	-webkit-transition-timing-function: ease-out;
	   -moz-transition-timing-function: ease-out;
	    -ms-transition-timing-function: ease-out;
	     -o-transition-timing-function: ease-out;
	        transition-timing-function: ease-out;

	border: 1px solid #bbbbbb;
	background-color: white;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

/* Oh dear. Transitioning from a horizontal position causes
   terrible problems in mobile Chrome.
/*
.rig-canton-block-ag {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}

.rig-canton-block-ar {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}

.rig-canton-block-ai {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}

.rig-canton-block-bl {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}

.rig-canton-block-bs {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}

.rig-canton-block-be {
	-webkit-transform: translate3d(-15%, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(-15%, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(-15%, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(-15%, 12.5rem, 0) scale(0);
	        transform: translate3d(-15%, 12.5rem, 0) scale(0);
}

.rig-canton-block-fr {
	-webkit-transform: translate3d(-32%, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(-32%, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(-32%, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(-32%, 12.5rem, 0) scale(0);
	        transform: translate3d(-32%, 12.5rem, 0) scale(0);
}

.rig-canton-block-ge {
	-webkit-transform: translate3d(-48%, 18rem, 0) scale(0);
	   -moz-transform: translate3d(-48%, 18rem, 0) scale(0);
	    -ms-transform:   translate(-48%, 18rem, 0) scale(0);
	     -o-transform: translate3d(-48%, 18rem, 0) scale(0);
	        transform: translate3d(-48%, 18rem, 0) scale(0);
}

.rig-canton-block-gl {
	-webkit-transform: translate3d(22%, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(22%, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(22%, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(22%, 12.5rem, 0) scale(0);
	        transform: translate3d(22%, 12.5rem, 0) scale(0);
}

.rig-canton-block-gr {
	-webkit-transform: translate3d(35%, 16rem, 0) scale(0);
	   -moz-transform: translate3d(35%, 16rem, 0) scale(0);
	    -ms-transform:   translate(35%, 16rem, 0) scale(0);
	     -o-transform: translate3d(35%, 16rem, 0) scale(0);
	        transform: translate3d(35%, 16rem, 0) scale(0);
}

.rig-canton-block-ju {
	-webkit-transform: translate3d(-25%, 12rem, 0) scale(0);
	   -moz-transform: translate3d(-25%, 12rem, 0) scale(0);
	    -ms-transform:   translate(-25%, 12rem, 0) scale(0);
	     -o-transform: translate3d(-25%, 12rem, 0) scale(0);
	        transform: translate3d(-25%, 12rem, 0) scale(0);
}

.rig-canton-block-lu {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}

.rig-canton-block-ne {
	-webkit-transform: translate3d(-40%, 13rem, 0) scale(0);
	   -moz-transform: translate3d(-40%, 13rem, 0) scale(0);
	    -ms-transform:   translate(-40%, 13rem, 0) scale(0);
	     -o-transform: translate3d(-40%, 13rem, 0) scale(0);
	        transform: translate3d(-40%, 13rem, 0) scale(0);
}

.rig-canton-block-nw {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}

.rig-canton-block-ow {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}

.rig-canton-block-sh {
	-webkit-transform: translate3d(15%, 10rem, 0) scale(0);
	   -moz-transform: translate3d(15%, 10rem, 0) scale(0);
	    -ms-transform:   translate(15%, 10rem, 0) scale(0);
	     -o-transform: translate3d(15%, 10rem, 0) scale(0);
	        transform: translate3d(15%, 10rem, 0) scale(0);
}

.rig-canton-block-sz {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}

.rig-canton-block-sg {
	-webkit-transform: translate3d(25%, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(25%, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(25%, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(25%, 12.5rem, 0) scale(0);
	        transform: translate3d(25%, 12.5rem, 0) scale(0);
}

.rig-canton-block-so {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}

.rig-canton-block-ti {
	-webkit-transform: translate3d(15%, 18rem, 0) scale(0);
	   -moz-transform: translate3d(15%, 18rem, 0) scale(0);
	    -ms-transform:   translate(15%, 18rem, 0) scale(0);
	     -o-transform: translate3d(15%, 18rem, 0) scale(0);
	        transform: translate3d(15%, 18rem, 0) scale(0);
}

.rig-canton-block-tg {
	-webkit-transform: translate3d(25%, 11rem, 0) scale(0);
	   -moz-transform: translate3d(25%, 11rem, 0) scale(0);
	    -ms-transform:   translate(25%, 11rem, 0) scale(0);
	     -o-transform: translate3d(25%, 11rem, 0) scale(0);
	        transform: translate3d(25%, 11rem, 0) scale(0);
}

.rig-canton-block-ur {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}

.rig-canton-block-vd {
	-webkit-transform: translate3d(-40%, 16rem, 0) scale(0);
	   -moz-transform: translate3d(-40%, 16rem, 0) scale(0);
	    -ms-transform:   translate(-40%, 16rem, 0) scale(0);
	     -o-transform: translate3d(-40%, 16rem, 0) scale(0);
	        transform: translate3d(-40%, 16rem, 0) scale(0);
}

.rig-canton-block-vs {
	-webkit-transform: translate3d(-15%, 18rem, 0) scale(0);
	   -moz-transform: translate3d(-15%, 18rem, 0) scale(0);
	    -ms-transform:   translate(-15%, 18rem, 0) scale(0);
	     -o-transform: translate3d(-15%, 18rem, 0) scale(0);
	        transform: translate3d(-15%, 18rem, 0) scale(0);
}

.rig-canton-block-zg {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}

.rig-canton-block-zh {
	-webkit-transform: translate3d(0, 12.5rem, 0) scale(0);
	   -moz-transform: translate3d(0, 12.5rem, 0) scale(0);
	    -ms-transform:   translate(0, 12.5rem, 0) scale(0);
	     -o-transform: translate3d(0, 12.5rem, 0) scale(0);
	        transform: translate3d(0, 12.5rem, 0) scale(0);
}
*/

.rig-canton-block.rig-active {
	visibility: visible;

	-webkit-transform: translate3d(0, 0, 0) scale(1);
	   -moz-transform: translate3d(0, 0, 0) scale(1);
	    -ms-transform:   translate(0, 0, 0) scale(1);
	     -o-transform: translate3d(0, 0, 0) scale(1);
	        transform: translate3d(0, 0, 0) scale(1);

	-webkit-transition-timing-function: ease-in;
	   -moz-transition-timing-function: ease-in;
	    -ms-transition-timing-function: ease-in;
	     -o-transition-timing-function: ease-in;
	        transition-timing-function: ease-in;
}

.rig-canton-block.rig-active:after {
	/* Gaurantee some space under the popup. */
	content: ' ';
	position: absolute;
	bottom: -3rem;
	left: 0;
	right: 0;
	height: 1px;
	background-color: transparent;
}

@media screen and (min-width: 40em) {
	.rig-resp .rig-canton-block {
		width: 20rem;
		margin-left: -10rem;
		margin-top: -12.25rem;
	
		-webkit-transition-duration: 240ms;
		   -moz-transition-duration: 240ms;
		    -ms-transition-duration: 240ms;
		     -o-transition-duration: 240ms;
		        transition-duration: 240ms;
	}

	.rig-resp .rig-canton-block.rig-active {
		-webkit-transform: translate3d(0, -20%, 0) scale(1);
		   -moz-transform: translate3d(0, -20%, 0) scale(1);
		    -ms-transform:   translate(0, -20%, 0) scale(1);
		     -o-transform: translate3d(0, -20%, 0) scale(1);
		        transform: translate3d(0, -20%, 0) scale(1);
	}
}

.rig-map-svg {
	display: block;
	margin-top: 1.875rem;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.875rem;
}

.rig-canton-a {
	opacity: 0;
	
	-webkit-transition-property: opacity;
	   -moz-transition-property: opacity;
	    -ms-transition-property: opacity;
	     -o-transition-property: opacity;
	        transition-property: opacity;

	-webkit-transition-duration: 0ms;
	   -moz-transition-duration: 0ms;
	    -ms-transition-duration: 0ms;
	     -o-transition-duration: 0ms;
	        transition-duration: 0ms;

	-webkit-transition-timing-function: ease-in;
	   -moz-transition-timing-function: ease-in;
	    -ms-transition-timing-function: ease-in;
	     -o-transition-timing-function: ease-in;
	        transition-timing-function: ease-in;
}

.rig-canton-a:hover,
.rig-canton-a.rig-on {
	opacity: 1;

	-webkit-transition-duration: 100ms;
	   -moz-transition-duration: 100ms;
	    -ms-transition-duration: 100ms;
	     -o-transition-duration: 100ms;
	        transition-duration: 100ms;
}

.rig-canton-path,
.rig-canton-zone {
	fill: #666666;
	stroke-width: 4;
	stroke: white;
}

.rig-canton-a:hover > .rig-canton-zone.rig-fill-0, .rig-canton-a.rig-on > .rig-canton-zone.rig-fill-0 { stroke: #AE1616; }
.rig-canton-a:hover > .rig-canton-zone.rig-fill-1, .rig-canton-a.rig-on > .rig-canton-zone.rig-fill-1 { stroke: #AE1616; }
.rig-canton-a:hover > .rig-canton-zone.rig-fill-2, .rig-canton-a.rig-on > .rig-canton-zone.rig-fill-2 { stroke: #AE1616; }
.rig-canton-a:hover > .rig-canton-zone.rig-fill-3, .rig-canton-a.rig-on > .rig-canton-zone.rig-fill-3 { stroke: #AE1616; }
.rig-canton-a:hover > .rig-canton-zone.rig-fill-4, .rig-canton-a.rig-on > .rig-canton-zone.rig-fill-4 { stroke: #AE1616; }
.rig-canton-a:hover > .rig-canton-zone.rig-fill-5, .rig-canton-a.rig-on > .rig-canton-zone.rig-fill-5 { stroke: #27760C; }
.rig-canton-a:hover > .rig-canton-zone.rig-fill-6, .rig-canton-a.rig-on > .rig-canton-zone.rig-fill-6 { stroke: #27760C; }
.rig-canton-a:hover > .rig-canton-zone.rig-fill-7, .rig-canton-a.rig-on > .rig-canton-zone.rig-fill-7 { stroke: #27760C; }
.rig-canton-a:hover > .rig-canton-zone.rig-fill-8, .rig-canton-a.rig-on > .rig-canton-zone.rig-fill-8 { stroke: #27760C; }
.rig-canton-a:hover > .rig-canton-zone.rig-fill-9, .rig-canton-a.rig-on > .rig-canton-zone.rig-fill-9 { stroke: #27760C; }

.rig-canton-zone {
	cursor: pointer;
	
	-webkit-transition-property: stroke, filter;
	   -moz-transition-property: stroke, filter;
	    -ms-transition-property: stroke, filter;
	     -o-transition-property: stroke, filter;
	        transition-property: stroke, filter;

	-webkit-transition-duration: 0ms;
	   -moz-transition-duration: 0ms;
	    -ms-transition-duration: 0ms;
	     -o-transition-duration: 0ms;
	        transition-duration: 0ms;

	-webkit-transition-timing-function: ease-in;
	   -moz-transition-timing-function: ease-in;
	    -ms-transition-timing-function: ease-in;
	     -o-transition-timing-function: ease-in;
	        transition-timing-function: ease-in;
}

.rig-canton-a:hover > .rig-canton-zone,
.rig-canton-a.rig-on > .rig-canton-zone {
	stroke-width: 5;

	-webkit-transition-duration: 100ms;
	   -moz-transition-duration: 100ms;
	    -ms-transition-duration: 100ms;
	     -o-transition-duration: 100ms;
	        transition-duration: 100ms;

	-webkit-transition-timing-function: ease-out;
	   -moz-transition-timing-function: ease-out;
	    -ms-transition-timing-function: ease-out;
	     -o-transition-timing-function: ease-out;
	        transition-timing-function: ease-out;
}

.rig-canton-a.rig-on > .rig-canton-zone {
	filter: url('#dropshadow');
}

@media screen and (min-width: 40em) {
	.rig-resp .rig-canton-path,
	.rig-resp .rig-canton-zone {
		stroke-width: 2.5;
	}

	.rig-resp .rig-canton-a:hover > .rig-canton-zone,
	.rig-resp .rig-canton-a.rig-on > .rig-canton-zone {
		stroke-width: 3;
	}
}

.rig-districts-block {
	max-height: 0;
	overflow: hidden;
	
	-webkit-transition-property: max-height;
	   -moz-transition-property: max-height;
	    -ms-transition-property: max-height;
	     -o-transition-property: max-height;
	        transition-property: max-height;

	-webkit-transition-duration: 400ms;
	   -moz-transition-duration: 400ms;
	    -ms-transition-duration: 400ms;
	     -o-transition-duration: 400ms;
	        transition-duration: 400ms;

	-webkit-transition-timing-function: ease-in;
	   -moz-transition-timing-function: ease-in;
	    -ms-transition-timing-function: ease-in;
	     -o-transition-timing-function: ease-in;
	        transition-timing-function: ease-in;
}

.rig-districts-block.rig-active {
	max-height: 64rem;
}

.rig-button-details + .rig-districts-block {
	/* margin-top: 1rem; */
}

.rig-district-block {
	margin-top: 0.9375rem;
}


/* index */

.rig-canton-index {
	text-align: center;
	margin-left: -0.125rem;
	margin-right: -0.125rem;
}

.rig-canton-index > li {
	display: inline-block;
	margin-top: 0.375rem;
	margin-left: 0.125rem;
	margin-right: 0.125rem;
}

.rig-canton-index > li:first-child {
	margin-top: 0.375rem;
}

@media screen and (min-width: 40em) {
	.rig-resp .rig-canton-index {
		/* We don't need the canton buttons when
		   the map is large enough to click on it's own. */
		display: none;
	}
}


/* .rig-button */

.rig-resp .rig-button-fullscreen {
	display: none;
}

@media screen and (min-width: 40em) {
	.rig-resp .rig-button-fullscreen {
		display: inline-block;
	}
}


/* Colors */

.rig-fill-0 { fill: #be2727; }
.rig-fill-1 { fill: #d65151; }
.rig-fill-2 { fill: #e06c6c; }
.rig-fill-3 { fill: #e9a4a4; }
.rig-fill-4 { fill: #f6cfcf; }
.rig-fill-5 { fill: #d6e7d0; }
.rig-fill-6 { fill: #adcea2; }
.rig-fill-7 { fill: #84b673; }
.rig-fill-8 { fill: #5b9d45; }
.rig-fill-9 { fill: #328516; }

.rig-color-0 { color: #be2727; }
.rig-color-1 { color: #d65151; }
.rig-color-2 { color: #e06c6c; }
.rig-color-3 { color: #e9a4a4; }
.rig-color-4 { color: #f6cfcf; }
.rig-color-5 { color: #d6e7d0; }
.rig-color-6 { color: #adcea2; }
.rig-color-7 { color: #84b673; }
.rig-color-8 { color: #5b9d45; }
.rig-color-9 { color: #328516; }

.rig-bg-0 { background-color: #be2727; }
.rig-bg-1 { background-color: #d65151; }
.rig-bg-2 { background-color: #e06c6c; }
.rig-bg-3 { background-color: #e9a4a4; }
.rig-bg-4 { background-color: #f6cfcf; }
.rig-bg-5 { background-color: #d6e7d0; }
.rig-bg-6 { background-color: #adcea2; }
.rig-bg-7 { background-color: #84b673; }
.rig-bg-8 { background-color: #5b9d45; }
.rig-bg-9 { background-color: #328516; }

.rig-bg-grey { background-color: #666666; }

.rig-key {
	/* Act as position parent. */
	position: relative;
	width: 50%;
	height: 2.875rem;
	margin-top: 1.875rem;
}

.rig-key > .rig-key-cell {
	position: absolute;
	top: 0;
	width: 10%;
	height: 0.75rem;
}

.rig-key > .rig-key-cell:nth-child(1)  { left: 0; }
.rig-key > .rig-key-cell:nth-child(2)  { left: 10%; }
.rig-key > .rig-key-cell:nth-child(3)  { left: 20%; }
.rig-key > .rig-key-cell:nth-child(4)  { left: 30%; }
.rig-key > .rig-key-cell:nth-child(5)  { left: 40%; }
.rig-key > .rig-key-cell:nth-child(6)  { left: 50%; }
.rig-key > .rig-key-cell:nth-child(7)  { left: 60%; }
.rig-key > .rig-key-cell:nth-child(8)  { left: 70%; }
.rig-key > .rig-key-cell:nth-child(9)  { left: 80%; }
.rig-key > .rig-key-cell:nth-child(10) { left: 90%; }

.rig-key-cell > .rig-text-9 {
	position: absolute;
	bottom: -1.5rem;
	left: -2rem;
	width: 4rem;
	text-align: center;
	color: #999999;
}


/* Fullscreen */

.rig-block-tab:-webkit-full-screen {
	width: 100vw !important;
	height: 100vh !important;
	margin: 0 !important;
}
.rig-block-tab:-moz-full-screen {
	width: 100vw !important;
	height: 100vh !important;
	margin: 0 !important;
}
.rig-block-tab:-ms-fullscreen {
	width: 100vw !important;
	height: 100vh !important;
	margin: 0 !important;
}
.rig-block-tab:fullscreen {
	width: 100vw !important;
	height: 100vh !important;
	margin: 0 !important;
}

.rig-block-tab:-webkit-full-screen > .rig-map-block {
	width: 60%;
	height: 60%;
	max-width: 60%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
}
.rig-block-tab:-moz-full-screen > .rig-map-block {
	width: 60%;
	height: 60%;
	max-width: 60%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
}
.rig-block-tab:-ms-fullscreen > .rig-map-block {
	width: 60%;
	height: 60%;
	max-width: 60%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
}
.rig-block-tab:fullscreen > .rig-map-block { /* spec */
	width: 60%;
	height: 60%;
	max-width: 60%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
}

.rig-block-tab:-webkit-full-screen > .rig-map-block > .rig-map-svg {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
}
.rig-block-tab:-moz-full-screen > .rig-map-block > .rig-map-svg {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
}
.rig-block-tab:-ms-fullscreen > .rig-map-block > .rig-map-svg {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
}
.rig-block-tab:fullscreen > .rig-map-block > .rig-map-svg {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
}

.rig-block-tab:-webkit-full-screen > .rig-text-2,
.rig-block-tab:-webkit-full-screen > .rig-text-6,
.rig-block-tab:-webkit-full-screen > .rig-button-fullscreen,
.rig-block-tab:-webkit-full-screen > .rig-canton-index {
	display: none;
}
.rig-block-tab:-moz-full-screen > .rig-text-2,
.rig-block-tab:-moz-full-screen > .rig-text-6,
.rig-block-tab:-moz-full-screen > .rig-button-fullscreen,
.rig-block-tab:-moz-full-screen > .rig-canton-index {
	display: none;
}
.rig-block-tab:-ms-fullscreen > .rig-text-2,
.rig-block-tab:-ms-fullscreen > .rig-text-6,
.rig-block-tab:-ms-fullscreen > .rig-button-fullscreen,
.rig-block-tab:-ms-fullscreen > .rig-canton-index {
	display: none;
}
.rig-block-tab:fullscreen > .rig-text-2,
.rig-block-tab:fullscreen > .rig-text-6,
.rig-block-tab:fullscreen > .rig-button-fullscreen,
.rig-block-tab:fullscreen > .rig-canton-index {
	display: none;
}

.rig-block-tab:-webkit-full-screen > .rig-text-1 {
	text-align: center;
	margin-top: 3rem;
}
.rig-block-tab:-moz-full-screen > .rig-text-1 {
	text-align: center;
	margin-top: 3rem;
}
.rig-block-tab:-ms-fullscreen > .rig-text-1 {
	text-align: center;
	margin-top: 3rem;
}
.rig-block-tab:fullscreen > .rig-text-1 {
	text-align: center;
	margin-top: 3rem;
}

.rig-block-tab:-webkit-full-screen > .rig-text-1 + .rig-text-1 {
	margin-top: 0;
}
.rig-block-tab:-moz-full-screen > .rig-text-1 + .rig-text-1 {
	margin-top: 0;
}
.rig-block-tab:-ms-fullscreen > .rig-text-1 + .rig-text-1 {
	margin-top: 0;
}
.rig-block-tab:fullscreen > .rig-text-1 + .rig-text-1 {
	margin-top: 0;
}

.rig-block-tab:-webkit-full-screen > .rig-vote-bar {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
	width: 66.6667%;
}
.rig-block-tab:-moz-full-screen > .rig-vote-bar {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
	width: 66.6667%;
}
.rig-block-tab:-ms-fullscreen > .rig-vote-bar {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
	width: 66.6667%;
}
.rig-block-tab:fullscreen > .rig-vote-bar {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3rem;
	width: 66.6667%;
}
