@charset "utf-8";
/* CSS Document */

/*** CLEARING ***/

.clear {clear:both}
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

/*** SAFARI TEXT RENDERING ISSUE FIX ***/
html {
	-webkit-text-stroke: rgba(255,255,255,0.01) 0.1px;
}

/*** TRANSITIONS ***/

.trans-fade {
	transition: all .2s ease-in-out;
   -moz-transition: all .2s ease-in-out;
   -webkit-transition: all .2s ease-in-out;
}
.trans-fade-slow {
	transition: all .8s ease-in-out;
   -moz-transition: all .8s ease-in-out;
   -webkit-transition: all .8s ease-in-out;
}

/*** SECTION VIEWPORT SIZING ***/

.full-vh {
	height:100vh;
}
.min-full-vh {
	min-height:100vh;
}
.max-full-vh {
	max-height:100vh;
}

/** Use this calculation for an element you want to fill partial 
height of the viewport container with another elements you know the set height of (like a nav) **/
.example-element {
	height: calc(100% - 165px);
}


/*** TOGGLE ****/

.toggle {
    display: inline-block;
    position: relative;
	height: calc(100% + 1px);
    padding: 20px;
    color: #fff;
    text-align: left;
    z-index: 6500;
    background: #890b0c;
	transition: all .25s ease-in-out;
   -moz-transition: all .25s ease-in-out;
   -webkit-transition: all .25s ease-in-out;
}
.toggle span.icon {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    padding: 0px;
    margin: 8px 5px 0px 0px;
    height: 28px;
    width: 30px;
}
.toggle .toggle-bar {
	position:absolute;
	display:block;
	width:35px;
	height:3px;
	border-radius:1px;
	background:#fff;
}

.toggle .toggle-bar.mid {
	opacity:0;
	top:9px;
}
.toggle .toggle-bar.top {
	top:9px;
	display:block;
	-ms-transform: rotate(45deg); /* IE 9 */
    -webkit-transform: rotate(45deg); /* Chrome, Safari, Opera */
    transform: rotate(45deg);
}
.toggle .toggle-bar.bottom {
	top:9px;
	display:block;
	-ms-transform: rotate(135deg); /* IE 9 */
    -webkit-transform: rotate(135deg); /* Chrome, Safari, Opera */
    transform: rotate(135deg);
}

/** Collapsed States **/
.toggle.collapsed .toggle-bar.top {
	display:block;
	top:0;
	-ms-transform: rotate(0deg); /* IE 9 */
    -webkit-transform: rotate(0deg); /* Chrome, Safari, Opera */
    transform: rotate(0deg);
}
.toggle.collapsed .toggle-bar.mid {
	display:block;
	opacity:100;
	top:10px;
}
.toggle.collapsed .toggle-bar.bottom {
	display:block;
	top:20px;
	-ms-transform: rotate(0deg); /* IE 9 */
    -webkit-transform: rotate(0deg); /* Chrome, Safari, Opera */
    transform: rotate(0deg);
}
.toggle.collapsed:hover .toggle-bar.top {
	width:80%;
}
.toggle.collapsed:hover .toggle-bar.middle {
	width:55%;
}
.toggle.collapsed:hover .toggle-bar.bottom {
	width:90%;
}

.toggle .toggle-bar.top, .toggle .toggle-bar.mid, .toggle .toggle-bar.bottom, .toggle:hover .menu-text {
	transition: all .2s ease-in-out;
   -moz-transition: all .2s ease-in-out;
   -webkit-transition: all .2s ease-in-out;
}
.toggle .menu-text {
	display:block;
	vertical-align:middle;
	font-size: 0.9em;
	margin-top: 3px;
	background:none!important;
	color: #fff;
	text-transform:uppercase;
}
.toggle.collapsed .menu-text {
	color: #fff;
}
.toggle:hover {
	background:#e04c4d;
}

/* Inner hides the scroll bars on a side-bar with the calc width */
.navbar-side-inner {
	position:absolute;
	height:125px;
	overflow-y: scroll!important;
    width: calc(100% + 21px);
    padding: 0px;
    margin: 0px;
}



/**** IMAGE DISPLAY ****/

/* 'cover' replacement background image */
.res-image-container {
	position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}
.res-image-container img, .res-image-container video {
	position: relative;
    display: block;
    max-width: 100%;
    height: auto;
}
/* JS switch to synthisise cover image properties, works on .res-image-container */
.switch-vert-max {
	width: auto;
    max-width: none!important;
    max-height: 100%!important;
    min-height: 100%;
}


/* background img zoom on a tag container */
a:hover .hover-zoom img {
	-moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
a:hover .res-image-container.hover-zoom img {
	-moz-transform: translate(-50%, -50%) scale(1.1);
    -webkit-transform: translate(-50%, -50%) scale(1.1);
    transform: translate(-50%, -50%) scale(1.1);
}

/* cicular bordered window */
.res-image-window-circle {
	padding:100px 10px 10px 10px;
	text-align:center;
}
.res-image-window-circle img {
	display:inline-block;
	width:70%;
	height:70%;
	max-width:300px;
	max-height:300px;
	box-shadow: 0 0 0 25px #fff, 0 0 0 35px #e4ad0e;
}


/*** STICKY BOX ***/

#sticky.stick {
    position: fixed;
    top: 0;
    z-index: 10000;
	width:auto;
}

/*** MODALS ***/

/** PROGRESSIVE MODAL VERT CENTERING USING FLEXBOX**/

.modal {
    z-index: -1;
}

body.modal-open .modal {
    display: flex !important;
    height: 100%;
} 
body.modal-open .modal.in {
	z-index: 5000;
} 
body.modal-open .modal .modal-dialog {
    margin: auto;
}

/** Override the slide down, to just fade in **/
.modal.fade .modal-dialog {
  -webkit-transition: -webkit-transform .3s ease-out;
       -o-transition:      -o-transform .3s ease-out;
          transition:         transform .3s ease-out;
  -webkit-transform: translate3d(0, 0, 0);
       -o-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.modal.in .modal-dialog {
  -webkit-transform: translate3d(0, 0, 0);
       -o-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

@media (max-width: 768px) {
	.modal-dialog {
		width: 100%;
	}
}

/**** GRID, PAD & MARGIN ADJUSTERS ***/

.nopad {
	padding:0px!important;
}
.padv {
	padding-top:80px;
	padding-bottom:80px;
}
.padvsm {
	padding-top:40px;
	padding-bottom:40px;
}
.nopad-bottom {
	padding-bottom:0px!important;
}
.nopad-top {
	padding-top:0px!important;
}
.nomargin {
	margin:0px!important;
}
.nomargin-bottom {
	margin-bottom:0px!important;
}
.row.nomargin {
	margin:0px!important;
}
.margin-bottom {
	margin-bottom:40px!important;
}
.noborder {
	border:none!important;
}
.nowrap {
	white-space:nowrap!important;
}
.centre {
	text-align:center;
}
.float-left {
	float:left;
}
.inline-block {
	display:inline-block;
}
.centre-vert {
    position: relative;
    top: 50%;
	-webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
@media (min-width:1200px) {
	.nomargin-1200 {
		margin:0px!important;
	}
	.nomargin-bottom-1200 {
		margin-bottom:0px!important;
	}
}

/** FRAMEWORK BREAKS **/

@media (max-width: 400px) {
	.break-400 {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
}
@media (max-width: 500px) {
	.break-500 {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
 	    max-width: 100%;
	}
}
@media (max-width: 600px) {
	.break-600 {
		-webkit-box-flex: 0;
		-ms-flex: 0 0 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}
}
/** TEXT ALIGN BREAKS **/

@media (max-width: 400px) {
	.text-left-400 {
		text-align: left;
	}
	.text-centre-400 {
		text-align: center;
	}
	.text-right-400 {
		text-align: right;
	}
}
@media (max-width: 500px) {
	.text-left-500 {
		text-align: left;
	}
	.text-centre-500 {
		text-align: center;
	}
	.text-right-500 {
		text-align: right;
	}
}
@media (max-width: 600px) {
	.text-left-600 {
		text-align: left;
	}
	.text-Centre-600 {
		text-align: center;
	}
	.text-right-600 {
		text-align: right;
	}
}

/** HIDE / SHOW **/

.show-mob {
	display:block!important;
}
.hide-mob {
	display:none!important;
}
@media (min-width: 768px) {
	.show-mob {
		display:none!important;
	}
	.hide-mob {
		display:block!important;
	}
}

/** OVERFLOW **/

.overflow-visible {
	overflow: visible!important;
}

/** KEYFRAMES FADE **/

@keyframes fadein {
  0% { opacity: 0 }
  100% { opacity: 1 }
}