/*--------------------------------------------------*/
/* General Setup                                    */

	html, body, div, span, applet, object, iframe,
	h1, h2, h3, h4, h5, h6, p, blockquote, pre,
	a, abbr, acronym, address, big, cite, code,
	del, dfn, em, font, img, ins, kbd, q, s, samp,
	small, strike, strong, sub, sup, tt, var,
	dl, dt, dd, ol, ul, li,
	fieldset, form, label, legend,
	table, caption, tbody, tfoot, thead, tr, th, td {
		margin: 0;
		padding: 0;
		border: 0;
		font-size: 100%;
		vertical-align: baseline;
		background: transparent;
	}

	article, aside, figcaption, figure, footer,
	header, hgroup, main, nav, section {
		display: block;
	}

	@font-face {
		font-family: "EmpireLight";
		src: url("../../fonts/1489597385-empire-light.woff2") format("woff2"), url("../../fonts/1489597385-empire-light.woff") format("woff");
		font-weight: normal;
		font-style: normal;
		font-display: swap;
	}

	@font-face {
		font-family: "EmpireLight";
		src: url("../../fonts/1489597385-empire-medium.woff2") format("woff2"), url("../../fonts/1489597385-empire-medium.woff") format("woff");
		font-weight: bold;
		font-style: normal;
		font-display: swap;
	}

	html {
		-webkit-text-size-adjust: 100%; /* Prevent font scaling in landscape while allowing user zoom */
		font: -apple-system-body; /* Allow iOS system "larger text" to effect website */
	}

	body {
		font-family: "EmpireLight", verdana, arial, helvetica, sans-serif;
		font-size: 0.9em;
		line-height: 1.7em;
		color: #3A3F42;
		background: #FFF;
	}

	[tabindex="-1"] {
		outline: 0;
	}

	a,
	input.link_style {
		color: #9F6D04;
		text-decoration: underline;
		text-decoration-thickness: 1px;
		text-underline-offset: 0.2ex;
	}

	a:hover,
	a:focus,
	a:active,
	input.link_style:hover,
	input.link_style:focus,
	input.link_style:active {
		text-decoration-thickness: 2px;
	}

	a[href^="tel:"] {
		white-space: nowrap;
	}

	a img {
		border: 0;
	}

	input.link_style {
		display: inline-block;
		font: inherit;
		background: inherit;
		white-space: inherit;
		border: 0;
		padding: 0;
		cursor: pointer;
		user-select: text;
	}

	abbr {
		border: 0;
		text-decoration: none; /* Firefox no longer uses border */
	}

	sup {
		vertical-align: super;
		font-size: smaller;
	}

	p,
	h1,
	h2,
	h3 {
		margin: 0 0 1rem 0;
	}

	p {
		margin: 1rem 0;
		max-width: 40em;
	}

		p.single_line {
			max-width: none;
		}

	ul,
	ol {
		margin: 0 0 1em 2em;
		max-width: 38em;
	}

	hr {
		margin: 2em 0;
		border: 0;
		border-top: 2px solid #9F6D04;
	}

	hr.faded {
		border-top: 1px solid #858789;
	}

	table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	table th,
	table td {
		vertical-align: top;
	}

	em.uppercase {
		text-transform: uppercase;
		font-style: normal;
	}

	input[type="text"],
	input[type="search"],
	input[type="tel"],
	input[type="email"],
	input[type="password"],
	input[type="number"],
	textarea,
	select {
		font-size: 16px !important; /* iOS: Don't auto zoom when selecting a form field */
	}

/*--------------------------------------------------*/
/* Generic classes                                  */

	.warning,
	.warning a,
	.basic_form .error_list,
	.basic_form .error,
	.single_line_form .error_list,
	#p_home #login form .error_list {
		color: #D00;
		background: inherit;
		font-weight: bold;
	}

	a.find_out_more,
	#options_wrapper .view_basket_link a,
	#options_wrapper .add_card_link a,
	#page_header #button_login a {
		padding-right: 23px;
		line-height: 16px;
		background: url("../../img/global/1489597385-link-arrow.svg") no-repeat 100% 50%;
	}

	#options_wrapper .back_link a {
		padding-left: 7px; /* 23-16 */
		line-height: 16px;
	}

	#options_wrapper .back_link a::before {
		float: left;
		content: ' ';
		width: 16px;
		height: 14px;
		padding-top: 0.4em;
		background: url("../../img/global/1489597385-link-arrow.svg") no-repeat 50% 50%;
		transform: scaleX(-1);
	}

	a.plain_link {
		text-decoration: none;
	}

	a.plain_link:hover,
	a.plain_link:focus,
	a.plain_link:active {
		text-decoration: underline;
	}

	a.find_out_more {
		color: #9F6D04;
		text-decoration: none;
		text-transform: uppercase;
	}

	a.find_out_more:hover,
	a.find_out_more:focus,
	a.find_out_more:active {
		text-decoration: underline;
	}

	a.find_out_more span {
		position: absolute;
		left: -5000px;
	}

		html[dir="rtl"] a.find_out_more span {
			display: none;
		}

/*--------------------------------------------------*/
/* Page Frame                                       */

	/*--------------------------------------------------*/
	/* Page header                                      */

		#page_header {
			border-bottom: 2px solid #CFD6DE;
			width: 100%;
			background: #FFF;
		}

			html.header_floating #page_header {
				position: sticky;
				z-index: 2; /* Above carousel */
				top: 0;
				left: 0;
			}

		#page_header:focus {
			outline: 0;
		}

		#page_header div {
			padding: 1em 6%;
			margin: 0 auto;
			max-width: 1660px;
			display: flex;
			align-items: center;
		}

		#page_header p {
			margin: 0;
			max-width: none;
		}

		#page_header #button_nav a {
			display: block;
			width: 2em;
			height: 17px;
			text-indent: -5000px;
			background-image: url("../../img/global/1489597385-menu.gif"); /* IE9 */
			background-image: -webkit-linear-gradient(top, #000 0px, #000 3px, #FFF 3px, #FFF 7px, #000 7px, #000 10px, #FFF 9px, #FFF 14px, #000 14px, #000 17px); /* Chrome10+,Safari5.1+ */
			background-image:   linear-gradient(to bottom, #000 0px, #000 3px, #FFF 3px, #FFF 7px, #000 7px, #000 10px, #FFF 9px, #FFF 14px, #000 14px, #000 17px); /* W3C */
			background-size: 2em 17px;
			background-position: 50% 50%;
			background-repeat: no-repeat;
		}

		#page_header #button_nav a:not(:focus-visible) {
			outline: none;
		}

		#page_header #button_logo {
			flex-grow: 1;
			text-align: center;
		}

		#page_header #button_logo img {
			width: 75%;
			max-width: 300px;
			height: auto;
			vertical-align: middle;
		}

		#page_header #button_login span {
			display: block;
			text-align: right;
			margin-top: 0.5em;
		}

		#page_header #button_login span:first-child {
			margin-top: 0;
		}

		#page_header #button_login span a {
			color: inherit;
			text-transform: uppercase;
		}

		@media only screen and (max-width: 30em) {

			#page_header div {
				flex-wrap: wrap;
			}

			#page_header #button_logo {
				order: -1;
				width: 100%;
			}

			#page_header #button_nav,
			#page_header #button_login {
				padding-top: 1em; /* Not on logo; note homepage (when these are not shown), and on really narrow screens (separates nav/login) */
			}

			#page_header #button_login {
				flex-grow: 1;
			}

		}

		@media only screen and (min-width: 52em) {

			#page_header #button_nav,
			#page_header #button_login {
				width: 15em; /* When large enough, make both elements the same width, so the logo is centred */
			}

		}

	/*--------------------------------------------------*/
	/* Main navigation                                  */

		#page_navigation {
			position: fixed;
			top: 0;
			left: 0;
			z-index: 10;
			height: 100%;
			overflow: hidden;
			background: #9F6D04;
			max-width: 0;
			transition: max-width 0.3s;
			white-space: nowrap;
		}

		#page_navigation a {
			color: #FFF;
			text-decoration: none;
		}

		#page_navigation a:hover,
		#page_navigation a:focus,
		#page_navigation a:active {
			text-decoration: underline;
		}

		body.navOpen {
			overflow: hidden;
		}

		body.navOpen #page_navigation {
			width: 100%;
			max-width: none;
			overflow-y: auto;
		}

		@media only screen and (min-width: 46em) {

			body.navOpen {
				overflow: visible;
			}

			body.navOpen #page_navigation {
				width: auto;
				max-width: 20em;
			}

		}

		#page_navigation #page_navigation_close {
			padding-bottom: 1em;
		}

		#page_navigation #page_navigation_close a {
			float: left;
			padding: 1em 1em 0.5em 1em;
			margin: 0.2em 0.2em 0.5em 0.2em;
		}

		#page_navigation #page_navigation_close a:hover,
		#page_navigation #page_navigation_close a:focus,
		#page_navigation #page_navigation_close a:active {
			text-decoration: none;
		}

		#page_navigation #page_navigation_close a:not(:focus-visible) {
			outline: none;
		}

		#page_navigation #page_navigation_close a span.word {
			position: absolute;
			left: -5000px;
		}

			html[dir="rtl"] #page_navigation #page_navigation_close a span.word {
				display: none;
			}

		#page_navigation #page_navigation_close a:hover span.word,
		#page_navigation #page_navigation_close a:focus span.word,
		#page_navigation #page_navigation_close a:active span.word {
			position: static;
		}

		#page_navigation ul {
			clear: both;
			list-style: none;
			margin: 0;
			padding: 0 2em 2em 2em;
		}

	/*--------------------------------------------------*/
	/* Warning                                          */

		#page_banner p {
			background: #A00;
			color: #FFF;
			padding: 1em;
			margin: 0;
			font-size: 1.2em;
			text-align: center;
			max-width: none;
		}

	/*--------------------------------------------------*/
	/* Page content                                     */

		html.header_floating #page_content {
		}

		@media only screen and (min-width: 46em) {
			html.header_floating #page_content {
			}
		}

	/*--------------------------------------------------*/
	/* Footer                                           */

		#page_footer {
			clear: both;
		}

		#page_footer div.contact,
		#page_footer div.footer {
			overflow: auto;
			padding: 2rem 6%;
			border-top: 2px solid #9F6D04;
		}

		#page_footer div.contact {
			text-transform: uppercase;
			line-height: 1.5em;
		}

		#page_footer div.contact .details {
			margin: 0 0 1em 0;
		}

		#page_footer div.contact .details h2 {
			font-size: 1.5em;
			font-weight: normal;
		}

		#page_footer div.contact .details p,
		#page_footer div.contact .social p {
			display: inline;
			white-space: nowrap;
		}

			@media only screen and (min-width: 46em) {

				#page_footer {
					padding: 0 6%;
				}

				#page_footer div.contact,
				#page_footer div.footer {
					padding: 3rem 0;
					margin: 0 auto;
					max-width: 1660px;
				}

				#page_footer div.footer {
					padding-bottom: 0;
				}

				#page_footer div.contact .details {
					float: left;
					margin: 0;
				}

				html[dir="rtl"] #page_footer div.contact .details {
					float: right;
				}

				#page_footer div.contact .social {
					float: right;
				}

				html[dir="rtl"] #page_footer div.contact .social {
					float: left;
				}

				#page_footer div.contact .social p {
					padding-left: 0.7em;
				}

				#page_footer div.contact .details h2,
				#page_footer div.contact .details p {
					display: inline;
					padding-right: 1em;
				}

			}

		#page_footer .footer #footer_nav ul {
			margin: 0;
			list-style: none;
		}

		#page_footer .footer #footer_nav ul a {
			color: inherit;
		}

		#page_footer .footer .logo {
			text-align: center;
			margin: 0 0 2rem 0;
		}

		#page_footer .footer .logo img {
			max-width: 100%;
			height: auto;
		}

		#page_footer .footer .copyright {
			margin: 1em 0 0 0;
		}

			@media only screen and (min-width: 46em) {

				#page_footer .footer .logo {
					float: right;
					margin: 0;
				}

				html[dir="rtl"] #page_footer .footer .logo {
					float: left;
				}

				#page_footer .footer .logo img {
					width: 300px;
					height: 60px;
				}

				#page_footer .footer #footer_nav {
					padding-top: 2rem;
					clear: right;
				}

				html[dir="rtl"] #page_footer .footer #footer_nav {
					clear: left;
				}

				#page_footer .footer #footer_nav ul li {
					display: inline;
					padding: 0 0.8em;
					border-left: 1px solid #9F6D04;
				}

				html[dir="rtl"] #page_footer .footer #footer_nav ul li {
					border-left: 0;
					border-right: 1px solid #9F6D04;
				}

				#page_footer .footer #footer_nav ul li:first-child {
					padding-left: 0;
					border-left: 0;
				}

				html[dir="rtl"] #page_footer .footer #footer_nav ul li:first-child {
					padding-left: 0.8em;
					padding-right: 0;
					border-right: 0;
				}

				#page_footer .footer .copyright {
					float: right;
				}

				html[dir="rtl"] #page_footer .footer .copyright {
					float: left;
				}

			}

			@media only screen and (min-width: 70em) {

				#page_footer .footer .copyright {
					margin-top: -2.5rem;
				}

			}

/*--------------------------------------------------*/
/* Sections                                         */

	div.anchor {
		margin-top: -72px; /* (30+20+20) +2px border */
		padding-top: 72px;
	}

	div.anchor_border {
		margin-top: -70px; /* (30+20+20) +/-2px border  */
		padding-top: 70px;
	}

	div.sub_page {
		overflow: auto;
	}

	section.block div.container,
	div.sub_page div.container,
	div.double_block div.container section {
		padding: 2rem 6%;
	}

	div.double_block div.container > p.find_out_more {
		margin: -1em 0 0 0;
		padding: 0 6% 2rem 6%;
		max-width: none;
	}

	section.block div.container,
	div.double_block div.container section {
		overflow: auto;
		border-top: 2px solid #9F6D04;
	}

	#carousel section div.container,
	#p_about #groups section div.container {
		border-top: 0;
	}

		@media only screen and (min-width: 46em) {

			div.anchor {
				margin-top: -102px; /* (60+20+20) +2px border */
				padding-top: 102px;
			}

			div.anchor_border {
				margin-top: -100px; /* (60+20+20) +/-2px border */
				padding-top: 100px;
			}

			section.block,
			div.double_block,
			div.sub_page {
				padding: 0 6%;
			}

			section.block div.container,
			div.double_block div.container,
			div.sub_page div.container {
				padding: 3rem 6%;
				margin: 0 auto;
				max-width: 1660px;
			}

				div.sub_page {
					margin-bottom: 3rem;
				}

				div.sub_page div.container {
					padding-bottom: 0;
				}

			div.double_block div.container {
				overflow: auto;
				padding: 2rem 0;
				border-top: 2px solid #9F6D04;
			}

			div.double_block div.container section {
				border-top: 0;
				padding: 0;
				float: left;
				width: 48%;
			}

			div.double_block div.container div.anchor:first-child section {
				margin-right: 4%;
			}

			div.double_block div.container > p.find_out_more {
				clear: both;
				text-align: center;
				margin: 0;
				padding: 1rem 0 0 0;
			}

		}

/*--------------------------------------------------*/
/* Basic table                                      */

	.basic_table[tabindex="0"] {
		overflow: auto;
		outline: 0;
	}

	.basic_table table {
		text-align: left;
		margin: 0 0 2em 0;
		border-collapse: separate;
	}

	.basic_table.full_width table {
		width: 100%;
	}

	.basic_table.duplicate_caption caption {
		display: none;
	}

	.basic_table th,
	.basic_table td {
		padding: 0.5em 0.3em;
	}

	.basic_table th {
		background: #f5f5f5;
		padding-top: 0.2em;
		padding-bottom: 0.2em;
	}

	.basic_table tr.even td {
		background: #FBFBFB;
	}

	.basic_table[tabindex="0"]:focus thead th {
		background: #f0f0f0;
	}

/*--------------------------------------------------*/
/* Homepage                                         */

	/*--------------------------------------------------*/
	/* General items                                    */

		.h1 {
			text-transform: uppercase;
			font-weight: normal;
			font-size: 1.8em;
			line-height: 1.8em;
		}

		section.block h2,
		div.double_block h2,
		#archive section h3,
		#history section h2,
		div.sub_page.inc_sidebar div.container .sidebar h3,
		#p_home #login h1 {
			text-transform: uppercase;
			font-weight: normal;
			font-size: 1.5em;
			line-height: 1.5em;
		}

		div.sub_page .h2 {
			text-transform: uppercase;
			font-weight: normal;
			font-size: 1.3em;
			line-height: 1.3em;
		}

		div.sub_page .h3 {
			font-weight: bold;
		}

		#p_privacy_policy div.sub_page address {
			font-style: normal;
			display: block;
			padding: 0 0 0 1em;
		}

		#carousel section img,
		#groups section img,
		#portraits section img,
		#imagebank section img,
		#creative section img,
		#special section img,
		#international section img,
		#illumination section img,
		#stage section img,
		#guarantee section img,
		#gifts section img {
			display: block;
			width: 100%;
			height: auto;
		}

		section.block .content p:last-child,
		div.double_block .content p:last-child,
		#done section .container p:last-child,
		div.sub_page .content > p:last-child,
		div.sub_page .content > section:last-child > p:last-child {
			margin-bottom: 0;
			max-width: none;
		}

	/*--------------------------------------------------*/
	/* Carousel                                         */

		#carousel section p {
			text-align: center;
			text-transform: uppercase;
			padding: 2rem 0 0 0;
			margin: 0;
			font-size: 1.3em;
			max-width: none;
		}

			@media only screen and (min-width: 46em) {

				#carousel section div.container {
					padding-left: 0;
					padding-right: 0;
				}

				#carousel section p {
					padding-top: 3rem;
					font-size: 1.5em;
				}

			}

	/*--------------------------------------------------*/
	/* Groups / portraits                               */

		#groups section {
		}

		#groups section .content,
		#groups section .contact,
		#portraits section .content,
		#portraits section .contact {
			padding: 2rem 0 0 0;
		}

			@media only screen and (min-width: 46em) {

				#groups section .content,
				#groups section .contact,
				#portraits section .content,
				#portraits section .contact {
					float: left;
					padding: 3rem 0 0 0;
				}

				#groups section .content,
				#portraits section .content {
					width: 45%;
					padding-right: 5%;
				}

				#groups section .contact,
				#portraits section .contact {
					width: 50%;
				}

				#groups section .contact p,
				#portraits section .contact p {
					font-size: 1.1em;
					line-height: 1.2em;
				}

			}

			@media only screen and (min-width: 70em) {

				#groups section .content,
				#portraits section .content {
					width: 52%;
					padding-left: 3%;
					padding-right: 7%;
				}

				#groups section .contact,
				#portraits section .contact {
					width: 35%;
					padding-right: 3%;
				}

				#groups section .contact p,
				#portraits section .contact p {
					font-size: 1.3em;
					line-height: 1.5em;
				}

			}

	/*--------------------------------------------------*/
	/* Archive                                          */

		/*--------------------------------------------------*/
		/* Section                                          */

			#archive section {
				padding: 0;
				background: #F4EFDD;
			}

			#archive section h2 {
				position: absolute;
				left: -5000px;
			}

				html[dir="rtl"] #archive section h2 {
					display: none;
				}

		/*--------------------------------------------------*/
		/* Form                                             */

			#archive section form {
				background: #333 url("../../img/home/archive-form/1489597385-background.jpg") no-repeat center center;
				color: #FFF;
				text-align: center;
				padding: 4rem 0;
			}

			#archive section form p {
				max-width: none;
			}

			#archive section form p span {
				text-transform: uppercase;
				display: block;
				font-size: 1.3em;
				line-height: 1.3em;
				text-shadow: #000 0 0 3rem, #000 0 0 2.5rem, #000 0 0 2rem;
			}

			#archive section form div span.input {
				background: #FFF;
				color: #3A3F42;
				display: inline-block;
			}

			#archive section form div span.input label,
			#archive section form div span.input input,
			#archive section form div span.submit input {
				border: 0;
				padding: 0 0.4em;
				font-size: 1em;
				line-height: 2em;
				display: inline-block;
			}

			#archive section form div span.input label {
				padding-right: 0;
			}

			#archive section form div span.input input {
				box-sizing: border-box;
				width: 85%;
			}

			#archive section form div span.submit input {
				background: #9F6D04;
				color: #FFF;
				-webkit-appearance: none;
				border-radius: 0;
			}

				@media only screen and (min-width: 15em) {
					#archive section form div span.input input {
						width: 10em;
					}
				}

				@media only screen and (min-width: 46em) {

					#archive section form {
						padding: 6rem 0;
					}

					#archive section form p span {
						font-size: 2em;
						line-height: 2em;
					}

				}

		/*--------------------------------------------------*/
		/* Brands                                           */

			#archive section .brands h3 {
				margin: 1rem 0;
				text-align: center;
				font-size: 2em;
			}

			#archive section .brands .picture {
				padding: 1.2rem 18%;
			}

			#archive section .brands .picture_gillman {
				background: #FFF;
			}

			#archive section .brands .picture_panora {
				background: #20417C;
			}

			#archive section .brands .picture_hills {
				background: #FFF;
			}

			#archive section .brands .picture_john {
				background: #ECECEA;
			}

			#archive section .brands .picture > div {
				max-width: 1660px;
				margin: 0 auto;
			}

			#archive section .content {
				max-width: 28em;
				margin: 3rem auto 0 auto;
				text-align: center;
				font-size: 1.1em;
			}

		/*--------------------------------------------------*/
		/* Memories                                         */

			#archive section .memories {
				padding: 2rem 6%;
			}

			#archive section .memories_container {
				overflow: auto;
			}

				@media only screen and (min-width: 46em) {

					#archive section .memories {
						padding: 3rem 6%;
					}

					#archive section .memories_container {
						padding: 3rem 6%;
						border-top: 2px solid #9F6D04;
						border-bottom: 2px solid #9F6D04;
						margin: 0 auto;
						max-width: 1660px;
					}

				}

			#archive section .memories .picture img {
				display: block;
				width: 100%;
				height: auto;
				margin: 1em 0 0 0;
			}

				@media only screen and (min-width: 46em) {

					#archive section .memories_container {
						display: flex;
						flex-direction: row-reverse;
						align-items: center;
					}

					#archive section .memories .picture {
						width: 60%;
						float: left;
					}

					#archive section .memories .picture img {
						margin: 0 0 0 -6%; /* ((105/1660)*100)*(60/100) */
					}

					#archive section .memories .content {
						width: 40%;
						float: right;
					}

					#archive section .memories .content p {
						max-width: 25rem;
					}

				}

	/*--------------------------------------------------*/
	/* Image Bank                                       */

		#imagebank section div.container {
			border-top: 0;
		}

		#imagebank section .picture img {
			margin: 1em 0 0 0;
		}

			@media only screen and (min-width: 46em) {

				#imagebank section div.container {
					display: flex;
					align-items: center;
				}

				#imagebank section .picture {
					width: 60%;
					float: right;
				}

				#imagebank section .picture img {
					margin-top: 0;
					margin-left: auto;
					width: 93%;
				}

				#imagebank section .content {
					width: 40%;
					float: left;
				}

				#imagebank section .content h2,
				#imagebank section .content p {
					max-width: 25rem;
				}

				#imagebank section .content p {
					margin-right: 2em;
				}

			}

	/*--------------------------------------------------*/
	/* Creative and Special                             */

		#creative section .content h2,
		#special section .content h2 {
			margin: 1em 0;
		}

		#creative section .content p,
		#special section .content p {
			max-width: 37rem;
		}

	/*--------------------------------------------------*/
	/* International                                    */

		#international section .international_container {
			padding: 2rem 6%;
			border-top: 2px solid #9F6D04;
		}

		#international section .map > ul {
			margin: 1rem 0 0 0;
			list-style: none;
		}

		#international section .map > div {
			display: none;
		}

			@media only screen and (max-width: 46em) {

				#international section .map > ul li {
					display: inline;
				}

				#international section .map > ul li::after {
					content: ', ';
				}

				#international section .map > ul li:last-child::after {
					content: '.';
				}

			}

			@media only screen and (min-width: 46em) {

				#international section .international_container {
					padding: 3rem 0;
					display: flex;
					align-items: flex-end;
					margin: 0 auto;
					max-width: 1660px;
				}

				#international section .content {
					width: 70%;
					float: left;
				}

				#international section .content p {
					margin-right: 3em;
				}

				#international section .content .example img {
					width: 90%;
					width: calc(100% - 3em);
				}

				#international section .map {
					width: 30%;
					float: right;
					position: relative;
				}

				#international section .map > ul {
					position: absolute;
					top: 0;
					left: 0;
					margin: 0;
					padding: 1em;
					background: #AAA;
					background: #AAAC;
					color: #FFF;
					font-weight: bold;
					font-size: 1.1em;
				}

				#international section .map > div {
					display: block;
				}

			}

	/*--------------------------------------------------*/
	/* Done                                             */

		#done section {
			text-align: center;
		}

		#done section p span {
			display: block;
		}

	/*--------------------------------------------------*/
	/* Illumination                                     */

		#illumination section h2 {
			margin: 0;
		}

		#illumination section p {
			max-width: 75rem;
			margin: 2rem auto;
		}

	/*--------------------------------------------------*/
	/* History                                          */

		#history section {
			padding: 2rem 6%;
			background: #F4EFDD;
		}

		#history section .history_container {
			overflow: auto;
		}

			@media only screen and (min-width: 46em) {

				#history section {
					padding: 3rem 6%;
				}

				#history section .history_container {
					padding: 3rem 0;
					border-top: 2px solid #9F6D04;
					border-bottom: 2px solid #9F6D04;
					margin: 0 auto;
					max-width: 1660px;
				}

			}

		#history section .picture img {
			display: block;
			width: 100%;
			height: auto;
			margin: 0 0 1em 0;
		}

		#history section .picture p.notes {
			margin: 0;
			/* display: inline; */
			/* padding-right: 1.2em; */
		}

		#history section .picture p.notes span {
			 white-space: nowrap;
		}

			@media only screen and (min-width: 46em) {

				#history section .history_container {
					display: flex;
					flex-direction: row-reverse;
					align-items: center;
				}

				#history section .picture {
					width: 50%;
					float: left;
				}

				#history section .content {
					width: 50%;
					float: right;
				}

				#history section .content h2,
				#history section .content p {
					max-width: 30rem;
					padding-left: 10%;
				}

			}

	/*--------------------------------------------------*/
	/* Staging                                          */

		#stage section {
			padding-top: 2rem;
		}

		#stage section .picture {
			padding: 0 6%;
		}

		#stage section .container {
			border-top: 0;
		}

		#stage section .video div.video_wrapper {
			margin: 1em 0 0 0;
			width: 100%;
			position: relative;
			padding-bottom: 57.778%; /* ((416/720)*100) */
		}

		#stage section .video div.video_wrapper video,
		#stage section .video div.video_wrapper img {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}

		@media only screen and (min-width: 46em) {

			#stage section {
				padding-top: 3rem;
			}

			#stage section .picture {
				max-width: 1660px;
				padding: 0;
				margin: 0 auto;
			}

			#stage section .container {
				display: flex;
				align-items: center;
			}

			#stage section .content {
				width: 60%;
				float: left;
				align-self: flex-start;
			}

			#stage section .video {
				width: 60%;
				float: left;
				align-self: flex-start;
			}

			#stage section .video div.video_wrapper {
				margin-top: 0;
			}

			#stage section .video div.video_wrapper video.js_video {
				cursor: pointer;
			}

			#stage section .content h2,
			#stage section .content p {
				max-width: 30rem;
				margin-right: 2em;
			}

		}

	/*--------------------------------------------------*/
	/* Guarantee                                        */

		#guarantee section .picture img {
			margin: 1em 0 0 0;
		}

			@media only screen and (min-width: 46em) {

				#guarantee section .container {
					display: flex;
					flex-direction: row-reverse;
					align-items: center;
				}

				#guarantee section .picture {
					width: 45%;
					float: left;
				}

				#guarantee section .content {
					width: 55%;
					float: right;
				}

				#guarantee section .picture img {
					margin-top: 0;
				}

				#guarantee section .content h2,
				#guarantee section .content p {
					max-width: 25rem;
					padding-left: 20%;
				}

			}

	/*--------------------------------------------------*/
	/* Gifts                                            */

		#gifts section .picture img {
			margin: 1em 0 0 0;
		}

			@media only screen and (min-width: 46em) {

				#gifts section .container {
					display: flex;
					align-items: center;
				}

				#gifts section .picture {
					width: 45%;
					float: right;
				}

				#gifts section .content {
					width: 55%;
					float: left;
				}

				#gifts section .picture img {
					margin-top: 0;
				}

				#gifts section .content h2,
				#gifts section .content p {
					max-width: 25rem;
					margin-right: 2em;
				}

			}

	/*--------------------------------------------------*/
	/* Quotes                                           */

		#quotes section h2 {
			text-align: center;
			margin: 0 0 2rem 0;
		}

		#quotes section #quote_text p {
			border: 1px solid #CFD6DE;
			padding: 1rem;
		}

		#quotes section #quote_text p time {
			display: block;
			margin-top: 0.5em;
		}

			@media only screen and (min-width: 46em) {

				#quotes section h2 {
					margin-bottom: 3rem;
				}

				#quotes section #quote_text {
					display: flex;
				}

				#quotes section #quote_text p {
					float: left;
					flex-shrink: 0;
					box-sizing: border-box;
					width: 32%;
					margin-left: 2%;
				}

				#quotes section #quote_text p:first-child {
					margin-left: 0;
				}

				#quotes section #quote_text p.extra {
					display: none;
				}

					@keyframes quote_fade_out {
						from { opacity: 1; }
						to { opacity: 0; }
					}

					@keyframes quote_slide_left {
						from { margin-left: 34%; }
						to { margin-left: 0; }
					}

					@keyframes quote_fade_in {
						from { opacity: 0; }
						to { opacity: 1; }
					}

					@keyframes quote_stopped {
						0%   { background: #FFF; }
						40%  { background: #EEE; }
						100% { background: #FFF; }
					}

				#quotes section #quote_text.quote_animation_fade_out p:first-child {
					opacity: 0;
					animation-duration: 1200ms;
					animation-name: quote_fade_out;
				}

				#quotes section #quote_text.quote_animation_slide_left p:first-child {
					margin-left: 0;
					animation-duration: 900ms;
					animation-name: quote_slide_left;
				}

				#quotes section #quote_text.quote_animation_fade_in p.display {
					opacity: 1;
					animation-duration: 1200ms;
					animation-name: quote_fade_in;
				}

				#quotes section #quote_text.quote_animation_stopped p {
					animation-duration: 400ms;
					animation-name: quote_stopped;
				}

			}

/*--------------------------------------------------*/
/* Basic Form                                       */

	.basic_form fieldset {
		margin: 0 10px 1em 0;
	}

	.basic_form fieldset h2 {
		font-size: 1em;
		margin: 0;
		padding: 1em 0 0 0;
	}

	.basic_form fieldset > h2:first-child {
		padding-top: 0;
	}

	.basic_form fieldset > h2 + p {
		margin-top: 1em;
	}

	.basic_form .row,
	.basic_form .row + p {
		padding: 1em 0 0 0;
		line-height: 1.8em;
		clear: both;
	}

	.basic_form .row .label {
		display: block;
		font-weight: normal;
	}

	.basic_form .row .input sub {
		font-size: 0.8em;
	}

	.basic_form .row.radios .input,
	.basic_form .row.checkboxes .input {
		display: block;
		padding: 0 0 0 0;
	}

	.basic_form .row.info .input,
	.basic_form .row.radio .input,
	.basic_form .row.check .input {
		display: block;
		padding: 0 0 1em 1.5em;
	}

		html[dir="rtl"] .basic_form .row.info .input,
		html[dir="rtl"] .basic_form .row.radio .input,
		html[dir="rtl"] .basic_form .row.check .input {
			padding: 0 1.5em 1em 0;
		}

	.basic_form .row.check.input_first .input {
		padding: 0;
		display: inline;
	}

	.basic_form .row.check.input_first .label {
		display: inline;
	}

	@media only screen and (min-width: 46em) {
		.basic_form .row,
		.basic_form .row + p {
			padding-top: 5px;
		}
		.basic_form .row {
			padding-left: 11.5em;
		}
			html[dir="rtl"] .basic_form .row {
				padding-left: 0;
				padding-right: 11.5em;
			}
		.basic_form.label_15em .row {
			padding-left: 15.5em;
		}
			html[dir="rtl"] .basic_form.label_15em .row {
				padding-left: 0;
				padding-right: 15.5em;
			}
		.basic_form .row .label,
		.basic_form .row.input_first .input {
			float: left;
			width: 11em;
			margin: 0 0 0 -11.5em;
			text-align: right;
		}
			html[dir="rtl"] .basic_form .row .label,
			html[dir="rtl"] .basic_form .row.input_first .input {
				float: right;
				margin: 0 -11.5em 0 0;
				text-align: left;
			}
		.basic_form.label_15em .row .label,
		.basic_form.label_15em .row.input_first .input {
			width: 15em;
			margin-left: -15.5em;
		}
			html[dir="rtl"] .basic_form.label_15em .row .label,
			html[dir="rtl"] .basic_form.label_15em .row.input_first .input {
				margin-left: 0;
				margin-right: -15.5em;
			}
		.basic_form .row.info .input {
			margin-bottom: 0;
			margin-left: 0;
		}
		.basic_form .row.input_first .label {
			float: none;
			display: inline;
			width: auto;
			margin-left: 0;
			text-align: left;
		}
			html[dir="rtl"] .basic_form .row.input_first .label {
				margin-right: 0;
				text-align: right;
			}
		.basic_form .row.check.input_first .label {
			display: block;
			max-width: 20em;
		}
		.basic_form .row.info .input,
		.basic_form .row.radio .input,
		.basic_form .row.check .input {
			display: block;
			padding: 0;
		}
		.basic_form .row.radios.single_line_radios .input {
			display: inline;
			padding-right: 1em;
			white-space: nowrap;
		}
			html[dir="rtl"] .basic_form .row.radios.single_line_radios .input {
				padding-right: 0;
				padding-left: 1em;
			}
	}

	.basic_form .row.text input[type="text"],
	.basic_form .row.text input[type="tel"],
	.basic_form .row.url input[type="text"],
	.basic_form .row.email input[type="email"],
	.basic_form .row.password input[type="password"],
	.basic_form .row.number input[type="number"],
	.basic_form .row.telephone input[type="tel"],
	.basic_form .row.date input[type="text"],
	.basic_form .row.postcode input[type="text"],
	.basic_form .row textarea {
		-webkit-appearance: none;
		border: 1px solid #858789; /* var(--border-colour) */
		padding: 0.1em 0.2em;
		margin: 0; /* Chrome */
		width: 95%;
		max-width: 25em;
	}

	.basic_form .row select {
		border: 1px solid #858789; /* var(--border-colour) */
	}

	.basic_form .row.date input {
		text-align: center;
	}

	.basic_form.contact_form .row.textarea .input textarea {
		max-width: 25em;
	}

	.basic_form .submit {
		padding-bottom: 1em;
	}

	.basic_form .basic_table + .submit,
	.basic_form p + .submit {
		padding: 0;
	}

/*--------------------------------------------------*/
/* Single line form                                 */

	.single_line_form fieldset,
	.search_form fieldset {
		margin: 0 0 1em 0;
	}

	.search_form div.row {
		white-space: nowrap;
	}

	.single_line_form div,
	.search_form div {
		line-height: 1.8em;
	}

	@media screen and (min-width: 50em), print {

		.single_line_form div,
		.search_form div {
			display: inline;
		}

	}

/*--------------------------------------------------*/
/* Fixed pictures                                   */

	.picture_fixed {
		width: 100%;
		position: relative;
		padding-bottom: 100%; /* A square image, to appear wrong */
	}

	.picture_fixed.picture_fixed-100-143-320  { padding-bottom: 44.687%; } /* ((143/320)*100) */
	.picture_fixed.picture_fixed-100-320-143  { padding-bottom: 44.687%; } /* ((143/320)*100) */
	.picture_fixed.picture_fixed-100-320-150  { padding-bottom: 46.875%; } /* ((150/320)*100) */
	.picture_fixed.picture_fixed-100-320-200  { padding-bottom: 62.500%; } /* ((200/320)*100) */
	.picture_fixed.picture_fixed-100-320-214  { padding-bottom: 66.875%; } /* ((214/320)*100) */
	.picture_fixed.picture_fixed-100-320-252  { padding-bottom: 78.750%; } /* ((252/320)*100) */
	.picture_fixed.picture_fixed-100-320-313  { padding-bottom: 97.812%; } /* ((313/320)*100) */
	.picture_fixed.picture_fixed-100-1245-243 { padding-bottom: 19.518%; } /* ((243/1245)*100) */
	.picture_fixed.picture_fixed-100-1245-261 { padding-bottom: 20.963%; } /* ((261/1245)*100) */
	.picture_fixed.picture_fixed-100-1245-270 { padding-bottom: 21.686%; } /* ((270/1245)*100) */
	.picture_fixed.picture_fixed-100-1245-300 { padding-bottom: 24.096%; } /* ((300/1245)*100) */
	.picture_fixed.picture_fixed-100-1245-446 { padding-bottom: 35.823%; } /* ((446/1245)*100) */
	.picture_fixed.picture_fixed-100-1245-509 { padding-bottom: 40.884%; } /* ((509/1245)*100) */
	.picture_fixed.picture_fixed-100-1245-569 { padding-bottom: 45.703%; } /* ((569/1245)*100) */
	.picture_fixed.picture_fixed-100-1245-579 { padding-bottom: 46.506%; } /* ((579/1245)*100) */
	.picture_fixed.picture_fixed-100-1245-800 { padding-bottom: 64.257%; } /* ((800/1245)*100) */
	.picture_fixed.picture_fixed-100-1245-871 { padding-bottom: 69.959%; } /* ((871/1245)*100) */
	.picture_fixed.picture_fixed-100-1245-914 { padding-bottom: 73.413%; } /* ((914/1245)*100) */
	.picture_fixed.picture_fixed-100-1280-569 { padding-bottom: 44.453%; } /* ((569/1280)*100) */
	.picture_fixed.picture_fixed-100-1280-600 { padding-bottom: 46.875%; } /* ((600/1280)*100) */
	.picture_fixed.picture_fixed-100-1280-853 { padding-bottom: 66.641%; } /* ((853/1280)*100) */

	@media only screen and (min-width: 60em) {

		.picture_fixed.picture_fixed-60em-50-320-200 {
			width: 50%;
			padding-bottom: 31.25%; /* (((200/320)*100)/2) */
		}

	}

	.picture_fixed img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	div.picture_fixed a.large_link {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, 0); /* Get IE10 to render the link */
	}

	div.picture_fixed a.large_link {
		text-indent: -5000px;
	}

/*--------------------------------------------------*/
/* Image dialog                                     */

	.dialog_img_large_backdrop {
		display: none;
		position: fixed;
		z-index: 5; /* Above login form */
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
	}

	.dialog_img_large::backdrop {
		background: #000;
		background: rgba(0, 0, 0, 0.8);
	}

	.dialog_img_large_backdrop { /* IE10 needs to have this listed separately */
		background: #000;
		background: rgba(0, 0, 0, 0.8);
	}

	.dialog_img_large {
		display: none;
		position: absolute;
		z-index: 6; /* Above background */
		border: 3px solid #000;
		padding: 1em;
		background: #FFF;
		width: 90%;
		top: 0;
		left: 0;
		right: auto;
	}

	.dialog_img_large .picture_fixed img {
		outline: 0;
		display: block;
		cursor: pointer;
	}

	.dialog_img_large p {
		margin: 0.5em 0 0 0;
		line-height: 1em;
	}

/*--------------------------------------------------*/
/* Picture carousel                                 */

	.picture_carousel {
		position: relative;
	}

	.picture_carousel > .back,
	.picture_carousel > .next,
	.picture_carousel > .large {
		position: absolute;
		top: 0;
		width: 50px;
		height: 100%;
		text-indent: -5000px;
	}

	.picture_carousel > .back {
		left: -25px;
	}

	.picture_carousel > .next {
		right: -25px;
	}

	.picture_carousel > .large {
		width: auto;
		left: 25px;
		right: 25px;
		background: rgba(0, 0, 0, 0); /* Get IE10 to render the link */
	}

	.picture_carousel > .back::before,
	.picture_carousel > .next::before {
		content: '';
		position: absolute;
		width: 20px;
		height: 100%;
		top: 0;
		left: 0;
		background: url("../../img/global/1516969914-link-next-back-grey.gif") no-repeat 0 50%;
	}

	.picture_carousel > .next::before {
		left: auto;
		right: 0;
		background-position: -20px 50%;
	}

	.picture_carousel > .back:hover::before{
		background-position: -40px 50%;
	}

	.picture_carousel > .next:hover::before {
		background-position: -60px 50%;
	}

/*--------------------------------------------------*/
/* Indent                                           */

	#staging_extra,
	div.sub_page div.container .main_content div.section:not(:first-child) section {
		background-image: -webkit-linear-gradient(top, #9F6D04 0px, #9F6D04 2px, #FFF 3px); /* Chrome10+,Safari5.1+ */
		background-image:   linear-gradient(to bottom, #9F6D04 0px, #9F6D04 2px, #FFF 3px); /* W3C */
		background-size: 5em 2px;
		background-position: 0 1rem;
		background-repeat: no-repeat;
		padding-top: 3rem;
	}

	div.sub_page div.container .main_content > p.language_toggle_main:first-child {
		margin-top: 0;
	}

/*--------------------------------------------------*/
/* Subpage                                          */

	/*--------------------------------------------------*/
	/* Layout                                           */

		div.sub_page div.container .main_picture {
			margin: 0 0 1rem 0;
		}

		@media only screen and (min-width: 60em) {

			div.sub_page div.container .main_picture {
				margin: 0 0 4rem 0;
			}

			div.sub_page div.container .main_content section {
				clear: right;
			}

			div.sub_page div.container .main_content section .picture {
			}

		}

	/*--------------------------------------------------*/
	/* Layout inc sidebar                               */

		div.sub_page.inc_sidebar div.container .main_content {
			padding-bottom: 1rem;
			border-bottom: 2px solid #9F6D04;
		}

		div.sub_page.inc_sidebar div.container .sidebar {
			padding-top: 2rem;
		}

		div.sub_page.inc_sidebar div.container .sidebar div.section + div.section section {
			margin-top: 3rem;
		}

		div.sub_page.inc_sidebar div.container .sidebar h3 {
			margin: 1rem 0 0.6rem 0;
			font-size: 1.3em;
			line-height: 1.3em;
		}

		div.sub_page.inc_sidebar div.container .sidebar span.js_content_more_link {
			display: none;
		}

		@media only screen and (min-width: 46em) {

			div.sub_page.inc_sidebar div.container {
				padding-left: 0;
				padding-right: 0;
			}

		}

		@media only screen and (min-width: 60em) {

			div.sub_page.inc_sidebar:not(.inc_main_picture) div.container {
				 display: flex;
			}

			div.sub_page.inc_sidebar div.container .main_content {
				width: 43%; /* 55-6-6 */
				padding: 0 6%;
				margin: 0;
				float: left;
				border-bottom: 0;
				border-right: 1px solid #9F6D04;
			}

				#p_archive_search div.sub_page.inc_sidebar div.container .main_content {
					width: 58%; /* 70-6-6 */
				}

			div.sub_page.inc_sidebar div.container .sidebar {
				width: 32%; /* 100-55-6-6-1 */
				padding: 0 6%;
				float: left;
			}

				#p_archive_search div.sub_page.inc_sidebar div.container .sidebar {
					width: 17%; /* 100-70-6-6-1 */
				}

			div.sub_page.inc_sidebar div.container .sidebar span.js_content_more_link {
				display: inline;
			}

			div.sub_page.inc_sidebar div.container .sidebar .js_content_more_hidden {
				display: none;
			}

		}

	/*--------------------------------------------------*/
	/* Styles                                           */

		div.sub_page div.container .main_content section .picture {
			margin: 0 0 1em 0;
		}

		div.sub_page div.container .pull-quote p {
			margin: 2rem 0;
			font-size: 1.3em;
			line-height: 1.3em;
		}

		@media only screen and (min-width: 60em) {

		}

/*--------------------------------------------------*/
/* Login                                            */

	/*--------------------------------------------------*/
	/* Hide elements by default (no JS flicker)         */

		#p_home {
			background: #E6E6E6; /* For small screens */
		}

		#p_home.js_content_shown {
			background: #FFF;
		}

		#p_home #carousel h1,
		#p_home #carousel h2,
		#p_about #page_content h1 {
			position: absolute;
			left: -5000px;
		}

			html[dir="rtl"]#p_home #carousel h1,
			html[dir="rtl"]#p_home #carousel h2,
			html[dir="rtl"]#p_about #page_content h1 {
				display: none;
			}

		@media only screen and (min-width: 46em) {

			#p_home {
				overflow: hidden;
				overflow-y: scroll; /* Shows a null scroll bar, so when the login form is hidden, the window width does not change */
			}

			#p_home.js_content_hidden {
				background: #666; /* alpha 0.6, for when the browser does an over-scroll */
			}

			#p_home.js_content_hidden body {
				background: #FFF;
				overflow: hidden;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
			}

		}

		#p_home #page_footer,
		#p_home #debug_output {
			display: none;
		}

			#p_home.js_content_shown #page_footer,
			#p_home.js_content_shown #debug_output {
				display: block;
			}

	/*--------------------------------------------------*/
	/* Hide carousel and login link                     */

		#p_home #page_header #button_nav,
		#p_home #page_header #button_login,
		#p_home #carousel {
			display: none;
		}

			@media only screen and (min-width: 46em) {
				#p_home #page_header #button_nav,
				#p_home #page_header #button_login,
				#p_home #carousel {
					display: block;
				}
			}

			#p_home.js_content_shown #page_header #button_nav,
			#p_home.js_content_shown #page_header #button_login,
			#p_home.js_content_shown #carousel {
				display: block;
			}

	/*--------------------------------------------------*/
	/* Login form                                       */

		#p_home.js_content_shown #login {
			display: none;
		}

		#p_home #login #close {
			display: block;
			float: right;
			color: #575E70;
			margin: -1em -0.4em 0 0;
			padding: 0 0 0 1em;
			text-decoration: none;
		}

		#p_home #login form {
			background: #E6E6E6;
			padding: 1rem;
		}

			@media only screen and (min-width: 46em) {

				#p_home #login {
					position: absolute;
					z-index: 3; /* Above carousel and header */
					top: 0;
					left: 0;
					width: 100%;
					height: 100%;
					background: #000;
					background-color: rgba(0, 0, 0, 0.6);
				}

				#p_home #login #close {
					margin: -2em -1.7em 0 0;
					padding: 0;
				}

				#p_home #login form {
					position: fixed;
					z-index: 4; /* Above carousel header, and background */
					padding: 2em;
					width: 30em;
					top: 50%;
					left: 50%;
					margin: -14.8em 0 0 -17em; /* ((30+2+2)/2) */
					/* transform: translate(-50%, -50%); - might be useful, was already using negative margins */
					border: 1px solid #565F70;
				}

			}

		#p_home #login form a {
			color: #8A5D00; /* Not #9F6D04, due to colour contrast issues. */
		}

		#p_home #login form .row + .row,
		#p_home #login form .option + .row.submit,
		#p_home #login form .row + p.continue {
			padding-top: 1em;
		}

		#p_home #login form .row + p.continue {
			margin-top: 0; /*  So the link does not clear the login button */
			max-width: none;
		}

		#p_home #login form .row .label {
			display: block;
		}

		#p_home #login form .row .input input {
			display: block;
			box-sizing: border-box;
			width: 100%;
			border: 1px solid #A0A0A0;
			padding: 3px 5px;
		}

		#p_home #login form .row.submit {
			float: left;
		}

			html[dir="rtl"]#p_home #login form .row.submit {
				float: right;
			}

		#p_home #login form .row.submit input {
			background: #9F6D04;
			color: #FFF;
			border: 0;
			font-size: 1em;
			padding: 0.2em 1em;
			cursor: pointer;
			-webkit-appearance: none;
			border-radius: 0;
		}

		#p_home #login form .row.submit input:hover,
		#p_home #login form .row.submit input:focus,
		#p_home #login form .row.submit input:active {
			background: #D1A74D;
		}

		#p_home #login form p.continue {
			text-align: right;
		}

			html[dir="rtl"]#p_home #login form p.continue {
				text-align: left;
			}

		#p_home #login form p.continue span {
			clear: left;
			display: block;
			padding-top: 1em;
		}

			@media only screen and (min-width: 20em) {
				#p_home #login form p.continue span {
					clear: none;
					padding-top: 0;
				}
			}

			@media only screen and (min-width: 27em) {
				#p_home #login form p.continue span {
					display: inline;
				}
			}

		#p_home #login form p.note {
			margin: 0;
			font-size: 0.8em;
			line-height: 1.3em;
		}

		#p_home #login form p.note a {
			white-space: nowrap;
		}

		#p_home #login form p.language_toggle {
			margin: 1rem 0 0 0;
		}

		#p_home #login form p.language_toggle a {
			font-size: 1.3em;
			line-height: 0.9em
		}

		#p_home #login form p.language_toggle[lang="ar"] a {
			font-size: 1.7em;
			line-height: 0.9em
		}

	/*--------------------------------------------------*/
	/* Login 3                                          */

		#p_home #login3 .row.email {
			margin-bottom: 1em;
		}

		#p_home #login3 .row + .row.forgotPass {
			padding-top: 0.5em;
			margin-bottom: -1em;
			text-align: right;
		}

		#p_home #login3 .option .fields {
			padding: 0.6em 0 1em 2em;
		}

		#p_home #login3 .option > .fields {
			display: none;
		}

		#p_home #login3[data-mode="card"] #option_card .fields,
		#p_home #login3[data-mode="account"] #option_account .fields {
			display: block;
		}

/*--------------------------------------------------*/
/* Carousel                                         */

		@keyframes fade_in {
			from {
				opacity: 0;
			}
			to {
				opacity: 1;
			}
		}

	#p_home #carousel #carousel_slides {
		position: relative;
	}

	#p_home #carousel .slide-first {
		width: 100%;
		height: auto;
		position: relative;
		overflow: hidden;
		padding: 60.2409638554% 0 0 0; /* (100/(1245/750)) ... set the image size for slow connections */
	}

	#p_home #carousel .slide-first img {
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
	}

	#p_home #carousel .slide-animated,
	#p_home #carousel #carousel_logo {
		opacity: 0;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	#p_home #carousel .slide-animated.slide-shown,
	#p_home #carousel .started #carousel_logo {
		opacity: 1;
		animation-duration: 2500ms;
		animation-name: fade_in;
	}

	#p_home #carousel .started #carousel_logo {
		animation-duration: 10000ms;
	}

	#p_home #carousel .disable-animation .slide-animated,
	#p_home #carousel .disable-animation #carousel_logo {
		opacity: 1;
		animation-name: none;
	}

	#p_home #carousel #carousel_logo img {
		width: 70%;
		position: absolute;
		top: 50%;
		left: 15%;
		transform: translateY(-50%);
	}

/*--------------------------------------------------*/
/* Archive search                                   */

	#p_archive_search .schoolYearResults p {
		margin: 0;
	}

	#p_archive_search .contact_us a {
		white-space: nowrap;
	}

/*--------------------------------------------------*/
/* Archive search index                             */

	#p_archive_search_index p.pagination > span {
		padding: 0 0.5em;
	}

/*--------------------------------------------------*/
/* Archive details                                  */

	#p_archive_details .main_content .preview,
	#p_archive_details .main_content .purchaseLink {
		max-width: none;
	}

	#p_archive_details .main_content .preview img {
		display: block;
		margin: 0 auto;
		max-width: 100%;
	}

	#p_archive_details .main_content .purchaseLink {
		text-transform: uppercase;
		font-size: 1.3em;
		text-align: center;
		margin: 2.5em 0;
	}

	#p_archive_details .main_content .record_details p {
		margin-bottom: 0;
	}

	#p_archive_details .main_content .record_details {
		margin-bottom: 1em;
	}

/*--------------------------------------------------*/
/* Request                                          */

	#p_request_portrait .row.school {
		font-weight: bold;
	}

	#p_request_portrait .row.student_school {
		margin-top: 1.5em;
	}

	#p_request_portrait .row.js_button + .row.confirm {
		margin-top: 1.5em;
	}

/*--------------------------------------------------*/
/* Registration                                     */

	#p_register_upload .row.select .info {
		display: block;
		margin: 0 0 1em 0;
	}

	#p_register_engage .filter_table,
	#p_register_isams .filter_table {
		margin-top: 2em;
	}

	#p_register_engage .filter_table .filter_field,
	#p_register_isams .filter_table .filter_field {
		text-align: center;
		width: 4.5em;
	}

	#p_register_engage .filter_table th,
	#p_register_engage .filter_table td,
	#p_register_isams .filter_table th,
	#p_register_isams .filter_table td {
		border-right: 2px solid #FFF;
	}

	#p_register_engage .filter_table .filter_field.none,
	#p_register_isams .filter_table .filter_field.none {
		border-right-width: 10px;
	}

	#p_register_engage .filter_table .filter_field label,
	#p_register_isams .filter_table .filter_field label {
		position: absolute;
		left: -5000px;
	}

/*--------------------------------------------------*/
/* Video page                                       */

	#p_video #page_content {
		padding: 0 6%;
	}

	#p_video #page_content h1 {
		margin: 2em 0 0 0;
	}

	#p_video #page_content #video_wrapper {
		text-align: center;
	}

	#p_video #page_content video {
		margin: 1em auto 2em auto;
		max-width: 100%;
		height: auto;
	}

/*--------------------------------------------------*/
/* Cookies                                          */

	#p_cookies td.details {
		width: 1em;
		white-space: nowrap;
	}

	#p_cookies td.name {
		width: 7em;
	}

	#p_cookies td.description {
		min-width: 23em;
	}

	#p_cookies .h2 {
		margin-top: 3rem;
	}

	#p_cookies table {
		margin-bottom: 0;
	}
