/* Minification failed. Returning unminified contents.
(649,34): run-time error CSS1030: Expected identifier, found ':'
(649,42): run-time error CSS1031: Expected selector, found ')'
(649,42): run-time error CSS1025: Expected comma or open brace, found ')'
 */
@font-face { font-family: 'FontAwesome'; src: url('//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?v=4.7.0'); src: url('//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); font-weight: normal; font-style: normal; }

/********************* 
    For IE: flex isn't going to work propery on the col ones, need to set  max-width for the items
    don't really understand why, but the p elements will expand to the entire thing if max-width isn't also set
    need to be careful about the widths though, but using a combination of % and calc() like the padding should work
*********************/

[data-missing] { font-style: italic; }
    [data-missing]:before { content: "[[**"; }
    [data-missing]:after { content: "]]"; }

html { position: relative; min-height: 100%; margin: 0; padding: 0; font-size: 16px; font-weight: 300; color: #353837; font-family: "canada-type-gibson", Tahoma, sans-serif; background: #fff; }
body { margin: 0; padding: 0; }
    body > * { flex-shrink: 0; }
main, aside, article { display: block; }

h1 { padding: 0; margin: 0; font-size: 3.5em; font-weight: 400; }
h2 { padding: 0; margin: 0; font-size: 1.6em; font-weight: 400; }
h3 { padding: 0; margin: 0; font-size: 1.4em; font-weight: 400; }
h4 { padding: 0; margin: 0; font-size: 1.2em; font-weight: 400; }

h3 + h4 { font-size: 1.1em; padding-top: 0.2em; padding-bottom: 0.4em; }

a { cursor: pointer; color: #0000dd; }
    a img { border: none; }
    a:hover { text-decoration: none; }
    a:visited { color: #0000dd; }

strong { font-weight: 600; }

time { white-space: nowrap; }
ol { padding-left: 1em; }
template { display: none; }

[data-icon] { font-size: 0; text-decoration: none; }
    [data-icon]:not([disabled]):hover { text-decoration: none; opacity: 0.6; }
    [data-icon]:before { content: attr(data-icon); font-size: initial; font-family: FontAwesome; }

button.next, .button.next, button.prev, .button.prev { font-size: 0; padding: 0.5rem 0.7rem; line-height: 1rem; border-radius: 1rem; }
    button.next:before, .button.next:before, button.prev:before, .button.prev:before { font-size: initial; font-family: FontAwesome; }

button.icon, .button.icon { font-size: 0; padding: 0.5rem 0.7rem; line-height: 1rem; border-radius: 1rem; }
    button.icon:before, .button.icon:before { font-size: initial; font-family: FontAwesome; }
button.next:before, .button.next:before { content: "\f061"; }
button.prev:before, .button.prev:before { content: "\f060"; margin-left: -2px; }
button.del, .button.del { background: #ff0000; }
    button.del:before, .button.del:before { content: "\f014"; }
figure button, figure .button { font-style: normal; }

#sysMsg { position: fixed; z-index: 2000; top: 0; left: 0; width: 100%; padding: 1rem; color: #fff; background-color: rgba(0, 96, 122, 0.85); box-sizing: border-box; overflow: hidden; transform: scaleY(0); transform-origin: top center; transition: transform 0.2s; }
    #sysMsg .close { display: inline-block; width: 6rem; height: 6rem; margin: -1rem; color: #fff; float: right; font-size: 0; text-decoration: none; background: none; box-shadow: 0 0 0 -0.1rem rgba(0,0,0,0.5); transition: all 0.2s; border: none; cursor: pointer; }
        #sysMsg .close:hover, #sysMsg .close:focus { background-color: rgba(0, 0, 0, 0.6); box-shadow: 0 0 5px rgba(0,0,0,0.5); }
        #sysMsg .close:active { background-color: rgba(0, 0, 0, 0.6); }
        #sysMsg .close:before { font-size: 2.5rem; vertical-align: bottom; content: "\f00d"; font-family: FontAwesome; }
    #sysMsg p { position: relative; top: 2rem; margin: 0 8rem; padding: 0; text-align: center; transform: translateY(-50%); font-size: 1.5rem; font-weight: 400; max-width: none; }
    #sysMsg span + span { font-weight: normal; }
    #sysMsg span:not(:empty) + span:not(:empty):before { content: ":"; margin-right: 2rem; }

#sysMsg { box-shadow: 2px 2px 10px 0 #000; }
    #sysMsg p, #sysMsg .close, #sysMsg:before { text-shadow: 1px 1px 2px #000; }

    #sysMsg.open { transform: scaleY(1); }

    #sysMsg.error { background: rgba(168, 0, 0, 0.8); }
        #sysMsg.error:before { content: "\f071"; float: left; height: 4rem; font-family: FontAwesome; font-size: 2.5rem; line-height: 4rem; margin-left: 1rem; }
        #sysMsg.error .close:hover, #sysMsg.error .close:focus, #sysMsg.error .close:active { background-color: rgba(255, 255, 255, 0.4) }




/************ form inputs ************/
#toggleMenu { display: none; }

input, select, textarea { font-size: 1em; font-family: "canada-type-gibson", Tahoma, sans-serif; border: solid 1px #aaa; border-radius: 5px; background: #fff; }
    input.invalid, form input.invalid, select.dirty.invalid, form.dirty select.invalid, textarea.dirty.invalid, form.dirty textarea.invalid { background-color: #fde2e3 !important; outline: none; }
    input.dirty:invalid, form.dirty input:invalid, select.dirty:invalid, form.dirty select:invalid, textarea.dirty:invalid, form.dirty textarea:invalid { background-color: #fde2e3 !important; outline: none; }
    input.invalid:focus, form input.invalid:focus, select.in valid:focus, form select.invalid:focus, textarea.invalid:focus, form textarea.invalid:focus { background-color: #fde2e3 !important; outline: none; }
    input.dirty:invalid:focus, form.dirty input:invalid:focus, select.dirty:invalid:focus, form.dirty select:invalid:focus, textarea.dirty:invalid:focus, form.dirty textarea:invalid:focus { background-color: #fde2e3 !important; outline: none; }

textarea { resize: none; }
input, select { line-height: 1em; padding: 5px; box-sizing: border-box; }

textarea + small { display: block; text-align: right; position: relative; top: -15px; font-style: italic; }

::placeholder { font-style: italic; }

label span.required:after { content: "*"; color: #ff0000; margin-left: 5px; font-size: 0.8em; }

fieldset { display: block; border: none; margin: 0; padding: 0; }
    fieldset legend { width: 100%; padding: 10px 0; -bottom: 15px; box-sizing: border-box; font-weight: 400; font-size: 1.4em; }
    fieldset + fieldset { border-top: solid 1px #888; margin-top: 15px; }
    fieldset legend + p { margin-top: 0; }
    fieldset > label:first-child { margin-top: 25px; }


form input:not([type='checkbox']), form textarea, form select { display: inline-block; width: calc((100%) - 205px); padding: 8px; box-sizing: border-box; margin-bottom: 15px; font-family: Arial, Helvetica; }
input:read-only, input:disabled { background: #ddd; }

form label input[type='checkbox']:first-child { vertical-align: middle; margin-left: 210px; }

form label { display: block; text-align: left; }
    form label input[type='checkbox'] + span { width: auto; max-width: calc((100%) - 250px); margin-bottom: 15px; }
    form label textarea { height: 100px; resize: none; }
        form label textarea.long { height: 200px; }

    form label.full span { display: block; width: auto; }
    form label.full input, form label.full textarea, form label.full select { display: block; width: 100%; }

form div.options > span { display: inline-block; width: 200px; vertical-align: top; margin-top: 2px; }
form div.options > div { display: inline-block; width: calc((100%) - 205px); padding: 5px 10px; box-sizing: border-box; margin-bottom: 15px; border: solid 1px #ccc; background: #fff; }
form div.options label { font-size: 0.8em; }
form div.options input[type='checkbox'] { margin-left: 0 !important; }
form div.options input[type='text'] { width: 100%; margin-bottom: 5px; margin-top: 5px; }
form div.options input[type='checkbox'] + span { margin-bottom: 0; }

form .actions { margin-left: 200px; margin-top: 25px; }

form .purchase + .actions { margin-left: 0; overflow: hidden; }

    form .purchase + .actions > *:not(:last-child) { float: left; margin-right: .5em; }
    form .purchase + .actions > *:last-child:not(:first-child) { float: right; }
form .purchase button { padding: .5rem .65rem .25rem .65rem; margin-left: 10px; }


p.productWarning { padding: 1em; background: rgba(255,0,0,0.7); }

form label .disclaimer { display: block; padding: 0 8px 8px 215px; width: auto; margin-top: -10px; }

form [data-conditional]:not(.active) { display: none; }

label.link { color: #0000dd; text-decoration: underline; cursor: pointer; }
    label.link:hover { text-decoration: none; }


/************************/



body > :not(main) a { text-decoration: none; }
    body > :not(main) a:hover { text-decoration: underline; }

body > header { padding: 20px; box-sizing: border-box; }
    body > header img { width: 155px; }
    body > header > * { margin: 0 15px; }
    body > header nav a { margin: 0 20px; text-transform: uppercase; font-size: 0.9em; }
        body > header nav a:hover { text-decoration: none; }

#fSearch input, #fSearch button { display: none; }
#fSearch label { font-size: 0; cursor: pointer; }
    #fSearch label:after { content: "\f002"; font-size: 2rem; font-family: FontAwesome; }


body > nav { background: #00969b; padding: 18px 0; text-align: center; }
    body > nav a { color: #fff; margin: 0 20px; text-transform: uppercase; font-size: 0.9em; }
        body > nav a:hover { text-decoration: none; border-bottom: solid 1px #fff; }
        body > nav a:visited { color: #fff; }

main { position: relative; flex-grow: 1; padding-bottom: 170px; }
    main:after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 330px; background: url("/Media/GAACLight.png") no-repeat #353837; background-size: 140px; background-position: center 230px; opacity: 0.1; z-index: -1; }

body > footer { position: relative; background: #353837; border-top: solid 14px #00607a; box-sizing: border-box; padding: 45px calc((100% - 900px) / 2); color: #fff; }
    body > footer:before, body > footer:after { content: ""; position: absolute; top: -14px; width: 33%; height: 14px; }
    body > footer:before { background: #ff8000; left: 0; }
    body > footer:after { background: #00969b; right: 0; }
    body > footer a { color: #fff; }
        body > footer a:visited { color: #fff; }

.social a { display: inline-block; background: #ff8000; font-size: 0; width: 2.5rem; height: 2.5rem; text-align: center; border-radius: 1.25rem; box-sizing: border-box; padding: 0.5rem 0; margin-left: 10px; margin-bottom: 15px; }
    .social a:after { font-size: 1.5rem; font-family: FontAwesome; line-height: 1.5rem; text-align: center; }
    .social a:hover { text-decoration: none; opacity: 0.5; }

.social .fb:after { content: "\f09a"; }
.social .inst:after { content: "\f16d"; }



#lightBox { position: fixed; left: 0vw; top: 0vh; width: 0; height: 0; display: flex; align-items: center; justify-content: center; z-index: -10; background-color: transparent; transition: width 0s 0.2s, height 0s 0.2s, z-index 0s 0.2s, background-color 0.1s 0.1s; }
.lightBox #lightBox { width: 100vw; height: 100vh; z-index: 1500; background-color: rgba(0,0,0,0.6); transition: width 0s, height 0s, z-index, 0s, background-color 0.1s 0.1s; }

.modal { position: absolute; display: flex; flex-direction: column; max-width: 90vw; max-height: 90vh; min-width: 250px; min-height: 250px; overflow: auto; background: #fff; transform: scale(0); transition: transform 0.2s linear; }
    .modal.open { position: static; display: flex; transform: scale(1); }
    .modal > * { padding: 25px; flex-shrink: 0; }
    .modal > section { flex-grow: 1; flex-shrink: 1; overflow-x: auto; padding-top: 0; padding-bottom: 0; }
    .modal > footer { padding-top: 0; text-align: center; }
        .modal > footer:before { content: ""; border-top: solid 1px #000; display: block; margin-bottom: 15px; }
        .modal > footer :first-child:nth-last-child(2) { float: left; }
        .modal > footer :last-child:nth-child(2) { float: right; }
    .modal .delete { float: right; }

    .modal .close { position: absolute; z-index: 100; top: 10px; right: 10px; line-height: inherit; border-radius: 0.2em; background: transparent; padding: 0 10px; font-size: 2.5rem; color: #000; }
        .modal .close:before { content: "\f00d"; font-family: FontAwesome; }
        .modal .close:hover { background: #000; color: #fff; opacity: 1; }

#confirmAction { width: 450px; }
    #confirmAction p { font-size: 1.2em; }
    #confirmAction footer { text-align: center; }

main button, main a.button, .modal button, .modal a.button { display: inline-block; line-height: 1rem; padding: 0.5rem 3rem; border-radius: 1rem; text-transform: uppercase; background: #ff8000; color: #fff; text-decoration: none; border: none; cursor: pointer; text-align: center; }
    main button:hover, main a.button:hover, .modal button:hover, .modal a.button:hover { opacity: 0.8; }

button.delete, .button.delete { background: #ff0000; }


ul { margin: 0; padding: 0; }
    ul li { margin-left: 2em; }
    ul.links { list-style: none; margin: 0; padding: 0; }
    ul + h2, ul + h3, ul + h4 { margin-top: 25px; }

ol { margin: 0; padding: 0; }
    ol li { margin-left: 2em; }
    ol + h2, ol + h3, ol + h4 { margin-top: 25px; }

figure { padding: 15px; background: rgba(0,0,0,0.2); }
    figure figcaption { font-style: italic; font-size: 0.8em; }
    figure img { max-width: 100%; }

    figure.adjust { position: relative; overflow: hidden; }
        /*figure.adjust img { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 200%; min-width: 100%; min-height: 100%; }*/
        figure.adjust img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center center; }

.context > figure { padding-left: 0; padding-top: 0; padding-bottom: 0; background: none; }

.pageHeading { position: relative; text-align: center; color: #fff; margin-bottom: 50px; background: no-repeat center top #000; background-size: cover; background-image: url("/Media/Backgrounds/IMG_8629.jpg"); text-shadow: 1px 1px 2px #000; }


.primary { position: relative; overflow: hidden; padding-bottom: 50px; }
    .primary:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.1; z-index: -1; background: url("/Media/Backgrounds/Tools.jpg") no-repeat; }


.general .inline { float: left; }


.shortForm { margin: 70px auto; text-align: center; }
form.shortForm { text-align: left; }
.floating:not(.tile):not(form) { margin: 70px auto; text-align: center; }



.rotator { box-sizing: border-box; max-height: 500px; height: 500px; color: #fff; background: #000; overflow: hidden; }
    .rotator h1, .rotator h2 { font-size: 3.5em; }
    .rotator section { position: relative; width: 100%; height: 100%; }
    .rotator figure { position: absolute; z-index: 0; margin: 0; padding: 0; top: 0; left: 0; width: 100%; height: 100%; text-align: center; }
        .rotator figure img { margin: 0 auto; max-width: 100%; max-height: 100%; }
        .rotator figure:before, .rotator figure:after { content: ""; display: inline-block; width: 50px; height: 100%; position: absolute; z-index: 1; }
        .rotator figure:before { margin-right: -50px; background: linear-gradient(to left, transparent, #000); }
        .rotator figure:after { margin-left: -50px; background: linear-gradient(to right, transparent, #000); }
    .rotator .content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 50px; padding-bottom: 100px; box-sizing: border-box; height: 100%; max-width: 800px; margin: 0 auto; text-shadow: 0 0 2px #000; }
    .rotator button, .rotator a.button { text-shadow: none; background: #00969b; /*margin-top: 50px;*/ }
    .rotator + * { margin-top: -80px; z-index: 1; }
    .rotator a { color: #fff; }

.rotator { display: grid; grid-template-rows: 1fr; grid-template-columns: 1fr; }
    .rotator section { grid-row: 1/1; grid-column: 1/1; transition: opacity 0.5s ease-in-out; }
        .rotator section:not(.active) { opacity: 0; }

.tile { display: flex; background: #00969b; color: #fff; }
    .tile figure { margin: 0; padding: 0; }
    .tile.captioned .info > :first-child { font-size: 1.6em; padding-top: 25px; padding-bottom: 25px; background: #00607a; margin: 0; }

    .tile figure.logo { background: none; display: flex; padding-right: 25px; justify-content: center; }
        .tile figure.logo img { align-self: center; }

    .tile.floating { margin: 0 auto; }
        .tile.floating > * { flex: 1; }
        .tile.floating .info { align-items: center; text-align: justify; text-align-last: center; }
        .tile.floating.captioned .info :first-child { text-align: center; }

    .tile a { color: #fff; }

.primary + .tile.banner { margin-top: 50px; }


.pageHeading + form.floating:last-child { z-index: 100; position: relative; box-sizing: border-box; text-align: center; }

form.floating { padding: 50px; background: #00969b; text-align: left; color: #fff; margin: 0 auto; }
    form.floating.captioned > :first-child { background: #00607a; margin: -50px; margin-bottom: 50px; padding-top: 25px; padding-bottom: 25px; text-align: center; }
    form.floating > button { display: block; margin: 0 auto; }

    form.floating table { width: 100%; border-collapse: collapse; border: none; text-align: left; margin-top: 50px; margin-bottom: 25px; }
    form.floating thead, form.floating tfoot { font-size: 1.1em; }
    form.floating table th { background: #00607a; padding: 10px 15px; color: #fff; font-weight: 400; text-align: center; }
        form.floating table th.cancel { padding: 0; }
    form.floating table td { padding: 10px 15px; }
        form.floating table td.cancel { padding: 0; }
        form.floating table td:nth-child(n+2) { text-align: center; }
    form.floating table tfoot td { border-top: solid 1px #000; font-weight: 400; }
    form.floating a { color: #fff; }



.featured { background: #ff8000; }
    .featured.captioned .info > :first-child { background: #ff6700; }
    .featured button, .featured .button { background: #ff6700; }



.context { position: relative; float: right; background: #ff8000; color: #fff; text-align: justify; text-align-last: center; padding-bottom: 15px; margin: 25px; margin-right: 0; }
    .context .caption { background: #ff6700; padding-top: 25px; padding-bottom: 25px; }
    .context > * { padding: 15px 25px; }
    .context p + p { padding-top: 0; }
    .context button, .feature .button { background: #ff6700; }
    .context a { color: #fff; }

    .context:first-child, h1 + .context, h2 + context, h3 + context { margin-top: 0; }

    .context nav { text-align-last: left; }
        .context nav ul { list-style: none; margin: 0; padding: 0; text-align: left; }
        .context nav li { margin: 0; padding: 5px; margin-bottom: 5px; text-align: left; }
        .context nav a { text-align: left; }

figure.context img { padding-left: 0; padding-top: 0; padding-bottom: 0; }

.showcase { margin-top: 50px; }
    .showcase > * { background: #00607a; color: #fff; }
    .showcase > :first-child { background: #173656; }
    .showcase > :last-child { background: #00969b; }
    .showcase figure { padding: 0; margin: 0; }
        .showcase figure img { max-width: 100%; }
    .showcase .info { padding: 50px; text-align: justify; text-align-last: center; }
    .showcase:last-child { margin-bottom: -20px; }
    .showcase a:not(.button) { color: #fff; }



article table { border: none; border-collapse: separate; border-spacing: 0; }
    article table th { padding: 10px 50px; }
    article table td { padding: 5px 50px; }
    article table tbody tr:first-child td { padding-top: 10px; }
    article table tbody tr:last-child td { padding-bottom: 10px; }
    article table tfoot td { font-weight: 400; border-top: solid 1px #000; padding-top: 10px; }
    article table + * { margin-top: 50px; }




.confirmation table { }
    .confirmation table tr > :first-child { text-align: left; padding-left: 0; }
    .confirmation table tr > :nth-child(n + 2) { text-align: center; }
    .confirmation table tr > :last-child { padding-right: 10px; }


h2.warning { color: #ff0000; }
h3.warning { display: block; font-size: 1.6em; margin-bottom: 10px; color: #ff0000; font-weight: 400; text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5); }

.warning h3 { display: block; font-size: 1.2em; margin-bottom: 10px; color: #ff0000; }
.warning > :first-child { padding-top: 10px; margin-top: 10px; border-top: solid 1px #ff0000; }
.warning > :last-child { padding-bottom: 15px; margin-bottom: 10px; border-bottom: solid 1px #ff0000; }

.general .context ~ .warning { max-width: 800px; }

.message { font-weight: 400; font-style: italic; }


.gallery { display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 50px; }
    .gallery h2 { width: 100%; text-align: center; margin-bottom: 50px; }
    .gallery figure { display: inline-block; background: #00607a; color: #fff; }
        .gallery figure > span { position: relative; display: block; background-size: cover; background-position: center center; background-repeat: no-repeat; overflow: hidden; }
            .gallery figure > span img { position: absolute; width: 100%; height: auto; min-width: 100%; }
            .gallery figure > span[style*='background-image'] img { opacity: 0; min-height: 100%; }
    .gallery figcaption { padding-top: 10px; }

.exhibition.gallery figcaption dl { display: none; }
.exhibition.gallery figcaption h4 { display: none; }
.exhibition.gallery figcaption p { display: none; }
.exhibition.gallery figcaption a { display: none; }
.exhibition.gallery figcaption strong { font-weight: 400; }

ul.groups { list-style: none; padding: 0; margin: 0; text-align: left }
    ul.groups h3 { font-size: 1.2rem; border-bottom: solid 1px #000; padding-bottom: 5px; margin-bottom: 5px; }
    ul.groups li { margin: 0; }
    ul.groups > li { margin: 0 25px; margin-bottom: 25px }
    ul.groups ul { display: block; list-style: none; padding: 0; margin: 0 }



#accountGallery { position: relative; max-width: 1200px; padding: 0; margin: 0 auto; justify-content: center; border: dashed 1px #888; }
    #accountGallery:empty { border-color: #888; border-style: solid; height: 250px; }
        #accountGallery:empty:before { content: "Drag and drop files in this area, or click the upload button above."; position: absolute; top: 50%; left: 0; width: 100%; text-align: center; font-style: italic; font-size: 1.5em; margin-top: -.5em; }
    #accountGallery figcaption > * { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: block; min-height: 1.2em; }
    #accountGallery figcaption h3 { text-decoration: underline; cursor: pointer; }
        #accountGallery figcaption h3:hover { text-decoration: none; }



.gallery.boxed figure > div { position: relative; width: 180px; height: 180px; }
    .gallery.boxed figure > div > img { position: absolute; height: auto; min-width: 100%; min-height: 100%; width: 100%; }



.dragging { position: relative; }
    .dragging:before { content: "Drop files to upload" !important; position: absolute; top: 40%; left: 0; width: 100%; text-align: center; font-style: italic; font-size: 1.5em; margin-top: -.5em; }
    .dragging:after { content: " "; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; background: rgba(0,0,0,0.2); box-shadow: inset 0 0 8px 8px rgba(0, 0, 0, 0.35); }
    .dragging > * { position: relative; z-index: -1; opacity: 0.4; }


#uploadProgress { display: none; padding-top: 10px; width: 1200px; }
    #uploadProgress.active { display: flex; margin: 0 auto; }
    #uploadProgress progress { flex-grow: 1; margin-left: 10px; }


#editGalleryItem figure { margin: 0; padding: 0; text-align: center; margin-bottom: 15px; }
    #editGalleryItem figure img { max-height: 50vh; max-width: 80vw; }


.gallery .actions { display: block; padding-top: 10px; }
    .gallery .actions .del { float: right; }
.gallery figure { padding: 5px; }
    .gallery figure:first-of-type .prev { display: none; }
    .gallery figure:last-of-type .next { display: none; }

.uploader { text-align: center; padding: 15px; font-size: 1.2em; }
    .uploader input[type='file'] { display: none; }


section.pageHeading { padding: 10px 0; margin-bottom: 125px; }
    section.pageHeading .tile { text-shadow: none; }
    section.pageHeading > * { position: relative; top: 80px; }


.quote { position: relative; font-style: italic; max-width: 625px; margin: 0 auto; font-weight: 400; text-align: justify; text-align-last: left; font-size: 1.2em; }
    .quote:before, .quote:after { content: ""; font-size: 2em; position: absolute; }
    .quote:before { content: "“"; left: -1.5rem; top: -4px; }
    .quote:after { content: "”"; right: -1.5rem; bottom: -10px; }


[tabindex] { cursor: pointer; }

#galleryViewer figure { background: none; padding: 10px; margin: 0; }
    #galleryViewer figure > span { position: relative; display: block; /*width: 80vw; height: 80vh;*/ background-repeat: no-repeat; background-size: contain; }
    #galleryViewer figure img { max-height: 75vh; max-width: 75vw; }
#galleryViewer figcaption { display: flex; padding: 10px 5px 5px 5px; }
    #galleryViewer figcaption > div { flex-grow: 1; }
#galleryViewer .actions { flex-shrink: 0; }
    #galleryViewer .actions .button { padding: 0.5rem 0.75rem; }
#galleryViewer .close { font-size: 1.8em; background: #fff; border-radius: 2em; top: 15px; right: 15px; box-shadow: 2px 2px 10px 0 #000; transition: all .2s; transition-property: color, background; }
    #galleryViewer .close:hover { background: #000; }
#galleryViewer figure progress { display: none; position: absolute; bottom: 25px; left: 25px; width: calc(100% - 50px); height: 5px; }


/*#exGalleryViewer figure { background: none; padding: 10px; margin: 0; }
    #exGalleryViewer figure > span { position: relative; display: block;*/ /*width: 80vw; height: 80vh;*/ /*background-repeat: no-repeat; background-size: contain; }
    #exGalleryViewer figure img { max-height: 75vh; max-width: 75vw; }
#exGalleryViewer figcaption { display: flex; padding: 10px 5px 5px 5px; }
    #exGalleryViewer figcaption > div { flex-grow: 1; }
#exGalleryViewer .actions { flex-shrink: 0; }
    #exGalleryViewer .actions .button { padding: 0.5rem 0.75rem; }
#exGalleryViewer .close { font-size: 1.8em; background: #fff; border-radius: 2em; top: 15px; right: 15px; box-shadow: 2px 2px 10px 0 #000; transition: all .2s; transition-property: color, background; }
    #exGalleryViewer .close:hover { background: #000; }
#exGalleryViewer figure progress { display: none; position: absolute; bottom: 25px; left: 25px; width: calc(100% - 50px); height: 5px; }*/



#exGalleryViewer figure { display: flex; background: none; padding: 10px; margin: 0; }

    #exGalleryViewer figure > span { max-height: 100%; background-repeat: no-repeat; background-size: contain; }
    #exGalleryViewer figure img { max-height: 75vh; }
    #exGalleryViewer figure progress { display: none; position: absolute; bottom: 25px; left: 25px; width: calc(100% - 50px); height: 5px; }

    #exGalleryViewer figure > figcaption { padding: 0 25px; font-style: normal; font-size: 0.9em; display: flex; flex-direction: column; }
        #exGalleryViewer figure > figcaption > div { flex-grow: 1; }

#exGalleryViewer dl { margin: 10px 0; padding: 0; }
#exGalleryViewer dt { font-weight: 600; display: inline-block; width: 110px; margin-top: 2px; }
#exGalleryViewer dd { display: inline; margin: 0; }
    #exGalleryViewer dd:after { content: "\A"; white-space: pre; }

#exGalleryViewer figcaption h3 { font-size: 1.6em; font-weight: 600; }
#exGalleryViewer figcaption h4 { font-size: 1.4em; margin-top: 25px; }
    #exGalleryViewer figcaption h4 + strong { display: none; }
    #exGalleryViewer figcaption h4 ~ a { font-size: 1.2em; font-weight: 600; }
#exGalleryViewer figcaption .actions { text-align: right; padding-bottom: 10px; }



.listing .gallery { max-width: 1300px; margin: 0 auto; }
    .listing .gallery figure { background: transparent; color: #353837; }
        .listing .gallery figure > span { padding: 5px; border: solid 5px #00607a; box-sizing: border-box; }
        .listing .gallery figure span:empty { background: #fff; }
        .listing .gallery figure figcaption { padding-top: 2px; }

.vendorList { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; margin-top: 50px; }
    .vendorList h4 { width: 100%; text-align: center; margin-top: 10px; font-size: 1.3em; }
    .vendorList a { display: inline-block; flex: 1; text-align: center; }
    .vendorList figure { display: inline-block; text-align: center; background: transparent; margin: 0; }
        .vendorList figure img { max-width: 150px; max-height: 100px; }
        .vendorList figure h3 { text-align: center; font-size: 1em; color: #000; }



    .vendorList.diamond figure { }
    .vendorList.diamond p > a:first-child { float: left; margin-right: 1em; }
    .vendorList.diamond img { width: 200px; }
    .vendorList.diamond p { font-size: 1em; font-style: normal; display: inline-block; }




.profile h2 + p { margin: 0; font-style: italic; text-align: left; text-align-last: left; }

.profile .context a { display: inline-block; font-style: normal; text-decoration: none; padding: 10px 5px; margin-right: 10px; padding-left: 30px; }
    .profile .context a:hover { text-decoration: underline; }
    .profile .context a:before { content: ""; margin-left: -30px; display: inline-block; width: 25px; text-align: left; font-family: FontAwesome; }
.profile .context .url:before { content: "\f0ac"; }
.profile .context .eml:before { content: "\f0e0"; }
.profile .context .fb:before { content: "\f082"; }
.profile .context .tw:before { content: "\f081"; }
.profile .context .ig:before { content: "\f16d"; }


.faq p + h2 { margin-top: 40px; }
.faq h2 + p { margin-top: 10px; }

.companyList h2 { border-bottom: solid 1px #00607a; padding-bottom: 5px; }
.companyList + .companyList { margin-top: 25px; }
.companyList section { display: flex; flex-wrap: wrap; }
    .companyList section > div { margin-bottom: 20px; }
    .companyList section header { padding-bottom: 5px; }
        .companyList section header h4 { font-size: 1.25em; }
            .companyList section header h4:not(:last-child) { padding-bottom: 3px; }
        .companyList section header a + span { margin-left: 1em; }
    .companyList section p.desc { margin-top: 0; font-size: 0.9em; font-style: italic; }
    .companyList section p.tag { margin: 0; }



p.disclaimer, p .disclaimer { font-size: 0.9em; font-style: italic; }
    p.disclaimer:before, p .disclaimer:before { content: "*"; margin-right: 5px; }


span.disclaimer { font-size: 0.9em; font-style: italic; }
    span.disclaimer:before { content: "*"; margin-right: 5px; }




.eventList { display: flex; flex-wrap: wrap; margin: 50px auto 0 auto; justify-content: center; }
    .eventList .button { background: #00969b; margin: 15px; }
        .eventList .button:not([href]) { background: #666; opacity: 0.75; cursor: default; color: #000; }
        .eventList .button span { display: inline-block; margin: 15px; }
            .eventList .button span:first-child { display: block; font-weight: 400; font-size: 1.2em; }
            .eventList .button span + span { margin-top: 0; }

.registrationList { margin: 70px auto; text-align: center; }
    .registrationList ul { display: flex; flex-direction: column; justify-content: center; list-style: none; }
    .registrationList li { padding-bottom: 5px; }
        .registrationList li a { text-decoration: none; }
            .registrationList li a:hover { text-decoration: underline; }
        .registrationList li span { margin-left: 10px; }
            .registrationList li span:before { content: "("; }
            .registrationList li span:after { content: ")"; }



label.discounted input { color: #ff0000; text-decoration: line-through; }

#waiver.modal > section > h2 { display: none; }






#submission .item { display: flex; }
#submission .image { border: solid 15px #00607a; background: #fff; width: 25%; margin-right: 25px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
    #submission .image span { text-align: center; }
#submission .details { flex-grow: 1; margin-top: 15px; }

#submission .image span { font-weight: 400; }
#submission .image img[src] + span { display: none; }

#submission .image input[type='file'] { display: none; }
#submission .image img { max-width: 100%; max-height: 300px; }

#submission .actions { text-align: center; margin-left: 0; margin-top: 50px; }
    #submission .actions > :last-child { margin-left: 15px; }

#submission .item + .item { margin-top: 25px; border-top: solid 1px #000; padding-top: 25px; }



#saveSubmission { width: 500px; }
    #saveSubmission > section { overflow-x: auto; flex-shrink: unset; }
    #saveSubmission #uploadProgress { width: auto; }



.grants article.primary article { margin-top: 1em; }
    .grants article.primary article:first-of-type { margin-top: 2em; }
.grants article.primary.multiple article:before { content: " "; display: block; border-top: solid 1px #000; padding-bottom: 1em; }

.grants header span { font-style: italic; }
.grants article ul:last-child { margin-bottom: 1em; }

#grantApplication textarea { height: 300px; }

#grantApplication .uploader { text-align: left; font-size: initial; }
    #grantApplication .uploader section { border: solid 1px #888; min-height: 250px; position: relative; font-size: 0.9em; background-color: #fff; }
        #grantApplication .uploader section:empty:before { content: attr(data-prompt); top: 50%; position: absolute; top: 50%; left: 0; width: 100%; text-align: center; font-style: italic; font-size: 1.5em; margin-top: -.5em; }
    #grantApplication .uploader .link { font-size: 1.2em; text-align: center; margin-top: 0.5em; }

    #grantApplication .uploader section div { display: inline-block; padding: 5px; margin-right: 5em; }
    #grantApplication .uploader section span { vertical-align: middle; }
    #grantApplication .uploader section button { padding: 0.3rem 0.6rem 0.1rem 0.6rem; }

#grantApplication footer { padding-top: 2em; }


#saveApplication { width: 500px; }
    #saveApplication > section { overflow-x: auto; flex-shrink: unset; }
    #saveApplication #uploadProgress { width: auto; }


dl.info { display: grid; grid-template-columns: 180px 1fr; grid-auto-rows: auto; margin: 0; margin-bottom: 1.5em; }




ul.presenters.basic { column-count: 3; margin-bottom: 1em; }


.products { }
.product { display: grid; padding: 15px 0; grid-template-columns: 250px auto 1fr; grid-column-gap: 15px; grid-row-gap: 10px; grid-template-rows: repeat(5, min-content) 1fr; border-bottom: solid 1px #000; }
    .product h3 { grid-row: 1; grid-column: 2/-1; }
    .product p { grid-row: 2; grid-column: 2/-1; margin: 0; }
    .product > img { grid-row: 1/-1; grid-column: 1; width: 100%; }
    .product > strong { grid-column: 2; }
    .product > div { grid-column: 3; }
    .product > .actions { grid-column: 2/-1; padding-top: 5px; }

    .product button, .product .button { padding: .5em 1.5em; }
/*.product > span { grid-column: 3; }*/

/*.product { width: 900px; float: right; clear: both; }
    .product:nth-child(odd) { float: left; clear: both; }
.products hr { clear: both; }*/

.sizeOptions { display: flex; flex-wrap: wrap; }
    .sizeOptions label { }
    .sizeOptions input { display: none; }
    .sizeOptions span { display: inline-block; border: solid 1px #000; text-align: center; padding: 3px 5px; margin-right: 5px; margin-bottom: 3px; min-width: 1.5em; cursor: pointer; }
    .sizeOptions input:checked + span { background: #ff8000; }


.colorOptions { display: flex; flex-wrap: wrap; }
    .colorOptions label { border: solid 1px #000000; background: #fff; margin-right: 5px; cursor: pointer; }
    .colorOptions img { width: 50px; }
    .colorOptions input { display: none; }
    .colorOptions label:has(input:checked) { background: #ff8000; }


.products .checkout { text-align: center; }
    .products .checkout button:not([data-key]) { display: none; }





/* so it stops removing all my fucking spaces */

