/* Featured Styling */
body {
    font-size: 16px;
	font-family: 'geomanistregular', sans-serif;
    line-height: 1.4em;
    color: rgb(115, 115, 115);
    text-align: left;
    margin: 0;
    padding: 0;
}


h1 {
	font-family: 'geomanistbold', sans-serif;
	font-size: 2.25em;
	line-height: 1.125em;
	margin: 0 0 0.9375em;
    text-align: center;
}

#home h1, #mainContactForm h1 {
	font-family: 'geomanistbook', sans-serif;
    font-size: 1.5em;
}

#mainContactForm h1 {
	margin: 0 0 0.3571em;
}

h2 {
	font-family: 'geomanistmedium', sans-serif;
	font-size: 1.75em;
	line-height: 1.125em;
	margin: 0 0 0.7142em;
    text-align: center;
}

h3, #categoryList h2 {
	font-family: 'geomanistbook', sans-serif;
	font-size: 1.5em;
	line-height: 1.125em;
	margin: 0 0 0.8333em;
}

h4 {
	font-size: 1.375em;
	line-height: 1.125em;
	margin: 0 0 0.4545em;
}

h5 {
	font-size: 1.25em;
	line-height: 1.125em;
	margin: 0 0 0.5em;
}

h6, #blogPost time {
	font-family: 'geomanistlight', sans-serif;
	font-size: 1.25em;
	line-height: 1.125em;
	margin: 0 0 0.5555em;
}

#websiteNav ul li {
	font-size: 1.05em;
    text-align: center;
    padding: 0 4px;
}

p {
	margin: 0 0 1.25em;
}

#blogPost time {
    font-size: 14px;
}

ol, ul {
    text-align: left;
	margin: 0 0 1.25em;
    padding-left: 1.25em;
}

ol {
    list-style: numeric outside;
}

ul {
    list-style: disc outside;
}

ol li, ul li {
	margin: 0 0 0.3125em;
}

ol li:last-child, ul li:last-child {
	margin: 0;
}

header ul, footer ul, #flash, .errors, #categoryList ol, #postList ol {
	list-style: none;
    margin: 0;
    padding: 0;
}

a {
	font-family: 'geomanistbook', sans-serif;
    text-decoration: none;
}

a:hover, nav ul li.active a {
	font-family: 'geomanistmedium', sans-serif;
}

blockquote {
	padding: 1.25em 0;
}

cite {
	width: 100%;
	display: block;
	font-size: 0.9em;
	margin-top: 0.3472em;
	text-align: right;
}

strong, b {
	font-weight: 700;
}

i, em {
    font-family: 'geomanistitalic', sans-serif;
	font-style: italic;
}

u {
    text-decoration: underline;
}

sup {
    font-size: 0.6em;
    position: relative;
    top: -0.5208em;
}

sub {
    font-size: 0.6em;
    position: relative;
    bottom: -0.5208em;
}

small {
	font-size: 0.7em;
}

img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

iframe {
    width: 400px;
    max-width: 400px;
    height: 315px;
    max-height: 315px;
}

table {
    min-width: 400px;
    max-width: 100%;
    overflow: auto;
}

thead th {
    border-right: 1px solid rgb(255, 255, 255);
}

tbody td {
    border-right: 1px solid rgb(255, 221, 0);
    border-bottom: 1px solid rgb(255, 221, 0);
}

tbody tr:last-child td, tfoot tr:last-child td {
    border-bottom: none;
}

tfoot td {
    border-right: 1px solid rgb(255, 255, 255);
    border-bottom: 1px solid rgb(255, 255, 255);
}

thead th:last-child, tbody td:last-child, tfoot td:last-child {
    border-right: none;
}

input[type="text"], input[type="number"], input[type="email"], input[type="tel"], input[type="search"], select, textarea {
    font-size: 16px;
	font-family: 'geomanistregular', sans-serif;
    max-width: 100%;
    max-width: calc(100% - 10px);
    border: 0;
}

input[type="radio"], input[type="checkbox"] {
    width: 15px;
    height: 15px;
    border: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type="checkbox"] {
    position: relative;
}

input[type="checkbox"]:checked:after {
    content: "";
    width: 4px;
    height: 8px;
    position: absolute;
    top: 2px;
    left: 5px;
    border-right: 1px solid rgb(115, 115, 115);
    border-bottom: 1px solid rgb(115, 115, 115);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}

input[type="radio"] {
    border-radius: 100%;
}

input[type="radio"]:checked {
    border: 5px solid rgb(46, 49, 146);
}

input[type="radio"] + label, input[type="checkbox"] + label {
    position: relative;
    top: -1px;
}

input[type="radio"], input[type="checkbox"], button:last-child, .button:last-child {
    margin-bottom: 0;
}

button, .button {
    font-size: 16px;
	font-family: 'geomanistregular', sans-serif;
    border: 0;
    border-radius: 5px;
    cursor: pointer;
}

button:hover, .button:hover, .button:hover a {
	font-family: 'geomanistmedium', sans-serif;
}

#flash {
    width: 100%;
    position: relative;
    top: 0;
    left: 0;
}

#flash li {
    color: rgb(255, 255, 255);
    padding: 0 7.5%;
}

#flash li:first-child {
    padding-top: 20px;
}

#flash li:last-child {
    padding-bottom: 20px;
}

.errors li {
    color: rgb(247, 78, 78);
    position: relative;
    top: -23px;
    height: 5px;
    font-size: 0.8em;
}

/* Layout Styling */
header #websiteLogo, .button a {
    display: block;
}

header, nav, nav ul, footer, .contact, #form_eventName, #venueInterests, #form_venues, #venueSpecifics, #form_accomodationRequired, #form_exhibitionSpaceRequired, .twoColSmallLarge, .blogArticles li, #blogPost, #membershipPage {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

header, nav ul, footer, .contact, #form_eventName, #venueInterests, #form_venues, #venueSpecifics, #form_accomodationRequired, #form_exhibitionSpaceRequired, .twoColSmallLarge, .blogArticles li, #blogPost, #membershipPage {
    -webkit-flex-direction: row;
    -moz-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
}

nav {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}

.contact, #form_eventName, #venueInterests, #form_venues, #venueSpecifics, .blogArticles li, #membershipPage {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

header, nav, nav ul, footer, #form_accomodationRequired, #form_exhibitionSpaceRequired, .twoColSmallLarge, #blogPost {
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

#form_venues {
    -webkit-justify-content: flex-start;
    -moz-justify-content: flex-start;
    -ms-justify-content: flex-start;
    justify-content: flex-start;
}

header, nav ul, footer, .contact, #form_eventName, #venueInterests, #venueSpecifics, #form_accomodationRequired, #form_exhibitionSpaceRequired, .twoColSmallLarge, .blogArticles li, #blogPost, #membershipPage {
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
}

/* ELEMENT {
    -webkit-justify-content: space-around;
    -moz-justify-content: space-around;
    -ms-justify-content: space-around;
    justify-content: space-around;
}*/

/* ELEMENT {
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
}*/

nav {
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
}

#categoryList, #postList, #membershipInput {
    -webkit-align-self: flex-start;
    -moz-align-self: flex-start;
    -ms-align-self: flex-start;
    align-self: flex-start;
}

.blogArticles h2 {
    text-align: left;
}

#blogPost h1 time {
    text-align: center;
}

footer .half + .half, .submitButtonArea {
    text-align: right;
}

/* Space/Sizing Styling */
#travelMap {
    width: unset;
    max-width: unset;
    height: unset;
    max-height: unset;
}

nav ul, .slideshow, .slideshow .slides, .content#map, #travelMap, .contact, .contact div, .contact input, #form_eventName input, #venueInterests p + div, #venueInterests #form_venues, #venueInterests #venueSpecifics, #venueInterests #venueSpecifics input, #form_accomodationRequired, #form_exhibitionSpaceRequired, .message div, .message textarea, #mainContactForm h1, #blogPost h1 time, #postList nav {
    width: 100%;
}

header, #flash li, .content, footer {
    width: 85%;
}

.largeCol, #membershipContent {
    width: 80%;
}

nav, #mainContactForm {
    width: 70%;
}

.contact #contactNames, .contact #eventName, #form_eventName div, #venueInterests div, .blogDetails, .blogImage {
    width: 48%;
}

#form_venues label, #form_accomodationRequired label, #form_exhibitionSpaceRequired label {
    width: calc(48% - 20px);
}

.imageLeft, .imageRight {
    width: 30%;
}

.smallCol, #membershipInput {
    width: 18%;
}

header #websiteLogo {
    width: 13.5%;
    min-width: 130px;
}

#slidePrev, #slideNext {
    width: 30px;
    cursor: pointer;
}

input[type="text"], input[type="number"], input[type="email"], input[type="tel"], input[type="search"], select, textarea, .slideshow .slides, .slideshow .slide, #travelMap {
    max-width: 100%;
}

input[type="text"], input[type="number"], input[type="email"], input[type="tel"], input[type="search"], select, textarea {
    max-width: calc(100% - 20px);
}

input[type="text"], input[type="number"], input[type="email"], input[type="tel"], input[type="search"], select {
    min-width: 110px;
}

.slides {
    height: 100%;
}

#travelMap {
    height: 500px;
}

#slidePrev, #slideNext {
    height: 50px;
}

header #websiteLogo {
    height: auto;
}

.slideshow {
    height: 720px;
    height: 44.875vw;
}

textarea {
    max-height: 800px;
}

.slideshow .slides, .slideshow .slide {
    min-height: 100%;
}

textarea {
    min-height: 240px;
}

#mainContactForm {
    margin: 0 15%;
}

input[type="text"], input[type="number"], input[type="email"], input[type="tel"], input[type="search"], select, textarea, 
input[type="radio"], input[type="checkbox"], button, .button {
    margin: 0 5px 20px;
}

#categoryList h2 {
	margin: 0 0 0.3571em;
}

.blogArticles li {
    margin: 0 0 1.25em;
}

footer p, .contact .mNone, .message textarea, .button:last-child, button:last-child {
    margin: 0;
}

#companyName {
    margin-right: 50%;
}

#form_venues label:nth-child(4n + 2) {
    margin-right: 4%;
}

.imageLeft {
    margin-right: 2%;
}

.imageLeft, .imageRight, #form_venues, #blogPost .blogImage {
    margin-bottom: 20px;
}

#venueInterests p, #venueInterests label, #form_venues label {
    margin-bottom: 5px;
}

input[type="radio"], input[type="checkbox"], button:last-child, .button:last-child, #categoryList h2 {
    margin-bottom: 0;
}

header #websiteLogo {
    margin-bottom: -5px;
}

.imageRight {
    margin-left: 2%;
}

.contact input, #form_eventName input, #venueInterests input {
    margin-left: 0;
}

.blogArticles li {
    padding: 1.25em;
}

.content, footer {
    padding: 20px 7.5%;
}

.contact, .message, .submitButtonArea {
    padding: 20px 0;
}

#categoryList h2, #categoryList ol {
    padding: 15px 20px;
}

header {
    padding: 10px 7.5%;
}

nav {
    padding: 0 0 10px;
    padding: 0 0 0.6vw;
}

button, .button {
    padding: 5px 8px;
}

thead th, tbody td, tfoot td, input[type="text"], input[type="number"], input[type="email"], input[type="tel"], input[type="search"], select, textarea {
    padding: 3px 5px;
}

.content#map {
    padding: 0;
}

.contact, .submitButtonArea {
    padding-top: 0;
}

.submitButtonArea {
    padding-bottom: 0;
}

.clear {
    clear: both;
}

.clearLeft {
    clear: left;
}

.clearRight {
    clear: right;
}

/* Element positioning */
.slideshow, .slides, #form_venues label, #blogPost h1 {
    position: relative;
}

#slidePrev, #slideNext, #blogPost h1 time {
    position: absolute;
}

.imageLeft {
    float: left;
}

.imageRight {
    float: right;
}

/* Colour Styling */
h1, h3, a {
	color: rgb(46, 49, 146);
}

#home h1, tbody td, #categoryList h2, #blogPost h1 time {
    color: rgb(115, 115, 115);
}

thead th, tfoot td, button, .button, .button a, footer, footer a {
    color: rgb(255, 255, 255);
}

thead th {
	background-color: rgb(46, 49, 146);
}

tfoot td, button, .button, footer {
    background-color: rgb(115, 115, 115);
}

button.submit, .button.submit, #flash li.success {
    background-color: rgb(150, 209, 93);
}

button.cancel, .button.cancel, #flash li.error {
    background-color: rgb(247, 78, 78);
}

#categoryList h2 {
    background-color: rgb(255, 221, 0);
}

.blogArticles li {
    background: -webkit-linear-gradient(to bottom, rgb(255, 255, 255), rgb(240, 240, 240));
    background: -moz-linear-gradient(to bottom, rgb(255, 255, 255), rgb(240, 240, 240));
    background: -o-linear-gradient(to bottom, rgb(255, 255, 255), rgb(240, 240, 240));
    background: linear-gradient(to bottom, rgb(255, 255, 255), rgb(240, 240, 240));
}

tfoot td:first-child {
    background-color: unset;
}

input[type="text"], input[type="number"], input[type="email"], input[type="tel"], input[type="search"], select, textarea, input[type="radio"], input[type="checkbox"], #categoryList {
    box-shadow: 0 0 4px rgba(115, 115, 115, 0.65);
}

input[type="checkbox"]:checked, input[type="text"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="search"]:focus, select:focus, textarea:focus {
    box-shadow: 0 0 4px rgba(46, 49, 146, 0.65);
}

/* Specific Styling */
.blogArticles li {
    border-top: 5px solid rgb(255, 221, 0);
}

header {
    border-bottom: 5px solid rgb(255, 221, 0);
}

header #websiteLogo {
    display: inherit;
}

.slideshow, .slides {
    overflow: hidden;
}

#slidePrev, #slideNext {
    top: 50%;
    top: calc(50% - 25px);
    z-index: 10;
}

#slidePrev {
    left: 2%;
}

#slideNext {
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
    transform: rotateY(180deg);
    right: 2%;
}

.venueInterests label {
    margin-bottom: 5px;
}

#venueInterests {
    margin-bottom: 10px;
}

#venueServices .suppliers {
    margin-left: 20px;
}

#venueServices > div {
    margin-bottom: 10px;
}

#venueServices > label {
    margin-bottom: 10px;
    display: block;
}

#venueServices > div > label {
    margin-bottom: 5px;
    display: block;
}

#venueServices .suppliers > label {
    margin-right: 10px;
}

#form_venues label {
    top: -4px;
}

#blogPost h1 time {
    bottom: -1.4em;
    left: 0;
}

.memimg {
    margin-top: 6%;
}
.mem-banner-img {
    width: 60%;
    margin: 0 auto;
    margin: 20px auto;
}
.mem-banner-img img {
    width: 100%;
}
.mem-contact {
    line-height: 25px;
    padding: 0;
    max-width: 300px;
}
#form_typeofmemRequired {
    padding-bottom: 10px;
    line-height: 30px;
}
#membershipInput {
    box-shadow: 0 0 4px rgba(115, 115, 115, 0.65);
    text-align: left;
}
#membershipFormHeader {
    background-color: rgb(255, 221, 0);
    padding: 15px 20px 20px;
}
#membershipInput form {
    padding: 15px 20px;
}
@media only screen and (min-width: 1200px) {
    .memimg {
        width: 20%;
        margin-top: 0%;
    }
    .mem-banner-img {
        width: 40%;
    }
}
@media only screen and (max-width: 800px) {
    .mem-banner-img {
        width: 100%;
    }
}
