html, body { color: #333; font-family: "Roboto", sans-serif; font-size: 16px; -webkit-font-smoothing: antialiased; }
.container { padding: 0; width: 100%; }

/* Links */
a { transition: background-color .2s, color .2s; padding: 4px 0; }
a:hover { text-decoration: none; }
a:focus { text-decoration: none; }
button { background: #666; border: 0; color: #fff; margin: 12px 0 6px; padding: 6px 12px; transition: background .2s, color .2s; }
button:hover { background: #999; }

/* Headers */
h1 { font-size: 3.4em; margin: 32px 0 0; }
h2 { font-size: 2.6em; margin: 32px 0 0; }
h3 { font-size: 1.8em; margin: 32px 0 0; }
h4 { font-size: 1.5em; margin: 32px 0 0; }
h5 { font-size: 1.4em; margin: 32px 0 0; }
h6 { font-size: 1.2em; margin: 32px 0 0; }

/* Paragraphs & Lists */
p { line-height: 1.5em; margin: 20px 0; }
ul, ol { margin: 16px 0 10px; }
li { line-height: 1.4em; margin-bottom: 8px; }
img { max-width: 100%; }

/* Header */
#skiptocontent { background-color: #fff; border-radius: 8px; box-shadow: 2px 2px 8px 0 #000; font-size: 1.3em; left: -9999px; padding: 6px 12px; position: absolute; top: -9999px; }
#skiptocontent:focus { left: 8px; top: 8px; }

#mobile-menu { background: transparent; border: 0; display: none; float: right; margin: 0; padding: 21px 22px; position: relative; }
#mobile-menu .line { background: #000; display: block; height: 3px; left: 0; margin: 2px 0 6px; position: relative; top: 0; transition: .3s; width: 26px; }

/* General Formatting */
.row { margin: 0; }
#content { margin: 0 auto; max-width: 100%; }
#content > .row { padding: 64px 20% 60px; }
#content .row > div { padding: 0 2%; }
#content .row > div:first-of-type { padding-left: 0; }
#content .row > div:last-of-type { padding-right: 0; }

.ada-element { left: -9999px; position: absolute; }
.uppercase { text-transform: uppercase; }

/* Homepage */
header { padding: 0; }
header > div img { height: 76px; }
header h1 { left: -9999px; position: absolute; }
header > div { background-color: #000; color: #fff; padding: 20px 3% 20px 2%; }
header nav { background: #fff; height: 70px; }
header nav ul { margin: 0 3%; padding: 20px 0; text-align: right; }
header nav li { display: inline-block; margin: 0; margin-left: 46px; }
header nav li a { color: #29446E; display: block; font-weight: 700; }
header nav li a:hover { color: #112442; }
header nav img { background: #000; height: 70px; left: -300px; padding: 8px 12px 8px 16px; position: absolute; transition: left .4s; }
header.fix-it nav { box-shadow: 0 3px 8px -3px #333; position: fixed; top: 0; width: 100%; z-index: 80; }
header.fix-it nav img { left: 0; }

h3 { border-bottom: 5px solid #FCB52A; display: inline-block; font-weight: 700; margin-bottom: 16px; padding-bottom: 8px; text-transform: uppercase; }

#translation-widget { float: right; padding-top: 24px; }
#translation-widget label { left: -9999px; position: absolute;  }
#translation-widget select { background: #000; color: #fff; width: 100%; }
#google_translate_element { display: none; }

#page-header { background: url("../images/tnmp_bg1.jpg"); background-position: center; background-size: cover; padding: 108px 0; }
#page-header > div { background: #000; background: rgba(0,0,0,.8); color: #fff; margin-left: 50%; padding: 36px 44px 44px; }
#page-header img { height: 110px; }
#page-header h2 { border-top: 5px solid #FCB52A; font-weight: 700; margin-top: 42px; padding-top: 20px; }
#page-header p { font-size: 1.2em; margin-top: 28px; }

#announcement { background: #FCB52A; padding: 24px 10% !important; }
#announcement p { font-size: 1.1em; font-weight: 700; margin: 12px 0; min-height: 44px; padding-left: 62px; position: relative; vertical-align: middle; width: 96%; }
#announcement img { height: 40px; left: 0; position: absolute; }

#supporting-communities { background-image: linear-gradient( to bottom, #fff8ea, #FEF7EA ); }

#structure-types { padding-bottom: 0 !important; }
#post-comparison { padding-top: 14px !important; }
#post-comparison h4 { background: #fcb52a; display: Inline-block; font-size: 1.7em; font-weight: 700; margin-bottom: 34px; padding: 6px 14px; }

#schedule > div > ul { list-style-type: none; margin: 34px 0 42px; padding: 0; position: relative; }
#schedule > div > ul h4 { background: #fcb52a; display: inline-block; font-size: 1.2em; font-weight: 700; left: -72px; margin: 0; padding: 4px 8px; position: absolute; text-align: center; vertical-align: top; width: 70px; }
#schedule > div > ul > li { border-left: 2px solid #000; margin: 0; min-height: 120px; margin-left: 70px; position: relative; }
#schedule > div > ul > li:before,
#schedule > div > ul > li:after { border: 2px solid #000; border-width: 2px 0; content: ""; height: 27%; margin-top: -2px; position: absolute; top: 12.5%; width: 18px; }
#schedule > div > ul > li:after { left: 0; top: 62.5%; }
#schedule > div > ul > li:last-of-type { min-height: auto; }
#schedule > div > ul > li:last-of-type h4 { position: relative; }
#schedule > div > ul > li:last-of-type:before { display: none; }
#schedule > div > ul > li:last-of-type:after { border-bottom-width: 0; }
#schedule > div > ul ul { display: inline-block; margin-left: 60px; margin-top: 0; padding: 0; position: relative; }
#schedule > div > ul ul li { display: inline-block; margin-right: 26px; margin-bottom: 0; padding-left: 60px; position: relative; vertical-align: top; }
#schedule > div > ul ul li:first-of-type:before { background: #aea8a8; content: ""; height: 2px; margin-top: -2px; position: absolute; right: 100%; top: 60px; width: 60px; }
#schedule > div > ul ul img { background: #000; left: 0; padding: 8px; position: absolute; width: 60px; }
#schedule > div > ul ul h5 { border-bottom: 2px solid #000; font-weight: 700; height: 60px; margin: 0; padding: 4px 10px; }
#schedule > div > ul ul .line-break { display: block; }
#schedule > div > ul ul p { font-size: .9em; line-height: 1.1em; margin: 8px 10px; }

#contact { background: #29446E; color: #fff; }

/* Lightbox */
.showing-hdr-lightbox { overflow: hidden; }
.hdr-lightbox img { width: 100%; }
.hdr-lightbox a { display: block;}
.hdr-lightbox > button { background-color: rgba(0,0,0,.75); border: 0; cursor: pointer; display: none; height: 0; left: -9999px; margin: 0; position: absolute; top: 0; transition: 0s; width: 100%; }
.hdr-lightbox button span { left: -9999px; position: absolute; }
.hdr-lightbox > div { top: 80px; }
.hdr-lightbox > div .hdr-close-lightbox { background: 0; border: 0; font-size: 3em; display: none; line-height: 1em; position: fixed; right: 14px; top: -4px; }
.hdr-lightbox.enhanced { height: 100%; left: 0; position: fixed; top: 0; width: 100%; z-index: 5555; }
.hdr-lightbox.enhanced > button { display: block; height: 100%; left: 0; transition: height .6s, left 0s; }
.hdr-lightbox.enhanced > div { background-color: #fff; border: 1px solid #333; box-shadow: 4px 13px 28px 0 #111; left: 6%; margin: 0; max-height: 80%; overflow: auto; position: absolute; top: 40px; transition: .8s; width: 86%; }
.hdr-lightbox.enhanced > div .hdr-close-lightbox { display: block; }

/* Footer */
footer { background-color: #000; color: #fff; padding: 28px 4%; }
footer p { margin: 0; }
footer img { max-width: 160px; width: 100%; }
footer a { color: #FCB52A; display: block; }
footer a:hover { color: #c0840f; }
#back-to-top img { width: 32px;  }

/* Forms */
form { margin: 18px 0; }
label { display: block; margin: 10px 0 8px; width: 100%; }
input[type="text"] { margin-bottom: 8px; padding-left: 3px; width: 100%; }
textarea { height: 80px; margin-bottom: 8px; padding: 3px 5px; resize: none; width: 100%; }
input[type="checkbox"],
input[type="radio"] { margin: 0 4px 0 2px; }
input[type="checkbox"] + label,
input[type="radio"] + label { display: inline-block; margin-right: 14px; position: relative; top: -1px; width: auto; }
input[type="submit"],
input[type="reset"] { background-color: #666; border-radius: 14px; border: 0; color: #fff; letter-spacing: .05em; margin-top: 14px; padding: 4px 16px; transition: background-color .2s; }
input[type="submit"]:hover,
input[type="reset"]:hover { background-color: #999; }

/* Tables */
table { border: 1px solid #333; margin: 14px 0; width: 100%; }
table tr th { border: 1px solid #333; padding: 2px 4px; }
table tr td { border: 1px solid #333; padding: 2px 4px; }

/* Lightbox */
.showing-hdr-lightbox { overflow: hidden; }
.hdr-lightbox img { width: 100%; }
.hdr-lightbox a { display: block; }
.hdr-lightbox > button { background-color: rgba(0,0,0,.75); border: 0; cursor: pointer; display: none; height: 0; left: -9999px; margin: 0; position: absolute; top: 0; transition: 0s; width: 100%; }
.hdr-lightbox button span { left: -9999px; position: absolute; }
.hdr-lightbox > div { background: #fff; top: 80px; }
.hdr-lightbox > div .hdr-close-lightbox { background: 0; border: 0; font-size: 3em; display: none; line-height: 1em; position: fixed; right: 14px; top: -4px; }
.hdr-lightbox.enhanced { height: 100%; left: 0; position: fixed; top: 0; width: 100%; z-index: 5555; }
.hdr-lightbox.enhanced > button { display: block; height: 100%; left: 0; transition: height .6s, left 0s; }
.hdr-lightbox.enhanced > div { background-color: #fff; border: 1px solid #333; box-shadow: 4px 13px 28px 0 #111; left: 6%; margin: 0; max-height: 80%; overflow: auto; padding: 24px 42px 34px; position: absolute; top: 40px; transition: .8s; width: 86%; }
.hdr-lightbox.enhanced > div .hdr-close-lightbox { display: block; }

@media screen and (max-width: 992px) {
    .hdr-lightbox > div .hdr-close-lightbox { font-size: 2em; right: 8px; }
    .hdr-lightbox.enhanced img { max-width: 800%; width: 260%; }
}

/************ Responsive ****************************************************************************************/

@media screen and (min-width: 2030px) {
    html,body { font-size: 18px; }
    p { line-height: 1.8em; margin: 24px 0 8px; }
    h1, h2, h3, h4, h5, h6 { margin: 54px 0 0; }
}

@media screen and (max-width: 992px) {
    h1 { font-size: 2.2em; margin: 24px 0 6px; }
    h2 { font-size: 1.6em; margin: 24px 0 0; }
    h3 { font-size: 1.4em; margin: 24px 0 0; }
    h4 { font-size: 1.3em; margin: 24px 0 0; }
    h5 { font-size: 1.2em; margin: 24px 0 0; }
    h6 { font-size: 1.1em; margin: 24px 0 0; }
    p, li { font-size: .9em; line-height: 1.3em; }
    button { font-size: .9em; padding: 4px 10px; }

    #content > .row { padding: 12px 6% 18px; }
    #content .row > div { padding: 0 !important; }
    
    .hdr-lightbox > div .hdr-close-lightbox { font-size: 2em; right: 8px; }
    .hdr-lightbox.enhanced img { max-width: 800%; width: 1000px; }

    /* Header */
    #mobile-menu { display: inline-block; }
    .menu-opened #mobile-menu .line.top { top: 8px; transform: rotate(45deg); }
    .menu-opened #mobile-menu .line.mid { opacity: 0; transform: rotate(90deg); }
    .menu-opened #mobile-menu .line.btm { top: -10px; transform: rotate(-45deg); }
    
    header nav { position: relative; }
    header nav ul { background-color: #333; box-shadow: 2px 4px 8px -4px #000; margin: 0 8px; opacity: 0; padding: 0; position: absolute; right: 110%; top: 100%; width: 220px; z-index: 1; }
    header nav li { border-top: 1px solid #fff; display: block; margin: 0; padding: 4px; text-align: center; width: 100%; }
    header nav li a { color: #fff; }
    .menu-opened header nav ul { opacity: 1; right: 0; transition: right 0s, opacity .2s; }

    header > div { padding: 10px 2% 14px; }
    #translation-widget { font-size: .85em; padding-top: 28px; }
    
    #post-comparison .hdr-lightbox { max-width: 300px; }
    #post-comparison .hdr-lightbox.enhanced { max-width: 100%; }
    #post-comparison h4 { font-size: 1.4em;  }
    
    footer img { max-width: 120px; }
    footer p { margin: 16px 0 4px; }
    #back-to-top { float: right; }
}

@media screen and (max-width: 768px) {
    header { margin-bottom: 0; }
    #content > .row { padding: 8px 8%; }

    header nav { height: 46px; }
    header.fix-it nav img { height: 46px; padding: 6px 6px 5px 8px; }
    #mobile-menu { padding: 11px; }
    
    #page-header { font-size: .9em; padding: 48px 0; }
    #page-header > div { margin-left: 14%; padding: 24px 32px 16px; }
    #page-header img { height: 80px; }
    #page-header h2 { margin-top: 32px; padding-top: 14px; }
    
    #announcement { padding: 14px 5% !important; }
    iframe {height: 500px;}
}

@media screen and (max-width: 500px) {
    header > div { text-align: center; }
    header > div img { height: 52px; }
    #translation-widget { float: none; padding: 18px 16px 6px; }
    
    #schedule > div > ul h4 { position: static !important; }
    #schedule > div > ul ul h5 { height: auto; }
    #schedule > div > ul > li { height: auto !important; margin: 0; }
    #schedule > div > ul > li:before,
    #schedule > div > ul > li:after { display: none; }
    #schedule > div > ul ul { display: block;  margin-left: 0; padding: 18px 12px; position: static; }
    #schedule > div > ul ul li { margin-left: 0; }
    #schedule > div > ul ul li:first-of-type:before { display: none; }
}