/*
	TRIGGERS
*/

.trigger {
	display:									none;
}

.trigger + .trigger-reveal,
.trigger ~ .trigger-reveal {
	display:									none;
}

.trigger:checked + .trigger-reveal,
.trigger:checked ~ .trigger-reveal {
	display:									block;
}

.trigger ~ .triggerdismiss {
	display:									block;
}

.trigger:checked ~ .triggerdismiss {
	display:									none;
}

/*
	LISTS
*/

.nolist {
	list-style:								none;
}

/*
	FONT FAMILIES
*/

.opensans {
	font-family:							'Open Sans', Helvetica, Arial, san-serif;
}

/*
	FONT SIZES
*/

.inheritsize {
	font-size:								inherit;
}

.size-0750 {
	font-size: 								0.750rem;
}

.size-0813 {
	font-size: 								0.813rem;
}

.size-0875,
.small {
	font-size: 								0.875rem;
}

.size-0938 {
	font-size:								0.938rem;
}

.size-1,
.regular {
	font-size:								1rem;
}

.size-1063 {
	font-size: 								1.063rem;
}

.size-1125 {
	font-size: 								1.125rem;
}

.size-1250 {
	font-size: 								1.250rem;
}

.size-1375 {
	font-size: 								1.375rem;
}

.size-1500 {
	font-size: 								1.500rem;
}

.size-1625 {
	font-size: 								1.625rem;
}

.size-1750 {
	font-size: 								1.750rem;
}

.size-1875 {
	font-size: 								1.875rem;
}

.size-1938 {
	font-size: 								1.938rem;
}

.size-2 {
	font-size: 								2rem;
}

.size-2500 {
	font-size: 								2.500rem;
}

.size-3125 {
	font-size: 								3.125rem;
}

.size-3625 {
	font-size:								3.625rem;
}

/*
	FONT STYLES
*/

.uppercase {
	text-transform:						uppercase;
}

.normal {
	font-weight:							400;
}

.medium {
	font-weight:							500;
}

.semibold {
	font-weight:							600;
}

.bold {
	font-weight:							700;
}

.extrabold {
	font-weight:							800;
}

.italic {
	font-style:								italic;
}

.nowrap {
	white-space:							nowrap;
}

.normalwrap {
	white-space:							normal;
}

/*
	ALIGNMENT
*/

.clear {
	clear:									both;
}

.left {
	float:									left;
}

.right {
	float:									right;
}

.alignleft {
	text-align:								left;
}

.alignright {
	text-align:								right;
}

.aligncenter {
	text-align:								center;
}

img.alignleft {
	float:									left;
	margin:									0 0.625rem 0.625rem 0;
}

img.alignright {
	float:									right;
	margin:									0 0 0.625rem 0.625rem;
}

.hidetext {
	font-size:								0;
	text-indent:							-999rem;
	overflow:								hidden;
}

.lineheight {
	line-height:							normal;
}

/*
	VERTICAL ALIGNMENT
*/

.aligntop {
	vertical-align:						top;
}

.alignbottom {
	vertical-align:						bottom;
}

.alignmiddle {
	vertical-align:						middle;
}

/*
	CENTRE VERTICALLY
*/

.middleparent {
	display:									-ms-flexbox;
	display:									-webkit-flex;
	display:									flex;

	-ms-flex-align:						center;
	-webkit-align-items:					center;
	-webkit-box-align:					center;

	align-items:							center;
}

/*
	COLOURS
*/

.white,
.whitehover:hover {
	color:									#FFFFFF;
}

.black,
.blackhover:hover {
	color:									#000000;
}

.darkestgrey,
.darkestgreyhover:hover {
	color:									#181818;
}

.darkgrey,
.darkgreyhover:hover {
	color:									#333333;
}

.midgrey,
.midgreyhover:hover {
	color:									#5F5F5F;
}

.midgrey2,
.midgrey2hover:hover {
	color:									#767676;
}

.grey,
.greyhover:hover {
	color:									#ACACAC;
}

.lightgrey,
.lightgreyhover:hover {
	color:									#CDD1D5;
}

.lightergrey,
.lightergreyhover:hover {
	color:									#DBDBDB;
}

.lightestgrey,
.lightestgreyhover:hover {
	color:									#F8F8F8;
}

.red,
.redhover:hover {
	color:									#D0021B;
}

.spotcolor,
.spotcolorhover:hover {
	color:									#9033A9;
}

.secondarycolor,
.secondarycolorhover:hover {
	color:									#F7551E;
}

/*
	BACKGROUNDS
*/

.whitebg,
.whitebghover:hover {
	background-color:						#FFFFFF;
}

.blackbg,
.blackbghover:hover {
	background-color:						#000000;
}

.transparentbg,
.transparentbghover:hover {
	background-color:						transparent;
}

.darkestgreybg,
.darkestgreybghover:hover {
	background-color:						#181818;
}

.darkgreybg,
.darkgreybghover:hover {
	background-color:						#333333;
}

.midgreybg,
.midgreybghover:hover {
	background-color:						#5F5F5F;
}

.midgrey2bg,
.midgrey2bghover:hover {
	background-color:						#767676;
}

.greybg,
.greybghover:hover {
	background-color:						#ACACAC;
}

.lightgreybg,
.lightgreybghover:hover {
	background-color:						#CDD1D5;
}

.lightergreybg,
.lightergreybghover:hover {
	background-color:						#DBDBDB;
}

.lightestgreybg,
.lightestgreybghover:hover {
	background-color:						#F8F8F8;
}

.redbg,
.redbghover:hover {
	background-color:						#D0021B;
}

.spotcolorbg,
.spotcolorbghover:hover {
	background-color:						#9033A9;
}

.secondarycolorbg,
.secondarycolorbghover:hover {
	background-color:						#F7551E;
}

/*
	MARGINS
*/

.automargin {
	margin-left:							auto;
	margin-right:							auto;
}

.topbottommargin {
	margin-top:								0.625rem;
	margin-bottom:							0.625rem;
}

.notopmargin {
	margin-top:								0;
}

.nobottommargin {
	margin-bottom:							0;
}

.noleftmargin {
	margin-left:							0;
}

.norightmargin {
	margin-right:							0;
}

.nomargin {
	margin:									0;
}

.nudgetop {
	margin-top: 							2.500rem;
}

.nudgebottom {
	margin-bottom: 						2.500rem;
}

/*
	PADDING
*/

.padding-1 {
	padding:									1rem;
}

.padding-1250 {
	padding:									1.250rem;
}

.padding-2500 {
	padding:									2.500rem;
}

.padding-4 {
	padding:									4rem;
}

.topbottompadding {
	padding-top:							1rem;
	padding-bottom:						1rem;
}

.sectionpadding {
	padding-top:							5rem;
	padding-bottom:						5rem;
}

.notoppadding {
	padding-top:							0 !important;
}

.nobottompadding {
	padding-bottom:						0 !important;
}

.notopbottompadding {
	padding-top:							0 !important;
	padding-bottom:						0 !important;
}

.nosidepadding {
	padding-left:							0 !important;
	padding-right:							0 !important;
}

.nopadding {
	padding:									0;
}

/*
	BORDERS
*/

.circle {
	position:								relative;
	border-radius:							50%;
	overflow:								hidden;
	z-index: 								0;			/* Stacking context with relative position stops iOS Safari from screwing up circles with children/borders */
}

.rounded {
	border-radius:							0.250rem;
}

.extra-rounded {
	border-radius:							0.563rem;
}

.noborder {
	border:									none;
}

.allborders {
	border-style:							solid;
}

.topborder {
	border-top-style:						solid;
}

.bottomborder {
	border-bottom-style:					solid;
}

.leftborder {
	border-left-style:					solid;
}

.rightborder {
	border-right-style:					solid;
}

.border-1 {
	border-width:							1px;
}

.border-2 {
	border-width:							2px;
}

.border-3 {
	border-width:							3px;
}

.border-4 {
	border-width:							4px;
}

.lightergreyborder {
	border-color:							#DBDBDB;
}

.lightestgreyborder {
	border-color:							#EEEEEE;
}

.greyborder {
	border-color:							#E7E9E0;
}

.spotcolorborder {
	border-color:							#9033A9;
}

.secondarycolorborder {
	border-color:							#F7551E;
}

.transparentborder {
	border-color:							transparent;
}

.nounderline {
	text-decoration:						none;
}

.underline {
	text-decoration:						underline;
}

/*
	DISPLAY
*/

.inline {
	display:									inline;
}

.inlineblock {
	display:									inline-block;
}

.block {
	display:									block;
}

.hide {
	display:									none !important;
}

.fullwidth {
	width:									100%;
}

.autowidth {
	width:									auto;
}

.fullheight {
	height:									100%;
}

.nooverflow {
	overflow:								hidden;
}

/*
	POSITIONS
*/

.absolute {
	position:								absolute !important;
}

.absolutefill {
	top:										0;
	left:										0;
	bottom:									0;
	right:									0;
}

.absolutetopleft {
	top:										0;
	left:										0;
}

.relative {
	position:								relative !important;
}

.fixed {
	position:								fixed !important;
}

/*
	INTERACTIVITY
*/

.showhand {
	cursor:									pointer;
}

.noclick {
	pointer-events:						none;
}

/*
	TRANSITIONS
*/

.ease, .ease * {
	-webkit-transition:					all 0.4s ease;
	transition:								all 0.4s ease;
}

.easeout, .easeout * {
	-webkit-transition:					all 0.4s ease-out;
	transition:								all 0.4s ease-out;
}

.easeoutquint, .easeoutquint * {
	-webkit-transition:					all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
	transition:								all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}

.ease-elastic {
	-webkit-transition:					all 0.5s cubic-bezier(0, 1.92, 0.43, 0.65);
	transition:								all 0.5s cubic-bezier(0, 1.92, 0.43, 0.65);
}

.fastease, .fastease * {
	-webkit-transition-duration:		0.25s;
	transition-duration:					0.25s;
}

.slowease, .slowease * {
	-webkit-transition-duration:		1s;
	transition-duration:					1s;
}

.transformcenter {
	-webkit-transform-origin:			50%;
	transform-origin:						50%;
}

/*
	NO TRANSITIONS
*/

.notransition {
	-webkit-transition:					none !important;
	transition:								none !important;
}

/*
	TRANSITIONS
	
   animation-name: none
   animation-duration: 0s
   animation-timing-function: ease
   animation-delay: 0s
   animation-iteration-count: 1
   animation-direction: normal
   animation-fill-mode: none
   animation-play-state: running

*/

.transparent,
.invisible {
	opacity:									0;
}

.fadeout {
	-webkit-animation:					fadeOut 1s ease-out forwards;
	animation:								fadeOut 1s ease-out forwards;
}

.fadein {
	-webkit-animation:					fadeIn 1s ease-out forwards;
	animation:								fadeIn 1s ease-out forwards;
}

.delay.s025 {
	-webkit-transition-delay:			0.25s;
	transition-delay:						0.25s;
	
	-webkit-animation-delay:			0.25s;
	animation-delay:						0.25s;
}

.delay.s05 {
	-webkit-transition-delay:			0.5s;
	transition-delay:						0.5s;

	-webkit-animation-delay:			0.5s;
	animation-delay:						0.5s;
}

.delay.s1 {
	-webkit-transition-delay:			1s;
	transition-delay:						1s;

	-webkit-animation-delay:			1s;
	animation-delay:						1s;
}

/*
	Fade out and down
*/

@keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; } }
@-webkit-keyframes fadeOut { 0% { opacity: 1; } 100% { opacity: 0; } }

/*
	Fade in and up
*/

@keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } }
@-webkit-keyframes fadeIn { 0% { opacity: 0; } 100% { opacity: 1; } }

/*
	CUSTOM DROPDOWNS
*/

.customdropdown {
	position:								relative;
}

.customdropdown:after {
	content:									'';
	position:								absolute;
	top:										50%;
	right:									1rem;
	width:									0.625rem;
	height:									0.625rem;
	margin-top:								-0.500rem;
	border-left:							0.125rem solid;
	border-bottom:							0.125rem solid;
	-webkit-transform:					rotate(-45deg);
	transform:								rotate(-45deg);
	pointer-events:						none;
}

.customdropdown select {
	padding-left:							1rem;
	padding-right:							1.375rem;
	background-color:						#F4F4F4;
	outline:									none;
	-webkit-appearance:					none;
	-moz-appearance:						none;
	appearance:								none;
}

/*
	ELEMENTS
*/

::selection {
	background:								#9033A9;
	color:									#FFFFFF;
}
::-moz-selection {
	background:								#9033A9;
	color:									#FFFFFF;
}

* {
	-webkit-box-sizing:					border-box;
	-moz-box-sizing:						border-box;
	box-sizing:								border-box;
}

h1, h2, h3, h4, h5 {
	font-weight:							400;
}

h3 {
	font-size:								1.070rem;
}

a {
	color:									inherit;
	-webkit-transition:					all 0.3s linear;
	-moz-transition:						all 0.3s linear;
	-o-transition:							all 0.3s linear;
	transition:								all 0.3s linear;
}

a:hover {
	color:									inherit;
}

b, strong {
	
}

blockquote {
	margin:									2.250rem 0;
	padding-left:							2.250rem;
	border-left:							0.125rem solid #F7551E;
	font-size:								1.250rem;
	color:									#929292;
}

hr {
	width:									100%;
	border:									none;
	border-top-width: 					1px;
	border-top-style:						solid;
	margin:									2.500rem 0;
	color:									#DBDBDB;
	background-color:						transparent;
	clear:									both;
}

iframe {
	border:									none;
}

input, 
textarea, 
select {
	display:									block;
	width:									100%;
	padding:									0.750rem 1rem;
	background-color:						#F4F4F4;
	border:									1px solid transparent;
	font-family:							'Open Sans', Helvetica, Arial, san-serif;
	font-size:								inherit;
	-webkit-transition:					all 0.5s ease;
	-moz-transition:						all 0.5s ease;
	-o-transition:							all 0.5s ease;
	transition:								all 0.5s ease;
	resize:									none;
	-webkit-appearance:					none;
}

input[type="checkbox"],
input[type="radio"] {
	width:									auto;
}

textarea {
	margin:									0;
	padding:									0.500rem 0.563rem;
}

input:focus,
textarea:focus,
select:focus {
	
}

input[type="number"]::-webkit-inner-spin-button, 
input[type="number"]::-webkit-outer-spin-button { 
	-webkit-appearance:					none;
	margin:									0;
}

input[type="number"] {
	-moz-appearance:						textfield;
}

/*
input[type="number"]:hover,
input[type="number"]:focus {
	-moz-appearance:						number-input;
}
*/

::-webkit-input-placeholder {
	color:									#DEDEDE;
	opacity:									1;
}
:-moz-placeholder {
	color:									#DEDEDE;
	opacity:									1;
}
::-moz-placeholder {
	color:									#DEDEDE;
	opacity:									1;
}
:-ms-input-placeholder {
	color:									#DEDEDE;
	opacity:									1;
}

input.error, textarea.error, select.error {
	border-color:							#F54F4F;
}

button, 
input.button,
.button {
	min-width:								12.500rem;
	padding:									1rem 1.500rem;
	border-radius:							1.563rem;
	font-family:							'Open Sans', Helvetica, Arial, san-serif;
	text-align:								center;
	text-decoration:						none;
	cursor:									pointer;
	-webkit-transition:					all 0.2s linear;
	-moz-transition:						all 0.2s linear;
	-o-transition:							all 0.2s linear;
	transition:								all 0.2s linear;
}

/*	Get rid of weird internal padding in Firefox for buttons */

button::-moz-focus-inner {
    padding:								0;
    border:									0;
}

/*
	Only kill the border buttons with NO border classes
*/

button:not([class*="border"]), 
input.button:not([class*="border"]),
.button:not([class*="border"]) {
	border:									none;
}

button:hover, .button:hover {
	
}

a.button {
	display:									inline-block;
	text-decoration:						none;
}

button.smallbutton,
.button.smallbutton {
	min-width:								0;
	padding:									0.500rem 2.250rem;
}

button.linkstyle,
button.linkstyle:hover {
	padding:									0;
	border:									none;
	background-color:						transparent;
	font-family:							inherit;
}

button:not(.text-style):disabled, button:not(.text-style):disabled:hover,
.button:not(.text-style).disabled, .button:not(.text-style).disabled:hover {
	background-color:						#CCCCCC;
	border-color:							#CCCCCC;
	color:									#FFFFFF;
	pointer-events:						none;
}

img {
	border:									0;
}

table {
	width:									100%;
	padding:									0;
	border:									none;
	border-spacing: 						0;
}

table td {
	padding:									0;
	border:									none;
	border-spacing: 						0;
}

address {
	font-style: 							normal;
}

ul:not(.nolist) {
	list-style: 							none;
	padding:									0;
}

/* body:not(.woocommerce-page) */

ul:not(.nolist):not(.woocommerce-error):not(.select2-results) > li {
	position:								relative;
	padding:									0.500rem 0 0.500rem 1.500rem;
}

ul:not(.nolist):not(.woocommerce-error):not(.select2-results) > li:before {
	content:									'';
	position:								absolute;
	top:										0.875rem; /*calc(50% - 0.250rem); */
	left:										0;
	width:									0.500rem;
	height:									0.500rem;
	border-right:							0.125rem solid #F7551E;
	border-bottom:							0.125rem solid #F7551E;
	-webkit-transform: 					rotate(-45deg);
	transform: 								rotate(-45deg);
}