
/* Basic global styles and resets: CIOP             */
/* Applies to both eReg and eHome pages, first      */
/* © 1/15/14 by Cleveland Design for DEMO           */
/* Refactored for CIO Perspectives 10/19/2016       */
/*                                                  */
/* Last Updated: 6/28/17                            */


/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */

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, img, ins, kbd,
q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt,
dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot,
thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby, section, summary, time,
mark, audio, video {
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    margin: 0;
    padding: 0
}

article, aside, details, figcaption, figure, footer, header, hgroup,
menu, nav, section {
    display: block
}

body {
    line-height: 1
}

ol, ul {
    list-style: none
}

blockquote, q {
    quotes: none
}

blockquote:before, blockquote:after, q:before, q:after {
    content: none
}

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

/* Base Styles */

html,
body
{
    font-size: 18px !important;
}

body
{
    font-family: Helvetica, Arial, sans-serif;
    font-weight: normal;
    line-height: 1.556em;
    color: #595959;
    word-wrap: break-word;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    background-color: #f0f0f0;
    width: 100%;
}

body *
{
    /* Force Custom Font Globally */
    font-family: Helvetica, Arial, sans-serif;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

::selection
{
    background: rgba(0, 0, 0, 0.75); /* Safari */
    color: white;
    text-shadow: 0 -1px 0 black;
}

::-moz-selection
{
    background: rgba(0, 0, 0, 0.75); /* Firefox */
    color: white;
    text-shadow: 0 -1px 0 black;
}

strong,
b
{
    font-weight: bolder;
}

a:link,
a:visited
{
    text-decoration: none;
}

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

a > i.fa
{
    margin-left: 0.5em;
    margin-right: -0.125em;
}

a img
{
    border: none;
    text-decoration: none;
}

p, ul, ol, blockquote
{
    margin: 0.778em 0;
}

[id*="section"] ul li,
[id*="section"] ol li,
#page ul li,
#page ol li
{
    padding-left: 1.25em;
    margin-bottom: .5em;
    position: relative;
}

[id*="section"] ul li:before,
#page ul li:before
{
    content: "\2022";
    position: absolute;
    line-height: .5em;
    height: .5em;
    width: .5em;
    border-radius: 50%;
    left: 0;
    top: 0.4em;
    background-color: currentcolor;
    text-shadow: none !important;
}

[id*="section"] ul.columns:after,
#page ul.columns:after
{
    content: "";
    display: table;
    clear: both;
}

[id*="section"] ul.columns li,
#page ul.columns li
{
    float: left;
    width: 40%;
    margin-right: 10%;
    white-space: pre;
    word-wrap: normal;
    line-height: 1.667em !important;
}

[id*="sidebar"] ul li:before,
#page #widget_col_2 ul li:before,
#page #widget_col_4 ul li:before
{
    top: 0.5em;
}

#main_section ul,
#main_section ol,
#widget_col_3 ul,
#widget_col_3 ol
{
    margin: 1.5em 0 !important;
}

#main_section ul li,
#main_section ol li,
#widget_col_3 ul li,
#widget_col_3 ol li
{
    line-height: 1.333em;
}

#main_section ul li:not(:last-child),
#main_section ol li:not(:last-child),
#widget_col_3 ul li:not(:last-child),
#widget_col_3 ol li:not(:last-child)
{
    padding-bottom: 0.778em;
    margin-bottom: 0.778em;
    border-bottom: 1px solid #ebebeb;
}

ol
{
    counter-reset: item;
}

ol li
{
    padding-left: 0 !important;
}

ol li:before
{
    content: counter(item);
    counter-increment: item;
    display: inline-block;

    text-align: center;
    font-weight: bolder;
    font-size: .75em;
    color: #0073ae;

    width: 1.389em;
    margin-right: 0.6em;
}

p:first-child,
ul:first-child,
ol:first-child,
blockquote:first-child
{
    margin-top: 0;
}

p:last-child,
ul:last-child,
ol:last-child,
blockquote:last-child
{
    margin-bottom: 0;
}

/* Headline Styles */

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

/* H1 (#main_section .header) */
#widget_col_3 > table:first-child + div .widget_title.widget_draggable .header,
#main_section > div:first-child > table:first-child[cellpadding="2"],
h1
{
    font-size: 2.667em;
    line-height: 1em;
    font-weight: bold;
    margin-bottom: 0.667em !important;
}

#main_section > div:first-child > table:first-child[cellpadding="2"]
{
    /* TODO: Requires JS to adjust offset if H1 is more than one line! */
    display: block;
    margin-top: -1.667em;
    margin-top: -2.5em;
}

#main_section > div:first-child ~ div > table:first-child[cellpadding="2"],
#main_section > div > div > h1:first-child,
#main_section > div > table + div h1,
h1
{
    /* Any H1 or 'not-first-section' headers */
    font-weight: bold;
    font-size: 1.333em;
    line-height: 1em;
    margin: 0.833em 0 1em;
}

#main_section > div > table + div h2,
#main_section > div > table + div > h1:first-child
{
    text-transform: uppercase;
    font-weight: 300;
    font-size: 1.333em;
    line-height: 1.286em;
    margin: 1em 0;
}

#main_section > div > table + div h3
{
    font-weight: bold;
    line-height: 1.286em;
    margin: 1em 0;
}

/* Side / h2 equivalent (sidebar .header titles) */
#widget_col_2 .widget_title.widget_draggable .header,
#widget_col_4 .widget_title.widget_draggable .header,
[id*="sidebar"] .header
{
    font-weight: bold !important;
    text-transform: uppercase;
    line-height: 1.286em;
    padding-bottom: .778em !important;
}

/* Side / h3 equivalent (sidebar .header titles) */
#widget_col_2 h2,
#widget_col_4 h2,
[id*="sidebar"] h2
{
    font-weight: bold !important;
    text-transform: uppercase;
    line-height: 1.286em;
    margin: 1em 0;
}

/* Advanced Styles */

img,
embed,
video
{
    /* Max-magic - images can scale down proportionally, but not larger than original */
    max-width: 100%; /* IE and FF do not quite support this, and prevent shrink-down, need workaround -- see below hacks */
    height: auto;
}

/* Styles for Firefox */
@-moz-document url-prefix() {
    img, embed, video {
        max-width: -moz-max-content;
        width: 100%;
    }
}

/* Styles for IE10 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    img, embed, video {
        /*    width: 100%; */
        /* Causing problems in IE 11 and IE Edge */
    }
}

object
{
    max-width: 100%;
}

img[align="left"]
{
    margin: 0 1em 1em 0 !important;
}

img[align="right"]
{
    margin: 0 0 1em 1em !important;
}

.m-show
{
    display: none;
}

img + br
{
    /* EXPERIMENTAL: Fixes orphaned/accidental line breaks from WYSIWYG editor */
    display: none;
}

div#main_section img
{
    /*    margin: 1.5em auto; */
    /* Smaller images centered by default */
    margin: 1.5em 0; /* Smaller images on left by default */
    display: block;
}

div#main_section strong > img
{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

div#main_section img:first-child
{
    /*    margin-top: 0; */
}

div#main_section img:only-child
{
    /*    margin: 0; */
}

div#main_section img:last-child
{
    /*    margin-bottom: 0; */
}

/* General table optimizations */

#main_section > div > div table,
#main_section > div > table + table,
#main_section > div > table ~ table,
#right_sidebar_section > div > div table,
#right_sidebar_section > div > table + table,
#right_sidebar_section > div > table ~ table
{
    /* Beware of tables on homepage... */
    width: 100% !important;
    height: auto !important;
    border-spacing: 0;
}

#main_section > div > div table td,
#main_section > div > table + table td,
#main_section > div > table ~ table td,
#right_sidebar_section > div > div table td,
#right_sidebar_section > div > table + table td,
#right_sidebar_section > div > table ~ table td
{
    vertical-align: top;
    text-align: left;
    white-space: normal;
}

/* Parent of floats clearfix */

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

div#right_sidebar_section > div
{
    padding: 1.429em;
    border-bottom: 1px solid #ebebeb;
}

div#right_sidebar_section > div:last-child
{
    border: none;
}

#main_section > div > table + div h1,
#main_section > div:first-child ~ div
{
    border-top: 1px solid #ebebeb;
    padding-top: 1.111em;
    margin-top: 1.111em;
}

#main_section > div > table + div h1
{
    padding-top: 1.667em;
    margin-top: 1.667em;
}

#main_section > div > table + div > h1:first-child
{
    /* Prevent adjacent H1 styles */
    border-top: none;
    margin-top: 0;
    padding-top: 0;
}

#main_section > div:first-child > div > *:first-child
{
    /* No top spacing for elements immediately following first body widget header */
    padding-top: 0 !important;
    margin-top: 0 !important
}

a:empty,
.empty
{
    display: none;
}

.set
{
    font-size: 0; /* Gets ride of inline-block white space */
    margin: 36px 0 18px; /* IE8/Android fallback for REM */
    margin: 2rem 0 1rem; /* Root font-size multiplier (18px) */
    clear: both;
}

.button
{
    background-color: blue;
    border: none !important;
    display: inline-block;
    line-height: 2.222em;
    padding: 0 0.667em;
    margin: 0 1em 1em 0;
    font-weight: 300;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
    text-transform: uppercase;
    color: white !important;
    white-space: pre;
    text-shadow: none;
}

.set .button,
.set .social,
.rem
{
    font-size: 18px; /* IE8/Android fallback for REM */
    font-size: 1rem;
}

.set > *:last-child
{
    margin-right: 0 !important;
}

a.button
{
    /*    border-style: solid; */
    /*    border-width: 1px; */
    /*    border-color: #0073ae !important; */
}

a.button:hover
{
    text-decoration: underline;
}

/* Non-home-page button overrides */

.has-sidebars #main_section a.button,
.has-sidebars #main_section a.button:first-child
{
    /* Homepage has no sidebars (JS body class), so this applies to [most] all inside pages */
    white-space: normal;
    line-height: 1.25em;
    padding: 0.5em 1em !important;
}

#main_section a.button > span
{
    /* Keep icon with last word/s */
    white-space: pre !important;
    word-break: normal !important;
    word-wrap: normal !important;
}

.has-sidebars #main_section a.button > span > .fa
{
    margin-left: 0;
    margin-right: -0.125em;
}

/* Social Buttons */

.set.socials
{
    margin: -2em 0 0;
}

X#right_sidebar_section > div:first-child
{
    padding: 0;
    border: none;
    position: relative;
}

#right_sidebar_section .set.socials
{
    margin: 0;
    position: absolute;
    bottom: 9px;
    bottom: 0.5rem;
}

.socials a
{
    position: relative;
    display: inline-block;
    background-color: transparent !important;
    margin: 1.333em 1.5em 0 0;
    width: 3.5em;
    height: 3.5em;
    vertical-align: top;
    border: none;
    text-indent: -99999px;
    border-radius: 50%;
    box-shadow: inset 0 -1px 0 0 white;

    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 100% 100%;

    border-color: black;
}

#right_sidebar_section .set.socials a
{
    font-size: 10px;
    font-size: 0.556rem;
    margin: 0 0.9em 0.9em 0;
}

#main_section .socials a:hover + a.social
{
    visibility: hidden;
}

#right_sidebar_section .set.socials a:hover + a.social
{
    visibility: visible;
}

#main_section .socials a:hover:after
{
    content: attr(alt);

    /* IE6, IE7, IE8 */
    content: none\9;

    position: absolute;
    display: block;
    left: 100%;
    top: 50%;
    min-width: 5.25em;
    overflow: hidden;
    color: white;
    font-size: 0.778em;
    font-weight: inherit;
    line-height: 1em;
    padding: 0.5em 0.714em;
    margin-top: -1em;
    margin-left: 1em;
    word-wrap: normal;
    white-space: pre;
    text-indent: 0;
    text-align: center;
    text-transform: uppercase;
    text-shadow: none !important;
    z-index: 3;
    pointer-events: none;

    /* Cheap auto-background-color trick - use icon as bg color (doesn't work in IE8!) */

    background-image: inherit;
    background-size: 235em auto;
    background-position: 50% -6em;
}

.social[href*="facebook"]
{
    background-image: url("/file_uploads/918e21977423cf15acfa7071ff78f60b_social-facebook.svg"), none;

    /* IE6, IE7, IE8 */
    filter: progid: DXImageTransform.Microsoft.AlphaImageLoader(
    src='/file_uploads/c70ae2271c74ad95f7068bf9d96c20a6_social-facebook.png',
    sizingMethod='scale');

    -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
    src='/file_uploads/c70ae2271c74ad95f7068bf9d96c20a6_social-facebook.png',
    sizingMethod='scale')";
}

.social[href*="linked"]
{
    background-image: url("/file_uploads/734e3b552dc2de56b0c25640d608c645_social-linkedin.svg"), none;

    /* IE6, IE7, IE8 */
    filter: progid: DXImageTransform.Microsoft.AlphaImageLoader(
    src='/file_uploads/d02af9e570759bc14cd1ebd5b4bf1f0e_social-linkedin.png',
    sizingMethod='scale');

    -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
    src='/file_uploads/d02af9e570759bc14cd1ebd5b4bf1f0e_social-linkedin.png',
    sizingMethod='scale')";
}

.social[href*="twitter"]
{
    background-image: url("/file_uploads/026ad5f4ef6088bb4bad8c4d815d7a30_social-twitter.svg"), none;

    /* IE6, IE7, IE8 */
    filter: progid: DXImageTransform.Microsoft.AlphaImageLoader(
    src='/file_uploads/6b6499fe85447c65a992e318b966f7d6_social-twitter.png',
    sizingMethod='scale');

    -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
    src='/file_uploads/6b6499fe85447c65a992e318b966f7d6_social-twitter.png',
    sizingMethod='scale')";
}

.social[href*="tube"]
{
    background-image: url("/file_uploads/13d9283d50219213800f4c0f59722378_social-youtube.svg"), none;

    /* IE6, IE7, IE8 */
    filter: progid: DXImageTransform.Microsoft.AlphaImageLoader(
    src='/file_uploads/5caa9487a3ebafb35ff1fef18264227a_social-youtube.png',
    sizingMethod='scale');

    -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
    src='/file_uploads/5caa9487a3ebafb35ff1fef18264227a_social-youtube.png',
    sizingMethod='scale')";
}

.social[href*="flip"],
.social[alt*="Flip"]
{
    background-image: url("/file_uploads/53e659eb67ed4fed75218acaeebbaba7_social-flipboard.svg"), none;

    /* IE6, IE7, IE8 */
    filter: progid: DXImageTransform.Microsoft.AlphaImageLoader(
    src='/file_uploads/bc9526a0771ebb2eed9aced84d13d922_social-flipboard.png',
    sizingMethod='scale');

    -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
    src='/file_uploads/bc9526a0771ebb2eed9aced84d13d922_social-flipboard.png',
    sizingMethod='scale')";
}

.social[href*="flickr"]
{
    background-image: url("/file_uploads/09abb8391f485a4344855c2f38e3c371_social-flickr.svg"), none;

    /* IE6, IE7, IE8 */
    filter: progid: DXImageTransform.Microsoft.AlphaImageLoader(
    src='/file_uploads/7018075775dd3b05f9bad15f5dcec531_social-flickr.png',
    sizingMethod='scale');

    -ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(
    src='/file_uploads/7018075775dd3b05f9bad15f5dcec531_social-flickr.png',
    sizingMethod='scale')";
}

/* ! LAYOUT */

.languages
{
    display: none;
}

body > table
{
    width: 100% !important;
    max-width: 1200px;
    max-width: 66.667em;
    margin: 0 auto;
}

/* Parent container for *all* columns */
body > table td#inner_content,
body > table:first-child > tbody:first-child > tr:first-child > td:first-child > table:first-child > tbody:first-child > tr > td:first-child
{
    /* Overrides any eHome Advanced padding styles */
    padding: 0 !important;
}

/* Fixed width via eHome - container for *all* columns */
body > table #inner_content div.eh_outer_div
{
    width: 100% !important;
    position: relative;
}

/* Floating columns - not all are always present... */
body > table #inner_content div.eh_outer_div > div,
body > table div[id^="widget_col"]
{
    float: none !important;
    clear: none !important;
    margin: 0 !important; /* Overrides any eHome Advanced padding styles */
    display: inline-block;
    vertical-align: top;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

body > table #inner_content div.eh_outer_div > div
{
    margin-top: 7.778em !important;
    /*    background-color: #fafafa; */
}

body > table #inner_content div.eh_outer_div > div#header_section:first-child
{
    margin-top: 0 !important;
    padding: 2.222rem;
}

body > table div[id^="widget_col"] > table
{
    width: 100% !important;
}

div#left_sidebar_section,
div#widget_col_2
{
    /* TODO: Make left column fixed width */
    width: 18.333333% !important;
    max-width: 12.222em;
    padding-left: 2.222em;
}

div#left_sidebar_section
{
    padding-top: .15em;
}

div#main_section,
div#widget_col_3
{
    /*  K.I.S.S. - To avoid detecting presence and resizing this for
          #right_sidebar_section, always use same width for center column */
    width: 58.333333% !important;
    max-width: 38.889em;
}

div#main_section
{
    padding: 0 2.222em;
}

div#right_sidebar_section,
div#widget_col_4
{
    width: 23.333333% !important;
    max-width: 20em;
    font-size: .778em;
    line-height: 1.429em;
}

body > table #inner_content div.eh_outer_div > div#right_sidebar_section
{
    margin-top: 8.785em !important;
}

body > table #inner_content div.eh_outer_div > div#header_section ~ div#right_sidebar_section
{
    margin-top: 0 !important;
}

/* Sidebar right background color */
div#right_sidebar_section:after
{
    content: "";
    display: block;
    position: absolute;
    background-color: #fafafa;
    width: 23.333333%;
    top: 8.25em;
    bottom: 0;
    right: 0;
}

div#right_sidebar_section > div
{
    position: relative;
    z-index: 1;
}

div#right_sidebar_section > div > div
{
    overflow: visible !important;
}

/*  When there is no left column... */
body div.eh_outer_div > div#main_section:first-child
{
    width: 76.66667% !important;
    max-width: 51.111em;
}

body.no-sidebars div.eh_outer_div > div#main_section
{
    width: 100% !important;
    max-width: 100% !important;
}

body div.eh_outer_div > div#right_sidebar_section
{
    width: 23.33333% !important;
}

/* When here is no right column -- REQUIRES JAVASCRIPT... */

body.has-sidebars.left-sidebar #left_sidebar_section
{
    max-width: 12.222em !important;
}

body.has-sidebars.right-sidebar #right_sidebar_section
{
    max-width: 20em !important;
}

body.has-sidebars.left-sidebar.no-right-sidebar #main_section
{
    max-width: none;
    width: 81.667% !important;
}

/*  Footer and header need to clear */
body > table #inner_content div#header_section,
body > table #inner_content div#footer_section
{
    display: block;
    width: 100% !important;
    position: relative;
}

body > table div[id^="widget_col"]
{
    /* Editor needs padding above and below in order to rearrange blocks? */
    padding-top: 1em !important;
    padding-bottom: 1em !important;
    height: auto !important;
}

body > table div[id^="widget_col"] .widget
{
    margin: 1em auto;
}

/* Header */

#outer_table > tbody > tr:first-child > td
{
    padding: 1.667em 2.222em 0;
}

#demo-head
{
    width: 100%;
    display: table;
}

#the-header > *
{
    float: left;
    margin-bottom: 0.667em;
}

#the-header #logo a
{
    border: none !important;
    display: block;
    /*    height: 2.222em; */
    /*    width: 7.778em; */
    margin-bottom: -0.222em;
    margin-right: 1.222em;
    height: 2.222em !important;
    width: auto !important;
}

#the-header #logo img
{
    height: 100%;
    width: auto;
    margin: 0;
}

#the-header #mission
{
    font-size: 0.667em !important;
    line-height: 1.75em;
    font-weight: bold;
    padding-right: 1.667em;
    margin-bottom: 2.667em;
    padding-top: 0.111em;
}

#the-header #mission #next-event
{
    font-size: 1.333em;
    line-height: 1em;
    font-weight: 300;
}

#the-header #mission #next-event a strong
{
    font-weight: bold;
}

#the-header #top-nav
{
    float: right; /* Float left when size becomes too small to support it */
    font-size: 0.889em;
    line-height: 1em;
    /*    font-weight: 300; */
    margin-bottom: 0;
    padding-bottom: 1em;
}

#the-header #top-nav li
{
    display: inline-block;
    padding-top: 0.667em;
    margin-left: 2.188em;
}

#the-header ul#top-nav li:first-child
{
    margin-left: 0;
}

/* Google search box */

#the-header #top-nav
{
    position: relative;
}

#the-header #top-nav
{
    /*    background-image: url("/file_uploads/f794ecfe62bbda8ff91a93ca1e4085f3_magnifying-glass.png"); */
    /*    background-image: url("/file_uploads/e1ef1fa318677bbfd85081c1f9ac84de_magnifying-glass.svg"), none; */

    background-repeat: no-repeat;
    background-position: -200em 0;
    background-size: 1.250em auto;
}

#the-header #top-nav
{
    background-position: 0 0.688em;
}

#the-header #top-nav li#google-search > a
{
    text-indent: -9999em;
    padding-right: 1em;
    border: none !important;
    display: inline-block;
    /*    overflow: hidden; */
}

#the-header #top-nav li#google-search > a:hover:before,
#the-header #top-nav.active li#google-search > a:before
{
    content: "Search";
    color: #bababa;
    text-indent: 0;
    display: block;
    position: absolute;
    right: 100%;
    top: 0.667em;
    padding-right: 1em;
}

#the-header #top-nav.active li#google-search > a:before
{
    content: "Cancel";
}

#the-header #top-nav.active li#google-search > a:hover:before
{
    text-decoration: underline !important;
}

#the-header #top-nav #cse-search-form
{
    display: none;
}

#the-header #top-nav.active #cse-search-form
{
    display: block;
}

li #cse-search-form
{
    position: absolute;
    z-index: 5;
    left: 2.238em;
    right: 0;
    top: 0.333em;
    background-color: white;
}

.cse form.gsc-search-box,
form.gsc-search-box
{
    padding: 0 !important;
    margin: 0 !important;
}

form.gsc-search-box
{
    font-size: 1em !important;
}

table.gsc-search-box
{
    margin: 0 !important;
}

.cse table.gsc-search-box td.gsc-input,
table.gsc-search-box td.gsc-input
{
    padding-right: 0.667em !important;
}

.cse table.gsc-search-box td,
table.gsc-search-box td
{
    width: auto !important;
}

.cse table.gsc-search-box td.gsc-input,
table.gsc-search-box td.gsc-input
{
    width: 100% !important;
}

input#gsc-i-id1.gsc-input
{
    background-image: none !important;
}

.cse input.gsc-input,
input.gsc-input
{
    margin: 0 !important;
    font-size: 1em !important;
    padding: 0.188em 0.375em !important;
    border: none !important;
    background-color: #efefef !important;
    line-height: 1em !important;
}

.cse input.gsc-search-button,
input.gsc-search-button
{
    cursor: pointer !important;
    text-transform: uppercase;
    font-size: 0.75em !important;
    line-height: 1em !important;
    padding: 0.583em 0.75em !important;
    margin: 0 !important;
    font-weight: 300 !important;
    border-radius: 0 !important;
    border: none !important;
    background-color: #0073ae !important;
    min-width: 0 !important;
    height: auto !important;
}

.gsc-search-button:hover
{
    text-decoration: underline;
}

.cse table.gsc-search-box td.gsc-clear-button,
table.gsc-search-box td.gsc-clear-button
{
    max-width: 0 !important;
}

table.gstl_50.gssb_c
{
    max-width: 32%; /* Make sure it's always contained in the page */
}

table.gsc-completion-container
{
    font-size: 0.889em !important;
    border: none !important;
}

td.gssb_a
{
    background: none !important;
    line-height: 1.5em !important;
    padding: 0.219em 0.438em !important;
}

.gssb_a td
{
    line-height: 1.5em !important;
}

#the-header li#mobile-menu
{
    display: none;
}

/* AddThis widget */

#the-header #top-nav #share-menu
{
    display: none;
    position: relative;
}

.has-js #the-header #top-nav #share-menu
{
    display: inline-block;
}

#the-header #share-menu #addThis
{
    position: absolute;
    bottom: 1em;
    margin-bottom: -2.5em;
    /*    left: 100%;  */
    /* Swap to expand to right when there are less than 5 menu items here */
    right: 100%;
    margin-left: 2.188em !important;
    height: 4em;
    max-width: 0;
    padding-top: 1em;
    padding-bottom: 1em;

    white-space: nowrap;
    word-break: normal;
    word-wrap: normal;
    overflow: hidden;
    background-color: white;

    -webkit-transition: max-width 1s ease-in-out;
    transition: max-width 1s ease-in-out;
}

#the-header #top-nav #share-menu > a:hover + #addThis,
#the-header #top-nav #share-menu > a + #addThis:hover
{
    max-width: 100em;
    padding-left: 2.188em;
    margin-left: 0 !important;
}

#share-menu #addThis a
{
    display: inline-block;
    float: none;
    padding: 0;
    border: none !important;
    font-size: 16px;
    font-size: 0.889rem;
    line-height: 2em;
    margin-right: 1em !important;
}

#share-menu #addThis a:hover
{
    opacity: 0.8;
}

#share-menu #addThis a.addthis_counter
{
    display: none !important;
}

#at20mc a
{
    border: none !important;
}

/* Footer */

#footer_section
{
    padding: 2.222em 2.222em 1.667em;
    background: #fafafa no-repeat 50% 50%;
    background-size: 100% auto;
    background-size: cover;
    margin-top: 0;
    border-top: 1px solid #ebebeb;
}

#the-footer
{
    display: table;
    font-size: 0.778em;
    line-height: 2.143em;
    text-shadow: 0 1px 0 white;
    width: 100%;
}

#the-footer > div
{
    display: table-cell;
    vertical-align: top;
}

#the-footer #idg-logo
{
    float: left;
    width: 12.143em;
    margin-top: 0.222em;
}

#the-footer #idg-logo img
{
    width: 10.714em;
    height: auto;
}

#the-footer #idg-logo a:after
{
    content: "The IDG Network";
    text-transform: uppercase;
    text-align: center;
    font-weight: 300;
    color: white;
    border: none;
    display: inline-block;
    margin: 0.571em 0;
    width: 10.714em;
    background-color: #717171;
    text-shadow: none;

    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
}

#the-footer #idg-network #links a
{
    border: none;
    color: #717171;
    margin-right: 1em;
}

#the-footer #coda
{
    width: 21.429em;
    text-align: right;
}

#the-footer a.button.backtop
{
    line-height: calc(2.222em - 1px);
    margin: 0;
}

/* Menus */

tr.tabmenu
{
    background-color: transparent;
    padding: 0;
}

tr.tabmenu > td:first-child,
body > table > tbody > tr > td > table > tbody > tr:first-child + tr > td
{
    height: auto !important;
    background: #717171;
}

.ehtm
{
    font-size: 1em;
    line-height: 1em;
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    height: auto;
    padding: 0 1.111em 1.333em;
    background-color: transparent;
}

.ehtm > ul
{
    margin: 0;
}

.ehtm > ul > li
{
    display: inline-block;
    padding: 1.333em 1.111em 0;
}

.ehtm > ul > li a
{
    position: relative;
}

.ehtm > ul > li a:link,
.ehtm > ul > li a:visited
{
    color: white;
    text-decoration: none;
}

.ehtm > ul > li a:link,
.ehtm > ul > li a:visited
{
    color: white;
    border: none;
}

.ehtm > ul > li a:hover,
.ehtm > ul > li a:active
{
    color: white;
    border-bottom: none;
}

.ehtm > ul > li a:hover:after
{
    content: "";
    display: block;
    position: absolute;
    height: 1px;
    background-color: white;
    width: 100%;
    left: 0;
    top: 50%;
    margin-top: 0.667em;
}

.ehtm > ul > li a.sel_top
{
    font-weight: bold;
}

/* Hide child menus */
.ehtm > ul > li ul
{
    display: none;
}

/* Hide any nested elements inside links (ie: "(PROXY)" comments in a <b> tag */
.ehtm ul li a *,
#ehsm ul li a *
{
    display: none;
}

/* "NEW" tag per menu item */

a.link-new
{
    color: #4ec3ff !important;
    font-weight: normal;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.33);
}

a.link-new:after,
a.link-new:hover:after
{
    font-family: Arial, sans-serif;
    content: "NEW EVENT" !important;
    color: white;
    display: block !important;
    position: absolute !important;
    text-transform: uppercase;
    font-size: .375em !important;
    line-height: 1em !important;
    white-space: pre !important;
    width: 7em !important;
    left: 50% !important;
    margin-left: -3.5em;
    height: auto !important;
    text-align: center !important;
    top: 0 !important;
    z-index: 15;
    margin-top: .375em !important;
    padding: .3em 0 !important;
    background-color: #f13592 !important;
    font-weight: 600 !important;
    text-shadow: none;
    box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.15);
}

a.link-new:before,
a.link-new:hover:before
{
    content: "";
    width: 0;
    height: 0;
    line-height: 0;
    font-size: .375em;
    border-style: solid;
    border-width: .5em .5em 0 .5em;
    border-color: #f13592 transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -.5em;
    bottom: auto;
    margin-top: 1.875em;
    display: block;
    z-index: 16;
}

a.link-new:hover
{
    color: white !important;
}

/* Side Navigation */

div#ehsm
{
    height: auto !important;
    margin-bottom: -2em; /* Nullify errant '&nbsp;' after #ehsm */
}

div.sidenav ul,
div#ehsm ul,
div#ehsm ul.level1 > li
{
    margin: 0;
}

div.sidenav ul li,
div#ehsm ul li
{
    padding-left: 0;
    margin-top: 0;
    background: none;
    margin-bottom: 0.778em;
    line-height: 1.333em;
}

div.sidenav ul li:before,
div#ehsm ul li:before
{
    content: none !important;
}

div#ehsm > ul > li > a,
div#ehsm > ul > li > a + ul
{
    display: none;
}

div#ehsm > ul > li > a.sel_side + ul
{
    display: block;
}

div.sidenav a.active,
div#ehsm a.active
{
    color: #717171 !important;
    border: none;
    text-decoration: none !important;
    cursor: default !important;
}

/* AGENDA */

/* Agenda Specific */

table.agenda_table em
{
    font-style: italic;
}

table.agenda_table tr:first-child + tr
{
    /* Second row is forcing 50/50% width split */
    display: none;
}

tr.day_header .header
{
    font-size: 1.375em;
    padding: 1em 0 0.5em !important;
}

tr.agenda_time_slot td
{
    padding: 1em 0;
    border-bottom: 1px solid #efefef !important;
    font-size: 0.875em;
    line-height: 1.5em;
}

/* First column */

tr.agenda_time_slot td:first-child
{
    font-weight: bold;
    padding-right: 1em;
    white-space: nowrap !important;
    color: #aaa !important;
}

tr.agenda_time_slot td img
{
    display: none !important;
}

/* Second column */

tr.agenda_time_slot td:first-child ~ td[bgcolor] {
  font-size: .8em;
  line-height: 1.3em;
  padding: 1.2em !important;
}

tr.agenda_time_slot td:first-child ~ td[bgcolor]:nth-child(even) {
  background-color: #f8f8f8;
}

tr.agenda_time_slot td:first-child ~ td[bgcolor]:nth-child(odd) {
  background-color: #e9e9e9;
}

tr.agenda_time_slot td:first-child + td > br + em
{
    padding: 0.333em;
    background-color: #fafafa;
}

tr.agenda_time_slot td:first-child + td b:first-child,
tr.agenda_time_slot td:first-child + td > br + em,
tr.agenda_time_slot td:first-child + td > div
{
    display: block;
    margin: 0.5em 0;
}

tr.agenda_time_slot td:first-child ~ td[bgcolor] b:first-child,
tr.agenda_time_slot td:first-child ~ td a:last-child > b
{
  margin: 0;
}

tr.agenda_time_slot td:first-child + td b:first-child + br
{
    display: none;
}

tr.agenda_time_slot td:first-child + td > *:first-child
{
    margin-top: 0 !important;
}

tr.agenda_time_slot td:first-child + td > *:last-child
{
    margin-bottom: 0;
}

/* Speakers Table, and any other eReg generated tables embedded as widgets in eHome */

#main_section > div > table + table td
{
    padding: 1.111em;
}

#main_section > div > table + table td:empty,
#main_section > div > table + table tr > td:first-child:last-child[colspan="2"]
{
    display: none;
}

#main_section > div > table + table tr:first-child
{
    padding-top: 0;
}

#main_section > div > table + table td:first-child
{
    padding-left: 0;
}

#main_section > div > table + table td:last-child
{
    padding-right: 0;
}

#main_section > div > table + table tr:last-child
{
    padding-bottom: 0;
    border: none;
}

#main_section > div > table + table td img
{
    display: inline;
    margin: 0;
}

#main_section > div > table + table td b:first-child
{
    font-size: inherit;
    display: block;
}

#main_section > div > table + table td > b:first-child + br,
#main_section > div > table + table td > b:last-of-type + br
{
    display: none;
}

#main_section > div > table + table td > b:last-of-type
{
    display: block;
    padding-bottom: 0.333em;
    margin-bottom: 0.333em;
    border-bottom: 1px solid #efefef;
}

#main_section > div > table + table td > b:last-child
{
  border: none;
  padding: 0;
  margin: 0;
}

#main_section > div > table + table td > b:first-child + br + b:not(:last-of-type)
{
    color: #707070 !important;
}

/* Sponsor groups */

.sponsor-group
{
    font-size: 0;
    margin-left: -20px;
    margin-left: -1.111rem;
    margin-right: -20px;
    margin-right: -1.111rem;
}

.sponsor-group .sponsor-group
{
    display: inline;
    margin: 0;
}

.sponsor-group hr
{
    display: none;
}

.sponsor-group a
{
    border: none !important;
    box-shadow: none !important;
}

div#main_section .sponsor-group img
{
    display: inline-block;
    vertical-align: middle;
    box-shadow: none !important;
    font-size: 18px;
    font-size: 1rem;
    margin: 1.111em;
}

@media screen and (min-width: 720px)
{
    /* Nicer, more even output of logos at larger widths */

    .sponsor-group
    {
        margin-left: -3.333%;
        margin-right: -3.333%;
    }

    div#main_section .sponsor-group img
    {
        width: 33.333%;
        margin: 0;
        padding: 3.333%;
    }
}

/* Exaggerated lists */

ul.floating li:nth-child(odd)
{
    float: right;
    clear: right;
    width: 45%;
}

ul.floating li:nth-child(even)
{
    float: left;
    clear: left;
    width: 45%;
}

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

/* "Lite" eReg tweaks */


.formpage #outer_table > tbody > tr:first-child + tr > td
{
    background-color: #bababa;
    color: white !important;
}

.formpage #inner_content
{
    padding: 2.222em !important;
    text-align: left;
}

.formpage #inner_content form
{
    padding: 2.222em 0 0;
    margin: 2.222em auto;
    border-top: 1px solid #efefef;
}

.formpage #inner_content td > form:nth-of-type(1),
.formpage #inner_content td > form:first-child,
.formpage #inner_content td p:first-child + form
{
    margin-top: 0;
    border-top: none;
    padding-top: 0;
}

.formpage #the-footer
{
    margin-top: 4.444rem;
    position: relative;
}

.formpage #the-footer:before
{
    content: "";
    position: absolute;
    display: block;
    border-top: 1px solid #efefef;
    z-index: 10;
    top: -2.222rem;
    left: -2.222rem;
    right: -2.222rem;
}

.formpage h1
{
    font-size: 2.667em;
    line-height: 1em;
    font-weight: bold;
    margin-bottom: 0.667em !important;
}

.formpage input.button,
.formpage input[type="image"]
{
    background-color: none !important;
    padding: 0 !important;
    background: none !important;
}

.formpage form > table:last-child td:first-child
{
    /*    display: none; */
    /* Causing submit buttons on bottom of form to be hidden */
}

.formpage form > table:last-child td:last-child
{
    text-align: right;
    font-size: 1em;
}

/* A 2x2 table for every form item! */
.formpage form table.questionContainer,
.formpage form table.standard,
.formpage form table.standard ~ table
{
    table-layout: auto !important;
    width: 100% !important;
    margin: 1.111em auto;
    position: relative;
}

.formpage form table.questionContainer:before,
.formpage form table.standard:before
{
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    top: -0.625em;
    left: 0;
    border-bottom: 1px solid #efefef;
}

.formpage form > table.questionContainer:first-of-type,
.formpage form > table.standard:first-of-type
{
    margin-top: 0;
}

.formpage form > table.questionContainer:first-of-type:before,
.formpage form > table.standard:first-of-type:before
{
    content: none;
    display: none;
}

form td
{
    width: auto;
    text-align: left;
    vertical-align: top;
}

.formpage form br
{
    display: none;
}

.formpage form select
{
  font-size: 1.5em;
  margin-top: .5em;
}

.formpage form .r-radio-list br,
.formpage form hr.r-mobile
{
  display: block !important;
}

.formpage form table.questionLabelLeft td:first-child,
.formpage form table.standard td:first-child,
.formpage form table tr.category-selection-tr td:first-child
{
    width: 20%;
    padding: .25em 1em 0 0;
}

.formpage form td:first-child + td,
.formpage form tr.category-selection-tr td:first-child + td
{
    font-size: .75em;
    line-height: 1.333em;
}

.formpage form table.r-multicheckbox td hr
{
  margin-bottom: 1em;
}

.formpage form tr.category-selection-tr td:first-child + td
{
  vertical-align: middle;
  background-color: #fafafa;
  padding-left: 1em;
}

.formpage form td:first-child[width="1"] + td
{
    font-size: 1em;
    line-height: 1.556em;
}

.formpage form select.shadow
{
    margin: .5em 0;
}

.formpage form table.standard td:first-child + td
{
    padding-bottom: 1.5em;
}

.formpage.record table.r-table td
{
  padding-left: 1em;
  padding-right: 1em;
}

.formpage.record table.r-table tr > td:first-child
{
  font-weight: bold;
}

.formpage table[data-questiontype="0"]
{
    margin: 2em 0 1em 0 !important;
    border: none !important;
}

.formpage table[data-questiontype="0"]:after,
.formpage table[data-questiontype="0"]:before
{
    display: none !important;
}

.formpage form input[type="text"]
{
    display: block;
    font-size: 1rem;
    line-height: 1.25rem;
    vertical-align: middle;
    text-indent: .25rem;
    margin-bottom: .25rem;
}

.formpage form td:first-child input[type="radio"]
{
    float: right;
    display: block;
}

.formpage form td:first-child + td .questionLabel,
.formpage form label
{
    font-weight: 600;
}

.formpage table.standard td[colspan]
{
    border-top: 1px solid #efefef;
    padding: 1.111em 0 !important;
}

.on
{
    font-weight: bold;
    color: #fff;
}

.off
{
    color: #ccc;
}

.red,
.redLabel
{
    color: red;
}

.error
{
    color: red;
    background: #ffeeee;
    border: 1px solid red;
}

/* IFRAMES / Custom PHP page */

iframe
{
    background-color: transparent !important;
}

/* ! MEDIA QUERIES - IE8 not supported, so don't worry about misc. CSS2.1 fallbacks */


@media screen and (max-width: 900px)
{
    #the-header > *
    {
        /* Wrap missing to left under logo */
        float: none;
    }
}

/* Tables at smaller sizes */

@media screen and (max-width: 640px)
{
    /* Make all table elements full width and stack - too narrow to have two columns */

    body #main_section table,
    body #main_section thead,
    body #main_section tbody,
    body #main_section tfoot,
    body #main_section tr,
    body #main_section td,
    body #main_section th,
    body #main_section caption
    {
        display: block;
        width: 100% !important;
    }

    /* Buttons have whitespace: pre; so their m-hide segments should disappear sooner */
    .button .m-hide
    {
        display: none;
    }

    tr.agenda_time_slot td:first-child
    {
        font-size: 1.125em;
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }
    
    tr.agenda_time_slot td:first-child + td {
      margin-top: .5em;
    }
    
    tr.agenda_time_slot td:first-child ~ td {
      padding-left: 0 !important;
      padding-right: 0 !important;
      padding-top: 0 !important;
    }

    /* Speakers */
    /*
        #main_section > div > table + table tr td
        {
          padding-left: 0 !important;
          padding-right: 0 !important;
        }
        
        #main_section > div > table + table tr td:first-child
        {
          padding: 0;
          margin: 1em auto 0;
          width: 100px;
          height: 100px;
          border-radius: 50%;
          overflow: hidden;
          float: right;
        }
        
        #main_section > div > table + table tr td:first-child + td > b
        {
          display: block !important;
        }
        
        #main_section > div > table + table tr td:first-child + td > br
        {
          display: none;
        }
        
        #main_section > div > table + table tr td:first-child + td > b:last-of-type
        {
          padding-bottom: 0.5em;
          margin-bottom: 0.5em;
        }
        */

    /* Iframe content - Demo Gods */

    html.custom body #main_section #cont .TabUL li
    {
        width: 50%;
    }

    html.custom body #main_section #cont .TabPanel
    {
        -webkit-column-count: 2; /* Chrome, Safari, Opera */
        -moz-column-count: 2; /* Firefox */
        column-count: 2;
    }

    /* Iframe content - Alumni */

    html.custom body #main_section div.flash_container
    {
        float: none;
        margin: 1.111em 0;
    }
}

@media screen and (max-width: 640px), only screen and (max-device-width: 480px) and (orientation: portrait)
{

    @-moz-document url-prefix() {
        /* Firefox doesn't respect max-width in certain situations */
        img,
        embed,
        object,
        video
        {
            max-width: -moz-max-content;
            width: 100%;
        }
}

    /* Exclusions */

    #the-header #tagline,
    #the-header #ne-place,
    #the-header td.gsc-clear-button,
    .m-hide
    {
        display: none !important;
    }

    .m-show
    {
        display: block;
    }

    ul li,
    .button
    {
        white-space: normal !important;
    }

    [id*="section"] ul.columns li,
    #page ul.columns li
    {
        width: 50%;
        margin-right: 0;
        white-space: pre !important;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    #the-header > *,
    #the-footer > *
    {
        margin: 1em 0;
        padding: 0.778rem 1.111rem;
        text-align: left !important;
        float: none !important;
        clear: both !important;
    }

    #the-footer > *
    {
        display: block !important; /* CAREFUL */
    }

    #the-header script,
    #the-footer script
    {
        display: none !important;
    }

    .set.cta
    {
        margin: 0.75rem 0 !important;
    }

    .button
    {
        font-size: 0.9rem !important; /* Reduce to 36px tall */
    }

    a.button
    {
        margin: 0.333rem 0 !important;
        width: 100% !important;
        padding: 0 !important;
        text-align: center !important;
        width: 100% !important;
    }

    /* Non-home-page button overrides */

    .has-sidebars #main_section a.button,
    .has-sidebars #main_section a.button:first-child
    {
        line-height: 1.25em;
        padding: 0.5em 1em !important;
    }

    /* HEADER */

    #the-header
    {
        position: relative;
    }

    #outer_table > tbody > tr:first-child > td
    {
        padding: 0 !important;
    }

    #the-header *
    {
        margin-left: 0 !important;
    }

    #the-header #logo
    {
        margin: 0;
    }

    /* TOP MENU */

    #the-header ul#top-nav
    {
        font-size: 0.778em !important;
        margin: 0;
        padding: .667rem 1.111rem;
        border-top: 1px solid #e6e6e6;
        border-bottom: 1px solid #e6e6e6;
        position: static;
        background-image: none !important;
        text-align: justify !important;

        -webkit-transition: margin .5s ease-in-out;
        transition: margin .5s ease-in-out;
    }

    #the-header ul#top-nav:after
    {
        content: '';
        display: inline-block;
        width: 100%;
    }

    #the-header #top-nav li
    {
        padding-top: 0;
    }

    #the-header #top-nav li#google-search
    {
        position: absolute;
        top: 0.778rem;
        right: 1.111rem;
        overflow: hidden;
        /*      visibility: hidden; */
        background-color: white;
        width: 2.222rem;
        box-shadow: -1em 0 1em white;

        -webkit-transition: all .5s ease-in-out;
        transition: all .5s ease-in-out;
    }

    .has-js #the-header #top-nav li#google-search
    {
        right: 3.333rem;
    }

    #the-header #top-nav li#google-search > a
    {
        display: block;
        width: 2.222rem;
        height: 2.222rem;
        overflow: hidden;

        padding-right: 0 !important;

        /*      background-image: url("/file_uploads/f794ecfe62bbda8ff91a93ca1e4085f3_magnifying-glass.png"); */
        /*      background-image: url("/file_uploads/e1ef1fa318677bbfd85081c1f9ac84de_magnifying-glass.svg"), none; */

        background-repeat: no-repeat;
        background-position: 50%;
        background-size: 1.111rem auto;
    }

    #the-header #top-nav.active li#google-search
    {
        width: 90%; /* Android old */
        width: calc(100% - 1.667rem);
        right: 1.111rem;
    }

    #the-header #top-nav li #cse-search-form
    {
        display: block !important;
        left: 2.222rem;
        top: 0.5rem;
    }

    #the-header .cse input.gsc-input, #the-header input.gsc-input
    {
        font-size: 1.1em !important;
        border-radius: 0 !important;
        -webkit-appearance: none;
    }

    #the-header .cse input.gsc-search-button, #the-header input.gsc-search-button
    {
        -webkit-appearance: none;
        border-bottom: 1px solid #0073ae !important;
    }

    /* Mobile Menu button */

    #the-header li#mobile-menu
    {
        display: none;
        position: absolute;
        top: 0.778rem;
        right: 1.111rem;
    }

    .has-js #the-header li#mobile-menu
    {
        display: block;
    }

    #the-header #top-nav.active li#mobile-menu
    {
        visibility: hidden;
    }

    #the-header li#mobile-menu > a
    {
        display: block;

        font-size: 0 !important;
        line-height: 1px;

        width: 1.778rem;
        margin-top: 0.5rem;
        padding: 0.5rem 0;

        border-top: 1px solid #717171 !important;
        border-bottom: 1px solid #717171 !important;
        background-color: #717171;
        background-clip: content-box;

        -webkit-transition: all 0.25s ease-in-out;
        transition: all 0.25s ease-in-out;
    }

    .has-js #the-header li#mobile-menu > a:hover
    {
        border-color: #bababa !important;
        background-color: #bababa;
    }

    .menu #the-header li#mobile-menu > a
    {
        border-color: #bababa !important;
        background-color: #bababa;

        margin-top: 0.333rem;
        padding: 0.667rem 0 !important;
    }

    /* "NEW" tag per menu item */

    div.ehtm > ul > li a.link-new:after,
    div.ehtm > ul > li a.link-new:hover:after
    {
        content: "NEW EVENT" !important;
        display: inline-block !important;
        position: static !important;
        margin-left: 1em !important;
        margin-top: -.5em !important;
        vertical-align: middle;
        font-size: .55em !important;
    }

    a.link-new:before,
    a.link-new:hover:before
    {
        display: none;
    }

    /* NEXT EVENT LINE */

    #the-header #mission
    {
        padding: .778rem 1.111rem !important;
        margin: 0 !important;
        border-bottom: 1px solid #e6e6e6;
    }

    #the-header #mission #next-event
    {
        font-size: inherit !important;
        text-transform: uppercase;
    }

    #the-header #mission #next-event:before
    {
        content: 'Up Next:  ';
        color: #717171;
        font-weight: 300;
        white-space: pre;
    }

    X#the-header #mission #next-event strong:after
    {
        content: "  - ";
        white-space: pre;
    }

    #the-header #mission #next-event #ne-date:after
    {
        content: "  >";
        white-space: pre;
    }

    /* AddThis widget */

    #the-header #top-nav #share-menu > a + #addThis,
    #the-header #top-nav #share-menu > a:hover + #addThis,
    #the-header #top-nav #share-menu > a + #addThis:hover
    {
        max-width: 100em;
        -webkit-transform: scale(0.5);
        transform: scale(0.5);
        margin-bottom: calc(-2.5em + 1px);
        margin-left: -5.222em !important;
        padding-left: 0 !important;
        left: 0 !important;
        right: auto !important;
        box-shadow: 10em 0 0 -1px white;
    }

    #the-header #top-nav #share-menu > a + #addThis
    {
        display: none;
    }

    #the-header #top-nav #share-menu > a + #addThis:hover,
    #the-header #top-nav #share-menu > a + #addThis:active,
    #the-header #top-nav #share-menu > a:hover + #addThis,
    #the-header #top-nav #share-menu > a:active + #addThis
    {
        display: block;
    }

    #the-header #top-nav #share-menu > a + #addThis a
    {
        margin-left: 2em !important
    }

    #at15s.atm
    {
        left: 50% !important;
        width: 40% !important;
    }

    /* EHTM - Activated Mobile Main Menu */

    div.ehtm
    {
        height: auto;
        overflow: hidden;

        -webkit-transition: height .5s ease-in-out;
        transition: height .5s ease-in-out;
    }

    div.ehtm
    {
        z-index: 100 !important;
        padding: 0 !important;
        margin: 0 !important;
        top: 3.6rem;
        left: 0rem;
        right: 0rem;
        font-size: 1rem !important;
        background: #717171 !important;
        background-size: 300% !important;
    }

    .has-js div.ehtm
    {
        height: 0;
        position: absolute !important;
    }

    html > body .ehtm > ul > li:first-child
    {
        /*      display: none !important; */
    }

    div.ehtm > ul > li
    {
        display: block !important;
        text-align: left;
        margin: 0 !important;
        padding: 0.5em 0 !important;
        border-top: 1px solid rgba(0, 0, 0, 0.6);
        background-color: rgba(0, 0, 0, 0.8);
    }

    .has-js div.ehtm > ul > li
    {
        padding: 0 !important;
        background-color: transparent;
    }

    div.ehtm > ul > li a
    {
        display: block;
        font-weight: bold;
        border: none !important;
        background-color: transparent;
        padding-left: 1.111rem;
    }

    .has-js div.ehtm > ul > li a
    {
        background-color: rgba(0, 0, 0, 0.8);
    }

    div.ehtm > ul > li a:hover
    {
        text-decoration: underline !important;
    }

    .has-js div.ehtm > ul > li a:hover
    {
        background-color: rgba(0, 0, 0, 0.6);
        text-shadow: 0 0 1em black;
    }

    /* Manual height for mobile menu/margin top = #menu-items X 2.625 rem */
    /* Replaced with dynamic JS */

    .menu #the-header #top-nav
    {
        /*      margin-top: 7.875rem !important; */
    }

    .menu div.ehtm
    {
        /*      height: 7.875rem !important; */
    }

    div.ehtm > ul > li a:after
    {
        content: none !important;
        display: none !important;
    }

    /* FOOTER */

    html > body > table #inner_content div#footer_section
    {
        font-size: inherit !important;
        padding: 0 !important;
    }

    #the-footer #idg-logo
    {
        width: 100%;
        margin: 0;
        float: none;
    }

    #the-footer #idg-logo img
    {
        width: 8.888em;
        float: left;
    }

    #the-footer #idg-logo a:after
    {
        display: block;
        margin: 0.167rem 0;
        width: 7.333rem;
        font-size: 0.667rem !important;
        float: right;
        opacity: 0.9;
    }

    #the-footer #idg-network
    {
        padding-bottom: 0;
    }

    #the-footer #links
    {
        font-size: 0.667rem !important;
        width: 100%;
        float: none;
        clear: both;
        padding-top: 1em;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    #the-footer #coda
    {
        width: 100% !important;
        margin: 0;
        padding-top: 0;
        padding-bottom: 1.111rem !important;
        line-height: 1.8em;
    }

    #the-footer #coda a.button.backtop
    {
        margin: 0 0 1em !important;
    }

    /* Sponsor groups */

    div#main_section .sponsor-group img
    {
        max-width: none;
        width: 50%;
        height: auto;
        margin: 0;
        padding: 1.111em;
        box-sizing: border-box;
    }

    /* ! GENERAL BODY LAYOUT ADJUSTMENTS */

    html > body > table #inner_content div.eh_outer_div > div,
    html > body > table #inner_content div.eh_outer_div > div#header_section:first-child,
    html > body > table #inner_content div.eh_outer_div > div#right_sidebar_section,
    html > body > table #inner_content div.eh_outer_div > div#main_section:first-child,
    html > body > table #inner_content div.eh_outer_div > div#main_section:first-child + div#right_sidebar_section
    {
        display: block !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 1.111rem;
        font-size: 80% !important;
        line-height: 1.75em;
    }

    /* Undo "no-sidebar-right" layout rules */

    body.has-sidebars .eh_outer_div > div#left_sidebar_section,
    body.has-sidebars[class] .eh_outer_div > div#main_section,
    body.has-sidebars .eh_outer_div > div#right_sidebar_section
    {
        max-width: none !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    html > body > table #inner_content div.eh_outer_div > div#left_sidebar_section
    {
        border-bottom: 1px solid #e6e6e6;
        padding-bottom: .667em;
    }

    html > body > table #inner_content div.eh_outer_div > div#main_section
    {
        padding-top: 2.222rem;
        padding-bottom: 2.222rem;
    }

    div#right_sidebar_section
    {
        background-color: #fafafa;
        /*      text-shadow: 0 1px 0 white; */
    }

    html > body > table #inner_content div.eh_outer_div > div#right_sidebar_section,
    html > body > table #inner_content div.eh_outer_div > div#main_section:first-child + div#right_sidebar_section
    {
        margin-bottom: 4.444rem !important;
        border-top: 1px solid #e6e6e6;
        border-bottom: 1px solid #e6e6e6;
        position: relative;
    }

    div#right_sidebar_section:after
    {
        content: none;
        display: none;
    }

    html > body #main_section > div:first-child > table:first-child[cellpadding="2"]
    {
        margin-top: 0;
    }

    html > body div.sidenav
    {
        margin-bottom: -0.554em;
    }

    html > body div.sidenav ul li,
    html > body div#ehsm > ul > li li
    {
        display: inline-block;
        margin-right: 1em;
    }

    html > body div#right_sidebar_section > div
    {
        padding: 1.111rem 0 !important;
    }

    Xhtml > body #right_sidebar_section > div:first-child
    {
        position: static;
        padding: 0 !important;
    }

    html > body #right_sidebar_section > div:first-child .set.socials
    {
        bottom: -3.75rem;
    }

    html > body #right_sidebar_section > div:first-child .set.socials a
    {
        margin-right: 1.4em;
    }

    ul.floating li
    {
        float: none !important;
        width: auto !important;
    }

    /* Iframe content - Demo Gods */

    html.custom body #main_section ul.col2
    {
        display: block;
        width: 100%;
    }

    html.custom body #main_section .graybox > div
    {
        float: none !important;
        width: 100% !important;
        padding: 0 !important;
    }

    /* Iframe content - Alumni */

    html.custom body #main_section #cont .TabUL li
    {
        float: none;
        width: 100%;
    }

    html.custom body #main_section #cont .TabPanel
    {
        -webkit-column-count: auto; /* Chrome, Safari, Opera */
        -moz-column-count: 0; /* Firefox */
        column-count: 0;
    }
}

/* Form edits */

@media screen and (max-width: 480px), only screen and (max-device-width: 480px) and (orientation: portrait)
{

    .formpage #inner_content
    {
        padding: 1.111em !important;
    }

    .formpage #inner_content #the-footer:before
    {
        content: none;
        display: none;
    }

    .formpage #inner_content #the-footer
    {
        margin-left: -1.111em;
        margin-right: -1.111em;
    }

    .formpage h1
    {
        font-size: 2em !important;
    }

    .formpage form table
    {
        table-layout: auto;
        width: 100%;
    }

    .formpage form td
    {
        display: block;
        width: 100% !important;
        min-width: 100% !important;
    }

    .formpage form input
    {
        float: none !important;
        width: 100% !important;
    }
}

@media only screen and (max-device-width: 568px) and (orientation: landscape)
{

    html,
    body
    {
        font-size: 12px !important;
    }
}

/* new eReg mobile styles */

@media screen and (max-width: 768px)
{

    .formpage #top-nav
    {
        display: none;
    }
}

