{"id":49933,"date":"2026-01-27T12:57:49","date_gmt":"2026-01-27T18:57:49","guid":{"rendered":"https:\/\/www.hmns.org\/?post_type=exhibits&#038;p=49933"},"modified":"2026-03-31T13:36:51","modified_gmt":"2026-03-31T18:36:51","slug":"freedom-plane","status":"publish","type":"exhibits","link":"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/","title":{"rendered":"Freedom Plane National Tour: Documents That Forged a Nation"},"content":{"rendered":"<style type=\"text\/css\">\n\t#container { padding-top: 100px !important;}\n\t#content { padding-top: 0; margin-top: -150px; }\n\t#homepage-hero {\n\t\tposition: relative;\n\t\tpadding: 380px 0 170px;\n\t\tmargin: 0px auto 0px;\n\t\tmax-width: 100%;\n\t\twidth: 1400px;\t\t\n\t}\n\t.shade {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 50%;\n\t\twidth: 100vw;\n\t\theight: 100%;\n\t\ttransform: translate(-50%,0);\n\t\tz-index: 1;\t\n\t\tbackground: rgba(0,0,0,.3);\n\t}\n\t\n\t#homepage-hero .sub { line-height: 1.2; margin-top: 8px;  }\n\t#homepage-hero .sub, #homepage-hero .large-title {\n\t\tcolor: white;\n\t\ttext-align: left;\n\t}\n\t#homepage-hero .super {\n\t\tcolor: white;\t\n\t\tfont-family: 'Termina';\n\t\tfont-weight: 500;\n\t\ttext-transform: uppercase;\n\t\tfont-size: 14px;\n\t\tmargin-bottom: 8px;\n\t\ttext-shadow: 0px 0px 4px rgba(0, 0, 0, 0.85);\n\t}\n\t#homepage-hero .super-large {\n\t\tcolor:white;\n\t\tfont-family: 'Termina';\n\t\tfont-size: 30px;\n\t\tfont-style: normal;\t\n\t\tletter-spacing: 1.5px;\n\t\tfont-weight: 500;\n\t\tmargin-bottom:8px;\n\t}\t\n\t\n\t\n\t\n\t#homepage-hero .super.extra-margin { margin-bottom: 16px; }\n\t#homepage-hero .super a {\n\t\tcolor: white;\n\t\tpadding-bottom: 8px;\n\t\tborder-bottom: 1px solid var(--serengeti);\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\twidth: max-content;\n\t}\n\t\n\t#homepage-hero .super a svg { margin-right: 4px; }\n\t\n\t#homepage-hero .super a:hover {\n\t\tborder-bottom-color: var(--monarch);\t\n\t}\n\t\n\t\n\t#homepage-hero .cta-flex {\n\t\tdisplay: flex; \n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tmargin-top: 48px;\n\t\tcolumn-gap: 24px;\t\n\t}\n\t#homepage-hero a:hover {\n\t\tcolor: ;\n\t\tborder-color: ;\t\n\t}\n\t#homepage-hero .large-title, #homepage-hero .sub {  transition: all .5s; line-height: 1.2; text-shadow:0px 1px 8px rgba(0, 0, 0, 0.85); }\n\t\/*#homepage-hero .title.shrink-hh-title {font-size: 50px; }*\/\n\t#homepage-hero .large-title:last-child { margin-bottom: 30px; }\n\t#homepage-hero .fw-bg {\n\t\tbackground-image: url('https:\/\/www.hmns.org\/wp-content\/uploads\/2026\/01\/NAF-FPLN_Ad_Digital_HOUSTON_NAF_FPLN_KC_1920x1080-Web-landing-page-Blank.jpg');\n\t\tbackground-size: cover;\n\t\tbackground-position: center center;\n\t\tbackground-repeat: no-repeat;\n\t\tposition: absolute;\n\t\tleft: 50%;\n\t\ttop: 0;\n\t\ttransform: translate(-50%,0);\n\t\twidth: 100vw;\n\t\theight: 100%;\n\t\tz-index: 0;\t\n\t}\n\t#homepage-hero .hero-content {\n\t\tposition: relative;\n\t\tz-index: 1;\t\n\t\ttext-align: left;\n\t\tpadding: 0; \n\t\ttransition: all .5s;\n\t}\n\t#homepage-hero .video-box {\n\t\tposition: absolute;\n\t\twidth: 100vw;\n\t\tleft: 50%;\n\t\ttop: 0;\t\n\t\ttransform:translate(-50%,0);\n\t\toverflow: hidden;\n\t\theight: 100%;\n\t}\n\t#homepage-hero .video-box video {\n\t\tposition: absolute;\n\t\tmin-width: 100%;\n\t\tmin-height: 100%;\t\n\t\tz-index: 0;\n\t\tleft:50%;\n\t\ttop: 50%;\n\t\ttransform:translate(-50%,-50%);\n\t}\n\t.hero-flex {\n\t\tdisplay: flex;\n\t\talign-items: center;\t\n\t\tposition: relative;\n\t\tz-index: 2;\n\t} \n\t#homepage-hero .hero-flex .hero-content {\n\t\twidth: 100%;\n\t}\n\t.bot-texture {\n\t\t\twidth: 100% !important;\n\t\t\tposition: absolute;\n\t\t\tleft: 0;\n\t\t\tbottom: -20px;\t\t\n\t\t\t\n\t\t}\n\t\t.bot-texture path { fill: white; }\n\t\t.content-bg-pattern {\n\t\tposition: absolute;\n\t\tleft: -96px;\n\t\ttop: 0;\n\t\twidth: 766px;\n\t\theight: 100%;\t\n\t}\n\t\n\t.play-pause {\n\t\tposition: absolute;\n\t\tleft: 50%;\n\t\tbottom: 48px;\n\t\ttransform:translate(-50%,0);\t\n\t}\n\t.pause:hover, .play:hover { cursor: pointer; }\n\t\t\n\t@media screen and (max-width:1600px) {\t\n\t\t.content-bg-pattern {\n\t\t\twidth: 718px;\t\t\n\t\t}\n\t}\n\t@media screen and (max-width:1400px) {\n\t\t#homepage-hero .hero-flex .hero-tiles .hero-tiles-flex {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: 1fr 1fr 1fr 1fr;\t\t\n\t\t}\n\t\t#homepage-hero .hero-flex .hero-tiles .tile {\n\t\t\twidth: 100%;\n\t\t\tpadding-bottom: 100%;\t\t\n\t\t}\n\t}\n\t@media screen and (max-width:1340px) {\n\t\t.content-bg-pattern {\n\t\t\twidth: calc(50% + 48px);\n\t\t\tleft: -48px;\n\t\t}\t\n\t}\n\t@media screen and (max-width: 900px) {\n\t\t#homepage-hero .sub { text-align: center; font-size: 24px; }\t\n\t\t#homepage-hero .super-large { font-size: 16px; letter-spacing:.8px; }\n\t}\n\t\n<\/style>\n<style type=\"text\/css\">\n\t@media screen and (max-width:1200px) {\n\t\t#homepage-hero .super { font-size:12px; }\n\t\t#homepage-hero a {\n\t\tpadding: 10px 20px;\n\t\tfont-size: 18px;\n\t}\n\t#homepage-hero {\n\t\tpadding: 250px 0 200px;\t\n\t}\n\t#homepage-hero .hero-content, #homepage-hero .large-title { text-align: center; }\n\t#homepage-hero .super a { width: max-content; margin: 0 auto;  }\n\t\n\t}\n\t@media screen and (max-width:1024px) {\n\t\t#homepage-hero .hero-flex .hero-tiles .hero-tiles-flex {\n\t\t\twidth: 450px;\n\t\t\tmax-width: 100%;\n\t\t\tmargin: 0 auto;\n\t\t\tgrid-template-columns: 1fr 1fr;\t\t\n\t\t}\t\n\t\t#homepage-hero .super-large { font-size: 16px;  letter-spacing:.8px; }\n\t}\n\t@media screen and (max-width: 768px) {\n\t\t.play-pause { display: none; }\n\t\t#homepage-hero .sub, #homepage-hero .large-title {\n\t\t\tcolor: white;\n\t\t\tmax-width: 100%;\n\t\t\ttext-align: center\n\t\t}\n\t\t#homepage-hero {\n\t\tpadding: 200px 0 144px;\t\n\t}\n\t\t#homepage-hero .video-box video {\n\t\theight: 100%;\n\t}\n\t#homepage-hero .cta-flex {\n\t\tdisplay: block;\n\t\tmargin-top: 48px\n\t}\n\t#homepage-hero .cta-flex a.cta {\n\t\twidth: 100%;\n\t\ttext-align: center;\n\t\tdisplay: flex;\n\t\tjustify-content:center;\n\t}\n\t#homepage-hero a {\n\tfont-size: 18px;\n\tmargin: 20px 0;\n\tdisplay: block;\n}\n\t\n\t}\n<\/style>\n<style type=\"text\/css\">\n\n\t@media screen and (max-width: 640px) {\n\t\t#homepage-hero .hero-flex {\n\t\t\tdisplay: block;\t\t\n\t\t}\t\n\t\t#homepage-hero .hero-flex .hero-image {\n\t\t\twidth: 200px;\n\t\t\tmargin: 0 auto;\n\t\t\tposition: relative;\n\t\t}\n\t\t#homepage-hero .hero-flex .hero-content {\n\t\t\twidth: 100%;\n\t\t\ttext-align: center;\n\t\t}\n\t\t#homepage-hero .super {\n\t\t\tfont-size: 12px; \t\t\n\t\t}\n\t\t#homepage-hero {\n\t\t\tpadding: 350px 0 144px;\t\n\t\t}\n\t}\n<\/style>\n<section id=\"homepage-hero\">\n\t\t\t<div class=\"fw-bg\"><div class=\"shade\"><\/div><\/div>\n\t\t\t<div class=\"hero-flex\">\n\t\t<div class=\"hero-content\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"super\">SPECIAL EXHIBITION<\/div>\n\t\t\t\t\t\t\t\t\t\t<h1 class=\"large-title\">Freedom Plane National Tour:<\/h1><h1 class=\"large-title\">Documents That Forged a Nation<\/h1>\t\n\t\t\t\t\t\t\t\t<\/div>\n\t<\/div>\n\t<\/section>\n<script>\njQuery(document).ready(function ($) {\n\t$('.play-pause .pause').on('click tap',function (e) {\n\t\te.preventDefault();\n\t\te.stopImmediatePropagation();\n\t\t$('.video-box video').trigger('pause');\n\t\t$('.play-pause .pause').addClass('hide');\n\t\t$('.play-pause .play').removeClass('hide');\n\t});\n\t$('.play-pause .play').on('click tap',function (e) {\n\t\te.preventDefault();\n\t\te.stopImmediatePropagation();\n\t\t$('.video-box video').trigger('play');\n\t\t$('.play-pause .play').addClass('hide');\n\t\t$('.play-pause .pause').removeClass('hide');\n\t});\n\t$('.play-pause .play').on('keydown',function (e) {\n\t\tif (e.keyCode == 32) {\n\t\t\te.preventDefault();\n\t\t\t$('.video-box video').trigger('play');\n\t\t\t$('.play-pause .play').addClass('hide');\n\t\t\t$('.play-pause .pause').removeClass('hide').focus();\n\t\t}\n\t});\n\t$('.play-pause .pause').on('keydown',function (e) {\n\t\tif (e.keyCode == 32) {\n\t\t\te.preventDefault();\n\t\t\t$('.video-box video').trigger('pause');\n\t\t\t$('.play-pause .pause').addClass('hide');\n\t\t\t$('.play-pause .play').removeClass('hide').focus();\n\t\t}\n\t});\n});\n<\/script>\n\n<style type=\"text\/css\">\n\t#featured-exhibit-info {\n\t\tpadding: 96px 0 96px;\n\t\twidth: 1400px;\n\t\tmargin: 0 auto;\n\t\tmax-width: 100%;\n\t\tz-index: 4;\n\t}\n\t#featured-exhibit-info .fei-flex {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tcolumn-gap: 126px;\t\n\t}\n\t#featured-exhibit-info .featured-background-info {\n\t\twidth: 700px;\t\n\t}\n\t#featured-exhibit-info .featured-background-info h2.feat-info-title {\n\t\tfont-family: 'Sentinel Semibold';\n\t\tfont-size: 45px;\n\t\tline-height: 55px;\n\t\tfont-weight: 375;\t\n\t\tmargin-bottom: 24px;\n\t}\n\t#featured-exhibit-info .featured-background-info .feat-info-sub {\n\t\tfont-family: 'Ringside Regular';\n\t\tfont-size: 25px;\n\t\tline-height: 35px;\t\n\t\tmargin-bottom: 24px;\n\t}\n\t#featured-exhibit-info .info-card {\n\t\twidth: 574px;\n\t\tmargin-top: -200px;\n\t\tbackground: var(--dark-grey);\n\t\tbackground-image:url(\/wp-content\/uploads\/2023\/08\/image-1.png);\n\t\tbackground-repeat: repeat;\n\t\tbackground-size:auto;\n\t\tpadding: 32px;\n\t\tcolor: var(--cream);\t\n\t}\n\t#featured-exhibit-info .button-flex { \n\t\tdisplay: flex;\n\t\talign-items: center;0\n\t\tjustify-content: center;\t\n\t\tmargin-bottom: 32px;\n\t\tcolumn-gap: 24px;\n\t}\n\t#featured-exhibit-info .button-flex a {\n\t\tdisplay: flex;\n\t\talign-items: center;\t\n\t}\n\t#featured-exhibit-info .button-flex a.cta { width: 100%; display:flex; justify-content:center;  }\n\t#featured-exhibit-info .icon-list-flex {\n\t\tdisplay: flex;\n\t\tmargin-bottom: 32px;\t\n\t}\n\t#featured-exhibit-info .icon-list-flex .icon {\n\t\tmargin-right: 10px;\t\n\t}\n\t#featured-exhibit-info .icon-title { \n\t\tfont-family: 'Ringside Regular Bold';\n\t\tfont-weight: 400;\n\t\tline-height: 22px;\n\t\tmargin-bottom: 8px;\n\t}\n\t#featured-exhibit-info .icon-sub {\n\t\tfont-family: 'Sentinel Italic';\n\t}\n\t#featured-exhibit-info .icon-list-flex a {\n\t\tcolor: var(--cream);\n\t\tpadding-bottom: 8px;\n\t\tborder-bottom: 1px solid var(--serengeti);\t\n\t}\n\t#featured-exhibit-info .icon-list-flex a:hover {\n\t\tborder-bottom-color: var(--monarch);\t\n\t}\n\t#featured-exhibit-info .optional-note {\n\t\tpadding: 24px;\n\t\tbackground: #2E3333;\t\n\t}\n\t#featured-exhibit-info .optional-note .on-title {\n\t\tfont-family: 'Sentinel Italic';\n\t\tline-height: 28px;\n\t\tmargin-bottom: 10px;\t\n\t}\n\t #featured-exhibit-info.background-svg-texture {\n\t\tposition: absolute;\n\t\tleft:973px;\n\t\ttop: -250px;\n\t\twidth:1122px;\n\t\theight:1122px;\n\t\tz-index: 6;\n\t\ttransform: rotate(-8.43deg);\n\t\tpointer-events:none;\n\t}\n\t.buy-tickets {\n\t\tbackground: var(--mud);\n  padding: 23px 32px 32px;\n  border-radius: 6px;\n  margin-bottom: 20px;\n\t}\t\n\t.buy-tickets h2 { margin-bottom: 20px; }\n\t.buy-tickets form#addTickets .select-shell {\n\t\twidth: 100%;\n  background: none;\n  justify-content: center;\n  display: flex;\n  align-items: center;\n  border: 1px solid var(--cream);\n  margin-bottom: 12px;\n  border-radius: 0px;\n\t}\n\t.buy-tickets .select-flex {\n\t\tdisplay:flex;\n\t\tjustify-content: center; \n\t\tpadding: 12px 17px;\n\t\tmargin-bottom: 16px;\n\t\tborder: 1px solid var(--cream);\n\t\tborder-radius: 0px;\n\t\tfont-size: 18px;\t\n\t}\n\t.buy-tickets .select-flex.open {\n\t\tbackground:var(--dark-grey);\t\n\t}\n\t.buy-tickets .select-flex:hover {\n\t\tcursor: pointer;\t\n\t}\n\t.buy-tickets .select-flex > svg {\n\t\tposition: absolute;\n\t\tright:17px;\n\t\ttop: 50%;\n\t\ttransform:translate(0,-50%);\t\n\t}\n\t\n\t.selectPerf .perfDropDownMenu, .selectPerfTime .timeDropDownMenu {\n\t\tposition: absolute;\n\t\twidth: 100%;\n\t\theight: 532px;\n\t\tbackground: var(--dark-grey);\n\t\tz-index: 99;\n\t\tpadding:16px 16px 38px;\n\t\ttext-align:center;\n\t\tline-height: 34px;\n\t\toverflow:hidden;\n\t\tborder: 1px solid #cdcdcd;\n\t\tborder-radius: 8px;\t\n\t}\n\t.selectPerf .perfDropDownMenu .select-scrollbox, .selectPerfTime .timeDropDownMenu .select-scrollbox {\n\t\theight: 478px;\t\n\t}\n\t.selectPerf .perfDropDownMenu .select-scrollbox ul, .selectPerfTime .timeDropDownMenu .select-scrollbox ul {\n\t\theight:478px;\n\t\toverflow:auto;\t\n\t}\n\t.selectPerf .perfDropDownMenu ul li:hover, .selectPerf .perfDropDownMenu ul li.selected, .selectPerfTime .timeDropDownMenu ul li:hover, .selectPerfTime .timeDropDownMenu ul li.selected {\n\t\tcolor: var(--monarch);\n\t\tcursor: pointer;\t\n\t}\n\t.buy-tickets form#addTickets select {\n\t\tbackground: none;\n\t  \tborder: none;\n\t  \tappearance: none;\n\t  \tcolor: var(--cream);\n\t  \tfont-size: 18px;\n\t  \tfont-weight: 300;\t\n\t  \tpadding: 12px 17px;\n\t  \twidth: 100%;\t\n\t\ttext-align: center;\n\t\topacity: 1;\n\t\ttransition: all .5s;\n\t}\n\t.buy-tickets form#addTickets .select-shell svg {\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tright: 17px;\n\t\ttransform: translate(0,-50%);\n\t}\n\t\n\t.buy-tickets form#addTickets .select-text .label-italic.white { color: var(--cream); }\n\t\n\t.buy-tickets .label-flex { margin-bottom: 12px; display: flex; gap: 12px; }\n\t\n\t.buy-tickets .form-flex { display: flex; align-items: center; }\n\t.buy-tickets .form-flex .subhead-bold { margin-right: auto; }\n\t.buy-tickets .form-flex input[type=\"number\"] {\n\t\tbackground: none;\n\t\tcolor: white;\n\t\tborder: 1px solid var(--cream);\n\t\tpadding:6px 12px;\t\n\t\twidth: 100px;\n\t\ttext-align: center;\n\t}\n\t\n\t.buy-tickets .price-types {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 12px;\n\t\tmargin-top: 24px;\t\n\t\topacity: 1;\n\t\ttransition: all .5s;\n\t}\n\t.success-msg {\n\t\twidth: 100%;\n\t\tmargin-top: 24px;\n\t\tbackground: none;\n\t\tcolor: white;\n\t\tfont-family: \"Ringside Regular Bold\";\n\t\tfont-size: 18px;\n\t\tpadding: 12px 17px;\n\t\tborder: 1px solid var(--mossy-oak);\n\t\tdisplay: flex;\n\t\tjustify-content: center;\t\n\t\tcolor: var(--mossy-oak);\n\t}\n\t.success-msg svg { width: 20px; height: 20px; }\n\t.success-msg svg path { fill: var(--mossy-oak); }\n\t.buy-tickets form input[type=\"submit\"], .buy-tickets form button.add-to-cart-btn, .add-to-cart-spinner {\n\t\twidth: 100%;\n\t\tmargin-top: 24px;\n\t\tbackground: var(--monarch);\n\t\tcolor: white;\n\t\tfont-family: \"Ringside Regular Bold\";\n\t\tfont-size: 18px;\n\t\tpadding: 12px 17px;\n\t\tborder: var(--monarch);\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t}\n\t.buy-tickets form button.add-to-cart-btn.greyed-out {\n\t\tborder: 1px solid var(--dark-grey);\n\t\tbackground: rgba(196, 196, 196, 0.50);\t\n\t\tcolor: var(--dark-grey);\n\t\topacity: 1 !important;\n\t}\n\t\n\t.buy-tickets form button.add-to-cart-btn.greyed-out svg, .buy-tickets form button.add-to-cart-btn.greyed-out svg * {\n\t\tfill: var(--dark-grey);\n\t\tstroke: var(--dark-grey);\n\t\topacity: 1 !important;\t\n\t}\n\t.buy-tickets form button.add-to-cart-btn svg, .buy-tickets form button.add-to-cart-btn svg * {\n\t\tfill: white;\n\t\tstroke:white;\n\t\topacity: 1 !important;\t\n\t}\n\t.add-to-cart-spinner svg { \/*animation: ajaxspinner 1.5s linear infinite;*\/ width:20px; height: 20px; transform:translate(0,0); top: -10px; right: unset; position absolute; }\n\t.add-to-cart-spinner svg path { \/*fill: white; stroke: white;*\/ }\n\t\n\t.buy-tickets a.cta.secondary { margin-top: 12px; width: 100%; display:block; text-align: center; }\n\t\n\t.buy-tickets .select-text { width: 100%; }\n\t\n\t.buy-tickets .greyed-out, .buy-tickets .greyed-out * { opacity: .5 !important; appearance:none !important; }\n\t.buy-tickets form#addTickets .selectPerfTime.greyed-out .select-shell {\n\t\topacity: .5;\n\t} \n\t\n\t.buy-tickets form#addTickets .select-shell .zone-spinner { position: absolute; top:50%; left: 50%; transform: translate(-50%,-50%); }\n\t.buy-tickets form#addTickets .select-shell .zone-spinner svg { \/*animation: ajaxspinner 1.5s linear infinite;*\/ width:20px; height: 20px; transform:translate(0,0); top: -10px; right: unset; position absolute; }\n\t.buy-tickets form#addTickets .select-shell .zone-spinner svg path {\n\t\t\/* fill: var(--cream); *\/\t\n\t\t\n\t\t\n\t}\n\t.sold-out-msg {\n\t\ttext-align:center;\t\t\t\n\t}\n\t@keyframes ajaxspinner {\n\t\tfrom { transform: rotate(0deg); }\n\t\tto { transform: rotate(359deg); }\n\t}\n\t.num-flexbox {\n\t\tdisplay: flex;\n  \t\talign-items: center;\n  \t\tpadding: 5px;\n  \t\tborder: 1px solid var(--cream);\n  \t\tgap: 0px;\n  \t\twidth: 120px;\t\n\t}\n\t.num-flexbox .minus, .num-flexbox .plus { padding: 8px; height: max-content; display: flex; align-items: center; justify-content: center;}\n\t.num-flexbox .minus:hover, .num-flexbox .plus:hover {\n\t\tcursor: pointer;\t\n\t}\n\t.num-flexbox .tix-num { margin: 0 auto; }\n\t.limited-qty-msg { \n\t\tcolor: var(--cream); \n\t\tfont-size: 14px; \n\t\tfont-style: italic;\n\t\tmargin-bottom: 8px;\n\t}\n\t@media screen and (max-width:1200px) {\n\t\t#featured-exhibit-info .fei-flex {\n\t\t\tdisplay: flex;\t\t\n\t\t\tflex-wrap: wrap;\n\t\t}\t\n\t\t#featured-exhibit-info .fei-flex .featured-background-info {\n\t\t\torder: 2;\n\t\t\twidth: 100%;\n\t\t}\n\t\t #featured-exhibit-info .fei-flex .info-card { order: 1; max-width: 100%; margin: -200px auto 48px; }\n\t}\n\t@media screen and (max-width:768px) {\n\t\t#featured-exhibit-info .fei-flex .info-card { padding: 16px; }\n\t\t#featured-exhibit-info .featured-background-info .feat-info-title { font-size: 25px; line-height: 1.2; }\n\t\t#featured-exhibit-info .featured-background-info .feat-info-sub {\n\t\tfont-family: 'Ringside Regular';\n\t\tfont-size: 21px;\n\t\tline-height: 31px;\t\n\t\tmargin-bottom: 24px;\n\t\t\n\t}\n\t.subhead-bold {\n    font-family: 'Ringside Regular Bold';\n    font-weight: 400;\n    font-size: 16px;\n    line-height: 24px;\n\t\t}\n\t\t.buy-tickets .price-types {\n\tmargin-left: -34px;\n}\n\t.buy-tickets {\n\tbackground: var(--mud);\n\tpadding: 12px;\n\tborder-radius: 6px;\n\tmargin-bottom: 20px;\n}\n\t#featured-exhibit-info .fei-flex .info-card {\n\torder: 1;\n\tmax-width: unset;\n\twidth: 100vw;\n\tleft: 50%;\n\ttransform:translate(-50%,0);\n\tmargin: -24px auto 48px;\n\t\t}\n\t\t#featured-exhibit-info { padding-top: 0; }\n\t\t.selectPerf .perfDropDownMenu .select-scrollbox ul, .selectPerfTime .timeDropDownMenu .select-scrollbox ul {\n\t\t\theight: 442px;\n\t\t\toverflow-y: scroll;\n\t\t}\n\t\t.selectPerf .perfDropDownMenu, .selectPerfTime .timeDropDownMenu {\n\t\t    position: absolute;\n\t\t    width: 100%;\n\t\t    height: 482px;\n\t\t    background: var(--dark-grey);\n\t\t    z-index: 99;\n\t\t    padding: 16px 16px 38px;\n\t\t    text-align: center;\n\t\t    line-height: 34px;\n\t\t    overflow: hidden;\n\t\t    border: 1px solid #cdcdcd;\n\t\t    border-radius: 8px;\n\t\t}\n\t\t\n\t\t.selectPerf .perfDropDownMenu .select-scrollbox, .selectPerfTime .timeDropDownMenu .select-scrollbox {\n    \t\theight: 442px;\n\t\t}\n\t}\n<\/style>\n<section id=\"featured-exhibit-info\">\n\t<div class=\"background-svg-texture abs\"><\/div>\n<div class=\"fw-bg\" style=\"background:#f5f5f5\" role=\"presentation\"><\/div>\t<div class=\"fei-flex\">\n\t\t<div class=\"featured-background-info\">\n\t\t\t<h2 class=\"feat-info-title\">Experience 250 years in the making.<\/h2>\n\t\t\t<div class=\"feat-info-sub\">May 8 \u2013 25, 2026<\/div>\t\t\t<div class=\"feat-info-desc\">Join in as we commemorate and celebrate the 250th anniversary of the signing of the Declaration of Independence!\u00a0From the National Archives, this extraordinary exhibition brings original Founding-era documents to HMNS.<br \/>\n<br \/>\nSee one of only 50 known copies of the Declaration of Independence, Oaths of Allegiance signed by Washington and Hamilton, and the Treaty of Paris that secured America\u2019s independence.<br \/>\n\u00a0<\/div>\n\t\t<\/div>\t\n\t\t<div class=\"info-card\">\n\t\t\t\t\t\t<div class=\"info-list-container\"><div class=\"icon-list-flex\"><div class=\"icon\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 10C0 4.4878 4.4878 0 10 0C15.5122 0 20 4.4878 20 10C20 15.5122 15.5122 20 10 20C4.4878 20 0 15.5122 0 10ZM10 18.2927C14.5756 18.2927 18.2927 14.5756 18.2927 10C18.2927 5.42439 14.5756 1.70732 10 1.70732C5.42439 1.70732 1.70732 5.42439 1.70732 10C1.70732 14.5756 5.42439 18.2927 10 18.2927ZM10.8487 4.17561V9.64878L10.8292 9.63903L14.7413 13.5415C15.0731 13.8732 15.0731 14.4195 14.7413 14.7512C14.5755 14.9171 14.3706 15.0049 14.1365 15.0049C13.9023 15.0049 13.6974 14.9171 13.5316 14.7512L9.37549 10.5951C9.33647 10.5561 9.27793 10.4781 9.27793 10.4781L9.1511 10.2049L9.13159 10.1073V10V4.17561C9.13159 3.69757 9.51208 3.31708 9.99013 3.31708C10.4682 3.31708 10.8487 3.70732 10.8487 4.17561Z\" fill=\"#F2F4EE\"\/>\n<\/svg><\/div><div class=\"icon-titles-link\"><div class=\"icon-title\">Open Today: 9:00 am &#8211; 6:00 pm<\/div><a href=\"\/visit\/\" aria-label=\"Plan A Visit Today\">Plan A Visit <svg width=\"11\" height=\"10\" viewBox=\"0 0 11 10\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"animate-right\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.91273 0.519595C6.17801 0.264267 6.60004 0.272331 6.85537 0.537607L10.647 4.477C10.8955 4.73514 10.8955 5.14349 10.647 5.40163L6.85536 9.34102C6.60004 9.6063 6.178 9.61436 5.91273 9.35903C5.64745 9.1037 5.63939 8.68167 5.89472 8.41639L8.59974 5.60598L1.50004 5.60598C1.13185 5.60598 0.833374 5.3075 0.833374 4.93931C0.833374 4.57112 1.13185 4.27265 1.50004 4.27265L8.59974 4.27265L5.89472 1.46223C5.63939 1.19696 5.64745 0.774923 5.91273 0.519595Z\" fill=\"#F2F4EE\"\/>\n<\/svg><\/a><\/div><\/div><div class=\"icon-list-flex\"><div class=\"icon\"><svg width=\"18\" height=\"22\" viewBox=\"0 0 18 22\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" id=\"huh\">\n<path d=\"M8.8958 5.99585C7.02641 5.99585 5.49988 7.52238 5.49988 9.39177C5.49988 11.2612 7.02641 12.7877 8.8958 12.7877C10.7652 12.7877 12.2917 11.2612 12.2917 9.39177C12.2917 7.52238 10.7652 5.99585 8.8958 5.99585ZM8.8958 11.5469C7.70396 11.5469 6.74069 10.5836 6.74069 9.39177C6.74069 8.19993 7.70396 7.23667 8.8958 7.23667C10.0876 7.23667 11.0509 8.19993 11.0509 9.39177C11.0509 10.5836 10.0876 11.5469 8.8958 11.5469Z\" fill=\"#F2F4EE\" stroke=\"#F2F4EE\" stroke-width=\"0.5\" stroke-linejoin=\"round\"\/>\n<path d=\"M8.89184 1C4.26326 1 0.5 4.76327 0.5 9.39184C0.5 10.5837 0.744898 11.7265 1.22653 12.8041C1.6102 13.6612 2.13265 14.4449 2.78571 15.1469L8.45918 20.8204C8.57347 20.9347 8.72857 21 8.9 21C9.07143 21 9.21837 20.9347 9.34082 20.8204L15.0224 15.1388C15.6673 14.4449 16.1898 13.6612 16.5653 12.8122C17.0469 11.7347 17.2918 10.5918 17.2918 9.4C17.2918 4.76327 13.5204 1 8.89184 1ZM15.4224 12.298C15.0959 13.0245 14.6633 13.6857 14.1163 14.2653L8.88367 19.498L3.66735 14.2816C3.12041 13.6939 2.67143 13.0245 2.3449 12.298C1.93673 11.3837 1.72449 10.4041 1.72449 9.39184C1.74082 5.44898 4.94898 2.24082 8.89184 2.24082C8.89184 2.24082 8.9 2.24082 8.90816 2.24082C12.8429 2.24898 16.0429 5.45714 16.0429 9.39184C16.0429 10.4041 15.8388 11.3837 15.4224 12.298Z\" fill=\"#F2F4EE\" stroke=\"#F2F4EE\" stroke-width=\"0.5\" stroke-linejoin=\"round\"\/>\n<\/svg><\/div><div class=\"icon-titles-link\"><div class=\"icon-title\">Located in the Museum Store<\/div><a href=\"\/accessibility\/\" aria-label=\"\">See Accessibility <svg width=\"11\" height=\"10\" viewBox=\"0 0 11 10\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"animate-right\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.91273 0.519595C6.17801 0.264267 6.60004 0.272331 6.85537 0.537607L10.647 4.477C10.8955 4.73514 10.8955 5.14349 10.647 5.40163L6.85536 9.34102C6.60004 9.6063 6.178 9.61436 5.91273 9.35903C5.64745 9.1037 5.63939 8.68167 5.89472 8.41639L8.59974 5.60598L1.50004 5.60598C1.13185 5.60598 0.833374 5.3075 0.833374 4.93931C0.833374 4.57112 1.13185 4.27265 1.50004 4.27265L8.59974 4.27265L5.89472 1.46223C5.63939 1.19696 5.64745 0.774923 5.91273 0.519595Z\" fill=\"#F2F4EE\"\/>\n<\/svg><\/a><\/div><\/div><\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"optional-note\">\n\t\t\t\t\t<div class=\"on-title\">Please Note:<\/div>\t\t\t\t\t<div class=\"on\">This exhibition is free and open to the public.<\/div>\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t<\/div>\n\t<\/div>\n<\/section>\n<script>\njQuery(document).ready(function ($) {\n\t\/\/experiment\n\t\n\tvar now = '2026-04-09T20:25:26';\n\tconst datenow = new Date(now);\n\t\/\/Global Variable Declarations\n\tvar selectedZoneID = '';\n\tvar returnURL = 'https:\/\/www.hmns.org\/exhibits\/freedom-plane\/';\n\tvar loggedIn = getCookie('tessituraLogin');\t\n\tif (loggedIn == null) {\n\t\tif ($('.perfDropDownMenu .select-scrollbox li.selected').hasClass('needs-login')) {\n\t\t\t\/\/console.log('hide things');\n\t\t\t$('.needs-login-msg').removeClass('hide');\t\t\n\t\t}\n\t}\n\tvar numtixcount = 0;\n\tvar ajaxArray = [];\n\tvar responseArray = [];\n\tvar sessionKey = getCookie('sessionKey');\n\tvar pType = 'exhibits';\n\tvar zType = 'ga';\n\tvar zoneMax = 9999; \/\/ Track available tickets for selected zone\n\tvar maxPerType = 20; \/\/ Max tickets per type (adult\/child)\n\t\/\/ Config for AJAX dropdown load\n\tvar featExhibitProductionSeasonID = \"\";\n\tvar featExhibitPrettyQDate = \"\";\n\tvar featExhibitPid = \"\";\n\tvar featExhibitPosttype = \"exhibits\";\n\tvar featExhibitBlogId = 0;\n\tif (pType == 'films') {\n\t\tvar venue = '';\n\t}\n\t\n\t\/\/ Helper function to update limited quantity message\n\tfunction updateLimitedQtyMsg(available) {\n\t\tif (available <= 10) {\n\t\t\t$('.limited-qty-msg').text('(limited quantity remaining: ' + available + ')').removeClass('hide');\n\t\t} else {\n\t\t\t$('.limited-qty-msg').addClass('hide');\n\t\t}\n\t}\n\t\n\t\/\/ Helper function to get total tickets selected\n\tfunction getTotalTickets() {\n\t\tvar total = 0;\n\t\t$('.ticketsField').each(function() {\n\t\t\ttotal += parseInt($(this).val()) || 0;\n\t\t});\n\t\treturn total;\n\t}\n\t\n\t\/\/ Helper function to reset all ticket counts\n\tfunction resetTicketCounts() {\n\t\t$('.ticketsField').val(0);\n\t\t$('.tix-num').text('0');\n\t\tnumtixcount = 0;\n\t\t$('button.add-to-cart-btn').addClass('greyed-out');\n\t}\n\t\n\t\/\/ Helper function to set zoneMax from selected zone element\n\tfunction setZoneMaxFromElement($el) {\n\t\tvar avl = parseInt($el.attr('data-avl')) || 9999;\n\t\tzoneMax = avl;\n\t\tupdateLimitedQtyMsg(avl);\n\t\t\/\/ If current selection exceeds new availability, reset\n\t\tif (getTotalTickets() > zoneMax) {\n\t\t\tresetTicketCounts();\n\t\t}\n\t}\n\t\n\tvar createTNEWSession = window.hmnsCreateTNEWSession;\n\t\/\/ Zone defaults are now set by setFeatExhibitZoneDefaults() after AJAX loads with the real zType.\n\t$(document).on('click tap','.num-flexbox .plus',function (e) {\n\t\t\te.preventDefault();\n\t\t\tthisplus = $(this);\n\t\t\tthisnum = parseInt($(this).parent().children('.tix-num').text()) || 0;\n\t\t\t\n\t\t\t\/\/ Check max per type limit (20)\n\t\t\tif (thisnum >= maxPerType) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\t\/\/ Check total availability limit\n\t\t\tvar currentTotal = getTotalTickets();\n\t\t\tif (currentTotal >= zoneMax) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t\n\t\t\tthisnum++;\n\t\t\t$(this).parent().children('.tix-num').text(thisnum);\n\t\t\tvar $qtyHidden = $(this).closest('.num-flexbox').prev('input.ticketsField[type=\"hidden\"]');\n\t\t\tif ($qtyHidden.length) {\n\t\t\t\t$qtyHidden.val(thisnum);\n\t\t\t}\n\t\t\tif (!$('.price-types').hasClass('greyed-out')) {\n\t\t\t\tnumtixcount = getTotalTickets();\n\t\t\t\tif (numtixcount >= 1) {\n\t\t\t\t\tif  (selectedZoneID != '') {\n\t\t\t\t\t\t$('button.add-to-cart-btn').removeClass('greyed-out');\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$('button.add-to-cart-btn').addClass('greyed-out');\n\t\t\t\t}\n\t\t\t}\n\t\t});\t\n\t\t$(document).on('click tap','.num-flexbox .minus',function (e) {\n\t\t\te.preventDefault();\n\t\t\tthisplus = $(this);\n\t\t\tthisnum = parseInt($(this).parent().children('.tix-num').text()) || 0;\n\t\t\tif (thisnum >= 1) {\n\t\t\t\tthisnum--;\n\t\t\t\t$(this).parent().children('.tix-num').text(thisnum);\n\t\t\t\tvar $qtyHidden = $(this).closest('.num-flexbox').prev('input.ticketsField[type=\"hidden\"]');\n\t\t\t\tif ($qtyHidden.length) {\n\t\t\t\t\t$qtyHidden.val(thisnum);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!$('.price-types').hasClass('greyed-out')) {\n\t\t\t\tnumtixcount = getTotalTickets();\n\t\t\t\tif (numtixcount >= 1) {\n\t\t\t\t\tif  (selectedZoneID != '') {\n\t\t\t\t\t\t$('button.add-to-cart-btn').removeClass('greyed-out');\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$('button.add-to-cart-btn').addClass('greyed-out');\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\tvar perfID = '';\n\t\/\/Javascript for query date var (perfDate)\n\tvar perfDate = '';\n\tif (perfDate != '') {\n    const inputDate = new Date(perfDate);\n    const today = new Date();\n    today.setHours(0, 0, 0, 0); \/\/ Normalize today's date to midnight for accurate comparison\n    inputDate.setHours(0, 0, 0, 0); \/\/Normalize inputDate to midnight.\n\n    if (inputDate < today) {\n        \/\/ Provided date is in the past, so ignore it and default to today's logic\n        perfDate = ''; \/\/ Reset perfDate to trigger the default logic\n    }\n\t}\n\tfunction runFeatExhibitInit() {\n\t\tif (perfDate != '') {\n\t\t\tsessionKey = getCookie('sessionKey');\n\t\t\tconst days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];\n\t\t\tconst months = ['January','February','March','April','May','June','July','August','September','October','November','December'];\n\t\t\tvar date = new Date(perfDate);\n\t\t\tdate.setDate(date.getDate() + 1);\n\t\t\tvar dayOfWeek = days[date.getDay()];\n\t\t\tvar month = months[date.getMonth()];\n\t\t\tvar dayOfMonth = date.getDate();\n\t\t\tvar year = date.getFullYear();\n\t\t\tvar formattedDate = dayOfWeek + ', ' + month + ' ' + dayOfMonth + ' ' + year;\n\t\t\t$('.perfDropDownMenu .select-scrollbox ul').children('li').map(function () {\n\t\t\t\tif ($(this).hasClass('selected')) {\n\t\t\t\t\tperfID = $(this).attr('data-id');\n\t\t\t\t\tperfType = $(this).attr('data-perftype');\n\t\t\t\t\tperfTime = $(this).attr('data-perftime');\n\t\t\t\t\t$('.selectPerf .option.selected').attr('data-id',perfID);\n\t\t\t\t\t$('.selectPerf .option.selected').attr('data-perftype',perfType);\n\t\t\t\t\t$('.selectPerf .option.selected').attr('data-perftime',perfTime);\n\t\t\t\t\t$('.selectPerf .option.selected').text($(this).text());\n\t\t\t\t}\n\t\t\t}).get();\n\t\t\tperfID = $('.selectPerf .option.selected').attr('data-id');\n\t\t\tif (zType == 'ga' || zType == 'tw' || zType == 'virt' || zType == 'tix' || zType == 'cl') { $('.price-types').removeClass('greyed-out'); }\n\t\t\t$('.selectPerfTime .timeDropDownMenu ul').children('li').map(function () {\n\t\t\t\tif ($(this).attr('data-perfid') == perfID) {\n\t\t\t\t\t$(this).removeClass('hide');\n\t\t\t\t} else {\n\t\t\t\t\t$(this).addClass('hide');\n\t\t\t\t}\n\t\t\t}).get();\n\t\t$('.selectPerfTime .timeDropDownMenu .select-scrollbox').children('input[type=\"hidden\"]').map(function () {\n\t\t\tif ($(this).attr('data-perfid') == perfID) { selectedZoneID = $(this).val(); }\n\t\t}).get();\n\t\t$('.price-types').children('.form-flex').map(function () {\n\t\t\tif ($(this).attr('data-perfID') == perfID) { $(this).removeClass('hide'); }\n\t\t\telse { $(this).addClass('hide'); }\n\t\t}).get();\n\t\t\tif (sessionKey == '' || sessionKey == null) {\n\t\t\t\tcreateTNEWSession(function(newSessionKey) {\n\t\t\t\t\tsnapToZones(newSessionKey);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tsnapToZones(sessionKey);\n\t\t\t}\n\t\t} else {\n\t\t\tlet $autoselectPerf = $('.selectPerf .perfDropDownMenu .select-scrollbox ul li:first-child');\n\t\t\t$autoselectPerf.addClass('selected');\n\t\t\tvar asID = $autoselectPerf.attr('data-id');\n\t\t\tvar asText = $autoselectPerf.text();\n\t\t\t$('.selectPerf .option.selected').attr('data-id',asID);\n\t\t\t$('.selectPerf .option.selected').text(asText);\n\t\t\t$('.selectPerfTime .timeDropDownMenu ul').children('li').map(function () {\n\t\t\t\tif ($(this).attr('data-perfid') == asID) {\n\t\t\t\t\t$(this).removeClass('hide');\n\t\t\t\t} else {\n\t\t\t\t\t$(this).addClass('hide');\n\t\t\t\t}\n\t\t\t}).get();\n\t\t$('.selectPerfTime .timeDropDownMenu .select-scrollbox').children('input[type=\"hidden\"]').map(function () {\n\t\t\tif ($(this).attr('data-perfid') == asID) { selectedZoneID = $(this).val(); }\n\t\t}).get();\n\t\t\t$('.price-types').children('.form-flex').map(function () {\n\t\t\t\tif ($(this).attr('data-perfID') == asID) { $(this).removeClass('hide'); }\n\t\t\t\telse { $(this).addClass('hide'); }\n\t\t\t}).get();\n\t\t\tif (sessionKey == '' || sessionKey == null) {\n\t\t\t\tcreateTNEWSession(function(newSessionKey) {\n\t\t\t\t\tsnapToZones(newSessionKey);\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tsnapToZones(sessionKey);\n\t\t\t}\n\t\t\tif ($('.logged-in').hasClass('hide')) { loggedstatus = 0; } else { loggedstatus = 1; }\n\t\t}\n\t}\n\n\tfunction setFeatExhibitZoneDefaults() {\n\t\tif (zType == 'tw') {\n\t\t\t$('.price-types').removeClass('greyed-out');\n\t\t\tselectedZoneID = 219;\n\t\t} else if (zType == 'virt') {\n\t\t\t$('.price-types').removeClass('greyed-out');\n\t\t\tselectedZoneID = 246;\n\t\t} else if (zType == 'ga') {\n\t\t\t$('.price-types').removeClass('greyed-out');\n\t\t\tif (pType == 'films') {\n\t\t\t\tif (venue == 'planetarium') {\n\t\t\t\t\tselectedZoneID = 143;\n\t\t\t\t} else {\n\t\t\t\t\tselectedZoneID = 156;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (String(featExhibitBlogId) == '2') { selectedZoneID = 246; }\n\t\t\t}\n\t\t}\n\t}\n\n\tif (featExhibitProductionSeasonID) {\n\t\t$('.selectPerf .option.selected').text('Loading dates\u2026');\n\t\tvar doFeatExhibitAjax = function() {\n\t\t\tvar ajaxUrl = '';\n\t\t\tif (window.hmns_ajax_router) { ajaxUrl = window.hmns_ajax_router.url || ''; }\n\t\t\t$.ajax({\n\t\t\t\turl: ajaxUrl,\n\t\t\t\ttype: 'post',\n\t\t\t\tdata: {\n\t\t\t\t\taction: 'feat_exhibit_data',\n\t\t\t\t\tquery: JSON.stringify([featExhibitProductionSeasonID, featExhibitPrettyQDate, featExhibitPid, featExhibitPosttype, featExhibitBlogId])\n\t\t\t\t},\n\t\t\t\tbeforeSend: typeof setAjaxHeaders === 'function' ? setAjaxHeaders : function() {},\n\t\t\t\txhrFields: { withCredentials: true },\n\t\t\t\tsuccess: function(response) {\n\t\t\t\t\tif (response) {\n\t\t\t\t\t\tif (response.listingsHtml !== undefined) {\n\t\t\t\t\t\t\t$('.selectPerf .perfDropDownMenu .select-scrollbox ul').html(response.listingsHtml);\n\t\t\t\t\t\t\tif (pType == 'films') {\n\t\t\t\t\t\t\t\t$('.selectPerfTime .timeDropDownMenu .select-scrollbox').html(response.zonesHtml || '');\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tif (response.zType === 'ga') {\n\t\t\t\t\t\t\t\t\t$('.selectPerfTime .timeDropDownMenu .select-scrollbox').html(response.zonesHtml || '');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$('.selectPerfTime .timeDropDownMenu .select-scrollbox').html('<ul>' + (response.zonesHtml || '') + '<\/ul>');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$('.price-types').html(response.pricesHtml || '');\n\t\t\t\t\t\t\tif (response.zType !== undefined) { zType = response.zType; }\n\t\t\t\t\t\t\tsetFeatExhibitZoneDefaults();\n\t\t\t\t\t\t\trunFeatExhibitInit();\n\t\t\t\t\t\t\tinitializeTouchScroll('.selectPerf .perfDropDownMenu .select-scrollbox ul');\n\t\t\t\t\t\t\tif (pType != 'films') {\n\t\t\t\t\t\t\t\tinitializeTouchScroll('.selectPerfTime .timeDropDownMenu .select-scrollbox ul');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$('.selectPerf .option.selected').text('Unable to load dates');\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$('.selectPerf .option.selected').text('Unable to load dates');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: function() {\n\t\t\t\t\t$('.selectPerf .option.selected').text('Unable to load dates');\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t\tif (window.hmns_ajax_router) {\n\t\t\tif (window.hmns_ajax_router.ready) {\n\t\t\t\tdoFeatExhibitAjax();\n\t\t\t} else {\n\t\t\t\t$(document).one('hmns_nonce_ready', doFeatExhibitAjax);\n\t\t\t}\n\t\t} else {\n\t\t\t$(document).one('hmns_nonce_ready', doFeatExhibitAjax);\n\t\t}\n\t} else {\n\t\trunFeatExhibitInit();\n\t}\n\n\tvar scrolled = 0;\n\t$('.selectPerf .select-flex').on('click tap', function (e) {\n\t    e.preventDefault();\n\t    e.stopImmediatePropagation();\n\t\n\t    \/\/ Toggle the current dropdown\n\t    $('.selectPerf .select-flex').toggleClass('open');\n\t    $('.selectPerf .perfDropDownMenu').toggleClass('hide');\n\t    if (!$('.selectPerf .perfDropDownMenu').hasClass('hide')) {\n\t        let $scrollBox = $('.selectPerf .perfDropDownMenu .select-scrollbox ul'); \/\/ <-- Target the actual scrollable container\n\t        let $selectedPerf = $scrollBox.find('li.selected'); \/\/ Find selected item within the scrollbox\n\t        if ($selectedPerf.length) {\n\t            let selectedTop = $selectedPerf[0].offsetTop; \/\/ Use vanilla JS offsetTop\n\t            let itemHeight = $selectedPerf.outerHeight(true); \/\/ true includes margin\n\t            let desiredOffset = itemHeight * 2; \/\/ Aim to show it ~2 items down\n\t            let targetScrollTop = selectedTop - desiredOffset;\n\t            targetScrollTop = Math.max(0, targetScrollTop);\n\t            $scrollBox.stop().animate({\n\t                scrollTop: targetScrollTop\n\t            }, 200); \n\t        }\n\t    }\n\t    \/\/ Close the other dropdown (time)\n\t  \t$('.selectPerfTime .timeDropDownMenu').addClass('hide');\n\t  \t$('.selectPerfTime .select-flex').removeClass('open');\n\t});\n\t$(document).on('click tap',function (e) {\n\t\tif (!$('.selectPerf .perfDropDownMenu').hasClass('hide')) { \n\t\t\tif (!$(e.target).closest('.selectPerf .perfDropDownMenu').length) {\n\t\t\t\t$('.selectPerf .select-flex').removeClass('open');\n\t\t\t\t$('.selectPerf .perfDropDownMenu').addClass('hide');\n\t\t\t}\n\t\t}\n\t\tif (!$('.selectPerfTime .timeDropDownMenu').hasClass('hide')) { \n\t\t\tif (!$(e.target).closest('.selectPerfTime .timeDropDownMenu').length) {\n\t\t\t\t$('.selectPerfTime .select-flex').removeClass('open');\n\t\t\t\t$('.selectPerfTime .timeDropDownMenu').addClass('hide');\n\t\t\t}\n\t\t}\n\t});\n\t$(document).on('click tap', '.selectPerf .perfDropDownMenu ul li', function (e) {\n\t\tsessionKey = getCookie('sessionKey');\n\t\te.preventDefault();\n\t\te.stopImmediatePropagation();\n\t\tif (zType == 'ga'){\n\t\t\t$('.price-types').removeClass('greyed-out');\t\t\n\t\t}\n\t\tzperfType = $(this).attr('data-perfType');\n\t\tzperfID = $(this).attr('data-id');\n\t\tzmapTime = $(this).attr('data-perfTime');\n\t\t$('.selectPerf .option.selected').html($(this).text());\n\t\t$('.selectPerf .option.selected').attr('data-id',$(this).attr('data-id'));\n\t\t$('.selectPerf .option.selected').attr('data-perfType',zperfType);\n\t\t$('.selectPerf .option.selected').attr('data-mapTime',zmapTime);\n\t\t$('.selectPerf .select-flex').toggleClass('open');\n\t\t$('.selectPerf .perfDropDownMenu').toggleClass('hide');\n\t\t$('.selectPerf .perfDropDownMenu ul').children('li').map(function () {\n\t\t\tif ($(this).attr('data-id') != zperfID) { $(this).removeClass('selected'); }\n\t\t\telse { $(this).addClass('selected'); }\n\t\t}).get();\n\t$('.selectPerfTime .timeDropDownMenu .select-scrollbox').children('input[type=\"hidden\"]').map(function () {\n\t\t\tif ($(this).attr('data-perfid') == zperfID) { selectedZoneID = $(this).val(); }\n\t}).get();\n$('.price-types').children('.form-flex').map(function () {\n\tif ($(this).attr('data-perfID') == zperfID) { $(this).removeClass('hide'); }\n\telse { $(this).addClass('hide'); }\n}).get();\n\t\/\/ CONVERTED: Session creation - Simplified with New TNEW Method\n\tif (sessionKey == '' || sessionKey == null) {\n\t\tcreateTNEWSession(function(newSessionKey) {\n\t\t\tsnapToZones(newSessionKey);\n\t\t});\n\t} else {\n\t\tsnapToZones(sessionKey);\t\t\n\t}\n\t});\n\tvar startY;\n\tconst initializeTouchScroll = (selector) => {\n  $(selector).each(function() {\n    \/\/ Ensure each element has its own state\n    const state = {\n      startY: 0,\n      lastScrollTop: 0,\n      velocity: 0,\n      lastUpdateTime: 0,\n      isScrolling: false,\n    };\n\n    $(this).on('touchstart', function(e) {\n      state.startY = e.originalEvent.touches[0].pageY;\n      state.scrollStart = Date.now();\n      state.lastScrollTop = $(this).scrollTop();\n      state.velocity = 0;\n      state.lastUpdateTime = state.scrollStart;\n      state.isScrolling = true;\n    });\n\n    $(this).on('touchmove', function(e) {\n      if (!state.isScrolling) return;\n      e.preventDefault();\n      const touch = e.originalEvent.touches[0];\n      const currentY = touch.pageY;\n      const deltaY = currentY - state.startY;\n\n      \/\/ Correct scroll direction by adding deltaY instead of subtracting\n      $(this).scrollTop(state.lastScrollTop - deltaY);\n      state.lastScrollTop = $(this).scrollTop(); \/\/ Update lastScrollTop\n      state.startY = currentY;\n\n      \/\/ Calculate velocity based on touch movement\n      const currentTime = Date.now();\n      const elapsedTime = currentTime - state.lastUpdateTime;\n      if (elapsedTime > 0) {\n        state.velocity = deltaY \/ elapsedTime;\n        state.velocity = Math.min(Math.max(state.velocity, -2), 2); \/\/ Cap the velocity to control speed\n      }\n      state.lastUpdateTime = currentTime;\n    });\n\n    $(this).on('touchend', function(e) {\n      if (!state.isScrolling) return;\n      state.isScrolling = false;\n\n      const deceleration = 0.1; \/\/ Adjust this value for desired deceleration rate\n      let currentSpeed = state.velocity * 1000; \/\/ Convert to pixels per second\n      let lastScrollTop = $(this).scrollTop();\n\n      const animate = () => {\n        if (Math.abs(currentSpeed) < 0.1) return; \/\/ Stop if the speed is too low\n\n        currentSpeed *= (1 - deceleration); \/\/ Apply deceleration to slow down the speed\n        const scrollAmount = currentSpeed \/ 60; \/\/ 60 frames per second\n        const newScrollTop = lastScrollTop - scrollAmount;\n\n        \/\/ Prevent scrolling beyond the boundaries\n        const maxScrollTop = this.scrollHeight - this.clientHeight;\n        if (newScrollTop < 0) {\n          $(this).scrollTop(0);\n          return;\n        }\n        if (newScrollTop > maxScrollTop) {\n          $(this).scrollTop(maxScrollTop);\n          return;\n        }\n\n        $(this).scrollTop(newScrollTop);\n        lastScrollTop = newScrollTop;\n\n        requestAnimationFrame(animate);\n      };\n\n      requestAnimationFrame(animate);\n    });\n  });\n};\n\n\/\/ Initialize touch scroll for both selectors\ninitializeTouchScroll('.selectPerf .perfDropDownMenu .select-scrollbox ul');\ninitializeTouchScroll('.selectPerfTime .timeDropDownMenu .select-scrollbox ul');\n\t\n\t$('.selectPerfTime .select-flex').on('click tap',function (e) {\n\t\te.preventDefault();\n\t\te.stopImmediatePropagation();\n\t\t$('.selectPerfTime .select-flex').toggleClass('open');\n\t\t$('.selectPerfTime .timeDropDownMenu').toggleClass('hide');\n\t\t$('.selectPerf .perfDropDownMenu').addClass('hide');\n\t\t$('.selectPerf .select-flex').removeClass('open');\n\t});\n\t\n\t$(document).on('click tap', '.selectPerfTime .timeDropDownMenu ul li', function (e) {\n\t\te.preventDefault();\n\t\te.stopImmediatePropagation();\n\t\t$('.price-types').removeClass('greyed-out');\t\t\n\t\tselectedZoneID = $(this).attr('data-id');\n\t\tsetZoneMaxFromElement($(this)); \/\/ Capture availability and update display\n\t\t$('.selectPerfTime .option.selected').html($(this).text());\n\t\t$('.selectPerfTime .select-flex').removeClass('open');\n\t\t$('.selectPerfTime .timeDropDownMenu').toggleClass('hide');\n\t\t$('.selectPerfTime .timeDropDownMenu ul').children('li').map(function () {\n\t\t\tif ($(this).attr('data-id') != selectedZoneID) { $(this).removeClass('selected'); }\n\t\t\telse { \n\t\t\t\t$(this).addClass('selected');\n\t\t\t}\n\t\t}).get();\n\t\tnumtixcount = getTotalTickets();\n\t\tif (numtixcount >= 1) {\n\t\t\t$('button.add-to-cart-btn').removeClass('greyed-out');\t\t\n\t\t}\n\t});\n\t\t\n\t$('.buy-tickets form button.add-to-cart-btn').on('click tap',function (e) {\n\t\te.stopImmediatePropagation();\n\t\te.preventDefault();\n\t\tif (!$(this).hasClass('greyed-out')) {\n\t\t\t\/\/console.log('huh - are we getting here?');\n\t\t\tvar priceArray = [];\n\t\t\tvar $form = $(this).parent();\n\t\t\tvar perfID = $('.option.selected').attr('data-id');\n\t\t\tvar $visibleFormFlex = $form.find('.form-flex:not(.hide)');\n\t\t\tvar adulttix = $visibleFormFlex.find('input[name=\"tickets-6\"]').val();\n\t\t\tif (adulttix == null) { adulttix = 0; }\n\t\t\tvar adultpriceID = $visibleFormFlex.find('input[name=\"tickets-6\"]').attr('data-priceTypeId');\n\t\t\tif (adultpriceID == null) { adultpriceID = 6; }\n\t\t\tvar childtix = $visibleFormFlex.find('input[name=\"tickets-7\"]').val();\n\t\t\tif (childtix == null) { childtix = 0; }\n\t\t\tvar childpriceId = $visibleFormFlex.find('input[name=\"tickets-7\"]').attr('data-priceTypeId');\n\t\t\tif (childpriceId == null) { childpriceId = 7; }\n\t\t\t\/\/var pubitem = $form.find('input[name=\"tickets-32\"]').val();\n\t\t\t\/\/var memitem = $form.find('input[name=\"tickets-33\"]').val();\n\t\t\t\/\/console.log('Zone ID: ' + selectedZoneID + ' Adult Tix: ' + adulttix + ' Child Tix: ' + childtix);\n\t\t\tsessionKey = getCookie('sessionKey');\n\t\t\tif (sessionKey != null) {\n\t\t\t\t\/\/console.log('or here? - are we getting here?');\n\t\t\tif (adulttix > 0 || childtix > 0) {\n\t\t\t\t\/\/console.log('we got here');\n\t\t\tif (selectedZoneID != null) { if (selectedZoneID != '') {\n\t\t\t\t\/\/console.log('and what about here?');\n\t\t\t\t\tajaxArray = [];\n\t\t\t\t\t\/\/ajaxArray.push(''); \/\/\n\t\t\t\t\tajaxArray.push('\/api\/Web\/Cart\/{sessionkey}\/Tickets'); \/\/0\n\t\t\t\t\tajaxArray.push(sessionKey); \/\/1\t\t\n\t\t\t\t\tajaxArray.push(perfID); \/\/2\n\t\t\t\t\tajaxArray.push(adulttix); \/\/3\n\t\t\t\t\tajaxArray.push(adultpriceID); \/\/4\n\t\t\t\t\tajaxArray.push(childtix); \/\/5\n\t\t\t\t\tajaxArray.push(childpriceId); \/\/6\n\t\t\t\t\tajaxArray.push(selectedZoneID) \/\/7\n\t\t\t\t\t\t\n\t\t\t\t\t\tif (window.hmns_ajax_router) {\n\t\t\t\t\t\t\tif (window.hmns_ajax_router.ready) {\n\t\t\t\t\t\t\t\t\/\/ Nonce ready - proceed with AJAX call\n\t\t\t\t\t\t\t\trunapiAJAX();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\/\/ Wait for nonce\n\t\t\t\t\t\t\t\t$(document).one('hmns_nonce_ready', function() {\n\t\t\t\t\t\t\t\t\trunapiAJAX();\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\/\/ Wait for nonce\n\t\t\t\t\t\t\t$(document).one('hmns_nonce_ready', function() {\n\t\t\t\t\t\t\t\trunapiAJAX();\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t} }\telse {\n\t\t\t\t\t$('.cartReturn').text('Please select an entry time before adding to the cart.').removeClass('hide');\t\t\t\n\t\t\t\t} \n\t\t\t}\n\t\t} \n\t}\n});\n\t\n\tfunction snapToZones(sessionKey) {\n\tvar $zform = $('form#addTickets');\n\t\t$('.selectPerfTime').removeClass('greyed-out');\n\t\tperfID = $('.perfDropDownMenu ul li.selected').attr('data-id');\n\t\tvar now = '2026-04-09T20:25:26';\n\t\tvar zloopcount = 0;\n\t\tvar $selectedZoneEl = null;\n\t\tselectedZoneID = '';\n\t\t$('button.add-to-cart-btn').addClass('greyed-out');\n\n\t\tif (zType == 'ga') {\n\t\t\t$('.selectPerfTime .timeDropDownMenu .select-scrollbox').children('input').map(function () {\n\t\t\t\tif ($(this).attr('data-perfid') == perfID) { \n\t\t\t\t\t$(this).addClass('selected-zone'); \n\t\t\t\t\tselectedZoneID = $(this).val();\n\t\t\t\t\t$selectedZoneEl = $(this);\n\t\t\t\t\tzloopcount++;\n\t\t\t\t\tif ($(this).attr('data-avl') == 0) {\n\t\t\t\t\t\t$('.tickets-label').addClass('hide');\t\t\n\t\t\t\t\t\t$('.add-to-cart-btn').addClass('hide');\n\t\t\t\t\t\t$('.sold-out-msg').removeClass('hide');\t\t\t\t\t\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$('.tickets-label').removeClass('hide');\t\t\n\t\t\t\t\t\t$('.add-to-cart-btn').removeClass('hide');\n\t\t\t\t\t\t$('.sold-out-msg').addClass('hide');\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t$(this).removeClass('selected-zone');\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}).get();\n\t} else {\n\t\t$('.selectPerfTime .timeDropDownMenu .select-scrollbox ul').children('li').map(function () {\n\t\t\tconst datethis = new Date($(this).attr('data-utmcode'));\n\t\t\tif ($(this).attr('data-perfid') == perfID) {\n\t\t\t\tif (datenow < datethis) {\n\t\t\t\t\t$(this).removeClass('hide');\n\t\t\t\t\tzloopcount++;\t\n\t\t\t\t\tif (!$selectedZoneEl) {\n\t\t\t\t\t\t$selectedZoneEl = $(this);\n\t\t\t\t\t}\n\t\t\t\t\tif ($(this).attr('data-avl') == 0) {\n\t\t\t\t\t\t$('.tickets-label').addClass('hide');\t\t\n\t\t\t\t\t\t$('.add-to-cart-btn').addClass('hide');\n\t\t\t\t\t\t$('.sold-out-msg').removeClass('hide');\t\t\t\t\t\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$('.tickets-label').removeClass('hide');\t\t\n\t\t\t\t\t\t$('.add-to-cart-btn').removeClass('hide');\n\t\t\t\t\t\t$('.sold-out-msg').addClass('hide');\t\t\t\t\t\t\n\t\t\t\t\t}\t\t\n\t\t\t\t} else { \n\t\t\t\t\t$(this).addClass('hide'); \n\t\t\t\t}\n\t\t\t} else { \n\t\t\t\t$(this).addClass('hide'); \n\t\t\t}\n\t\t}).get();\n\t}\n\t\t\/\/ Set zone availability from selected element\n\t\tif ($selectedZoneEl) {\n\t\t\tsetZoneMaxFromElement($selectedZoneEl);\n\t\t}\n\t\tif (zloopcount >= 1) { \n\t\t\t$('.selectPerfTime').removeClass('greyed-out');\n\t\t\tnumberFields = document.getElementsByClassName('.ticketsField');\n\t\t\tnumtixcount = 0;\n\t\t\tfor (i=0;i<numberFields.length;i++) {\n\t\t\t\tnumtixcount += parseInt(numberFields[i].value);\t\t\n\t\t\t}\n\t\t\tif (numtixcount >= 1) {\n\t\t\t\tif (selectedZoneID != '') {\n\t\t\t\t\t$('button.add-to-cart-btn').removeClass('greyed-out');\n\t\t\t\t}\n\t\t\t}\n\t\t\t$('.tickets-label').removeClass('hide');\n\t\t\tif (zType != 'ga') {\n\t\t\t\t$('.zones-label').removeClass('hide');\n\t\t\t\t$('.selectPerfTime').removeClass('hide');\n\t\t\t} else {\n\t\t\t\t$('.zones-label').addClass('hide');\n\t\t\t\t$('.selectPerfTime').addClass('hide');\n\t\t\t}\n\t\t\t$('.tickets-label').removeClass('hide');\n\t\t\t$('.selectPerf').removeClass('hide');\n\t\t\t$('.add-to-cart-btn').removeClass('hide');\n\t\t\t$('.sold-out-msg').addClass('hide');\n\t\t} else {\n\t\t\t$('.tickets-label').addClass('hide');\n\t\t\t$('.zones-label').addClass('hide');\n\t\t\t$('.selectPerfTime').addClass('hide');\n\t\t\t$('.tickets-label').addClass('hide');\t\n\t\t\tif ($('.selectPerf .perfDropDownMenu .select-scrollbox').html() == '<ul><\/ul>') {\n\t\t\t\t$('.selectPerf').addClass('hide');\t\t\t\t\n\t\t\t}\n\t\t\t$('.add-to-cart-btn').addClass('hide');\n\t\t\t$('.sold-out-msg').removeClass('hide');\t\t\n\t\t}\n\t\t$('.zone-spinner').addClass('hide');\n}\n\t\n\tfunction runapiAJAX() {\n\t\tquery = JSON.stringify(ajaxArray);\n\t\t$.ajax({\n\t\t\ttype : 'post',\n\t\t\turl : hmns_ajax_router.url, \/\/ CONVERTED: Use custom router instead of admin-ajax.php\n\t\t\tbeforeSend: setAjaxHeaders, \/\/ CONVERTED: Add missing security headers\n\t\t\tdata : {\n\t\t\t\taction : 'tessitura_api_interactions',\n\t\t\t\tquery : query\t\t\n\t\t\t},\n\t\t\txhrFields: { withCredentials: true }, \/\/ CONVERTED: Add missing credentials\n\t\t\tbeforeSend : function (xhr) {\n\t\t\t\tsetAjaxHeaders(xhr); \/\/ CONVERTED: Apply headers\n\t\t\t\tif (ajaxArray[0] == '\/api\/Web\/Cart\/{sessionkey}\/Tickets') {\n\t\t\t\t\t$('button.add-to-cart-btn').addClass('hide');\n\t\t\t\t\t$('.add-to-cart-spinner').removeClass('hide');\n\t\t\t\t} else {\n\t\t\t\t\t$('.zone-spinner').removeClass('hide');\n\t\t\t\t\t$('select#selectZone').addClass('greyed-out');\n\t\t\t\t}\n\t\t\t},\n\t\t\tsuccess : function (response) {\n\t\t\t\tif (ajaxArray[0] == '\/api\/Web\/Session' ) {\n\t\t\t\t\t\/\/console.log(response);\n\t\t\t\t\t$('.selectPerfTime').removeClass('greyed-out');\n\t\t\t\t\tsessionKey = response.sessionKey; \/\/ CONVERTED: Handle new structured response\n\t\t\t\t\tsetCookie('sessionKey',sessionKey,30); \/\/ CONVERTED: Use minutes instead of string\n\t\t\t\t\t\/\/ok -- we have a session key, let's get zone info for the production ID\n\t\t\t\t\tsnapToZones(sessionKey);\t\t\t\t\t\n\t\t\t\t} else if (ajaxArray[0] == '\/api\/Web\/Cart\/{sessionkey}') {\n\t\t\t\t\t\/\/ CONVERTED: Handle new structured JSON response (no more string cleanup needed)\n\t\t\t\t\t$('.spinner').addClass('hide');\n\t\t\t\t\t$('.cartInfoReturn').html(JSON.stringify(response)).removeClass('hide');\n\t\t\t} else if (ajaxArray[0] == '\/api\/Web\/Session\/{sessionkey}\/Expiration') {\n\t\t\t\tvar timetoexpiry = response.expirationTime;\n\t\t\t\tsetCookie('sessionTimer',timetoexpiry,30);\n\t\t\t\tvar expiration = new Date(timetoexpiry).getTime();\n\t\t\t\t$('.sessionTimer').removeClass('hide');\n\t\t\t\tvar dst = getCookie('dst') || (isDaylightSavingTimeCentral() ? '1' : '0');\n\t\t\t\tfunction updateTimer() {\n\t    let now = new Date();\n\t    let options = { timeZone: 'America\/Chicago', hour12: false, year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' };\n\t    let formatter = new Intl.DateTimeFormat('en-US', options);\n\t    let parts = formatter.formatToParts(now);\n\t    let [month, day, year, hour, minute, second] = parts.filter(part => part.type !== 'literal').map(part => part.value);\n\t     let cstTime;\n\t    if (dst == '1') {\n\t   \tcstTime = new Date(`${year}-${month}-${day}T${hour}:${minute}:${second}-05:00`).getTime();\n\t\t} else {\n\t\t\tcstTime = new Date(`${year}-${month}-${day}T${hour}:${minute}:${second}-06:00`).getTime();\n\t\t}\n\t    let distance = expiration - cstTime;\n\t    let hours = Math.floor((distance % (1000 * 60 * 60 * 24)) \/ (1000 * 60 * 60));\n\t    let minutes = Math.floor((distance % (1000 * 60 * 60)) \/ (1000 * 60));\n\t    let seconds = Math.floor((distance % (1000 * 60)) \/ 1000);\n\t    if (distance <= 0) {\n\t        $('.sessionTimer').html('');\n\t        window.setTimeout(function () {\n\t            $('.sessionTimer').addClass('hide');\n\t            $('.tessitura-cell.cart .cart-counter span').text('0');\n\t\t\t\t   $('.tessitura-cell.cart').removeClass('populated');\n\t\t\t\t   $('.tessitura-cell.user-menu .logged-in').addClass('hide');\n\t\t\t\t   $('.tessitura-cell.user-menu .logged-out').removeClass('hide');\n\t            $('.cart-expired').removeClass('hide');\n\t        }, 1000);\n\t        clearInterval(window.sessionTimerInterval);\n\t        window.sessionTimerReady = false;\n\t        eat_cookies();\n\t    } else {\n\t        let timeLeft = `Time Left: ${minutes}:${seconds < 10 ? '0' + seconds : seconds}`;\n\t        $('.sessionTimer').html(timeLeft);\n\t    }\n\t}\n\t\n\tif (window.sessionTimerInterval) { clearInterval(window.sessionTimerInterval); }\n\twindow.sessionTimerInterval = setInterval(updateTimer, 1000);\n\twindow.sessionTimerReady = true;\n\tupdateTimer();\n\t\t\t\t\twindow.setTimeout(function () {\n\t\t\t\t\t\t\t$('.success-msg').addClass('hide');\n\t\t\t\t\t\t\t$('button.add-to-cart-btn').removeClass('hide');\n\t\t\t\t\t\t},3000);\t\t\t\n\t\t\t} else if (ajaxArray[0] == '\/api\/Web\/Cart\/{sessionkey}\/Tickets') {\n\t\t\t\t$('.add-to-cart-spinner').addClass('hide');\n\t\t\t\t$('.success-msg').removeClass('hide');\n\t\t\t\t$('.buy-tickets a.sessionShareTNEW').remove();\n\t\t\t\t$('.tessitura-cell.cart').removeClass('hide');\n\t\t\t\tupdate_cart(sessionKey);\n\t\t\t\t\tajaxArray = [];\n\t\t\t\t\t\/\/ajaxArray.push('');\n\t\t\t\t\tajaxArray.push('\/api\/Web\/Session\/{sessionkey}\/Expiration');\n\t\t\t\t\tajaxArray.push(sessionKey);\n\t\t\t\t\trunapiAJAX();\n\t\t\t\t\twindow.setTimeout(function () {\n\t\t\t\t\t\t$('.success-msg').addClass('hide');\n\t\t\t\t\t\t$('button.add-to-cart-btn').removeClass('hide');\n\t\t\t\t\t},3000);\n\t\t\t\t} else if (ajaxArray[1] == 'clear') {\n\t\t\t\t\t$('.spinner').addClass('hide');\n\t\t\t\t\t$('button.clearSession').addClass('hide');\n\t\t\t\t\t$('button.createSessionKey').removeClass('hide');\n\t\t\t\t\t$('.sessionKeyReturn').html('Session Key Cleared.');\n\t\t\t\t}\n\t\t\t},\n\terror: function(jqXHR, textStatus, errorThrown) {\n\t\tif (ajaxArray[0] == '\/api\/Web\/Cart\/{sessionkey}\/Tickets') {\n\t\t\t$('.add-to-cart-spinner').addClass('hide');\n\t\t\t$('button.add-to-cart-btn').removeClass('hide');\n\n\t\t\tvar resp = jqXHR.responseJSON || {};\n\t\t\tvar perfDateAttr = $('.perfDropDownMenu ul li.selected').attr('data-utmcode');\n\t\t\tvar refreshMin = 15;\n\t\t\tif (perfDateAttr) {\n\t\t\t\tvar daysOut = Math.floor((new Date(perfDateAttr) - new Date()) \/ 86400000);\n\t\t\t\tif (daysOut > 60) { refreshMin = 60; }\n\t\t\t\telse if (daysOut > 30) { refreshMin = 30; }\n\t\t\t}\n\n\t\t\t$('.sold-out-msg .body-bold').html('Sorry, this item is no longer available. Another shopper has reserved the last available units. Please check back soon &mdash; items held in carts are released if not purchased.');\n\t\t\t$('.sold-out-msg').removeClass('hide');\n\t\t\t$('button.add-to-cart-btn').addClass('hide');\n\n\t\t\tif (resp.error_type == 'tickets_unavailable') {\n\t\t\t} else {\n\t\t\t}\n\t\t}\n\t}\n\t});\n}\n$('.cart-exp-close button').on('click tap',function (e) {\n\te.preventDefault();\n\te.stopImmediatePropagation();\n\t$('.cart-expired').addClass('hide');\n});\nfunction update_cart(sessionKey) {\n\t\tajaxArray = [];\n\t\t\/\/ajaxArray.push('');\n\t\tajaxArray.push('\/api\/Web\/Session\/{sessionkey}');\n\t\tajaxArray.push(sessionKey);\n\t\tquery = JSON.stringify(ajaxArray);\t\n\t\t$.ajax({\n\t\t\ttype : 'post',\n\t\t\turl : hmns_ajax_router.url, \/\/ CONVERTED: Use custom router instead of admin-ajax.php\n\t\t\tbeforeSend: setAjaxHeaders, \/\/ CONVERTED: Add missing security headers\n\t\t\tdata : {\n\t\t\t\taction : 'update_cart_totals',\n\t\t\t\tquery : query\t\t\n\t\t\t},\n\t\t\txhrFields: { withCredentials: true }, \/\/ CONVERTED: Add missing credentials\n\t\t\tsuccess : function (response) {\n\t\t\t\t\/\/ CONVERTED: Handle new structured response format\n\t\t\t\tvar cartCount = response.cartCount || 0;\n\t\t\t\tif (cartCount != 0) {\n\t\t\t\t\t$('.tessitura-cell.cart .cart-counter span').text(cartCount);\n\t\t\t\t\t$('.tessitura-cell.cart').addClass('populated');\n\t\t\t\t\t$('.tessitura-cell.cart').removeClass('hide');\n\t\t\t\t\t\/\/ Hide promo clear button when cart has items\n\t\t\t\t\t$('.promo-clear').addClass('hide');\n\t\t\t\t} else {\n\t\t\t\t\t$('.selectPerfTime').addClass('hide');\n\t\t\t\t\t$('.tessitura-cell.cart').removeClass('populated');\n\t\t\t\t\t$('.sessionTimer').addClass('hide');\n\t\t\t\t\t\/\/ Show promo clear button when cart is empty (if promo exists)\n\t\t\t\t\tif (getCookie('promoCode')) {\n\t\t\t\t\t\t$('.promo-clear').removeClass('hide');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$('.tessitura-cell.cart').removeClass('hide');\n\t\t\t\t\n\t\t\t}\n\t\t});\n\t}\n\tfunction eat_cookies() {\n\t\tdocument.cookie = \"sessionKey=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=.hmns.org; path=\/;\";\t\n\t\tdocument.cookie = \"sessionTimer=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=.hmns.org; path=\/;\";\n\t\tdocument.cookie = \"modeOfSale=2; domain=.hmns.org; path=\/;\";\n\t\tdocument.cookie = \"promoCode=; expires=Thu, 01 Jan 1970 00:00:00 UTC; domain=.hmns.org; path=\/;\";\n\t} \n\tfunction getCookie(name) {\n\t    var dc = document.cookie;\n\t    var prefix = name + \"=\";\n\t    var begin = dc.indexOf(\"; \" + prefix);\n\t    if (begin == -1) {\n\t        begin = dc.indexOf(prefix);\n\t        if (begin != 0) return null;\n\t    } else {\n\t        begin += 2;\n\t    }\n\t    var end = dc.indexOf(\";\", begin);\n\t    if (end == -1) {\n\t        end = dc.length;\n\t    }\n\t    \/\/ because unescape has been deprecated, replaced with decodeURI\n\t    \/\/return unescape(dc.substring(begin + prefix.length, end));\n\t    return decodeURI(dc.substring(begin + prefix.length, end));\n\t}\n\tfunction setCookie(name, value, minutes) {\n\t   let expires = \"\";\n\t\tif (minutes) {\n\t   \tconst date = new Date();\n\t\t\tdate.setTime(date.getTime() + (minutes * 60 * 1000)); \/\/ Convert minutes to milliseconds\n\t\t\texpires = \"; expires=\" + date.toUTCString();\n\t\t}\n\t\tdocument.cookie = name + \"=\" + (value || \"\") + expires + \"; path=\/; domain=.hmns.org;\";\n\t} \n\t\n\tvar setAjaxHeaders = window.hmnsSetAjaxHeaders;\n\n\/\/ CONVERTED: Add isDaylightSavingTimeCentral function (from functions.php)\nfunction isDaylightSavingTimeCentral() {\n    const today = new Date();\n    const year = today.getFullYear();\n    \n    \/\/ DST starts on the second Sunday in March\n    const march = new Date(year, 2, 1); \/\/ March 1st\n    const dstStart = new Date(year, 2, 14 - march.getDay()); \/\/ Second Sunday\n    \n    \/\/ DST ends on the first Sunday in November\n    const november = new Date(year, 10, 1); \/\/ November 1st\n    const dstEnd = new Date(year, 10, 7 - november.getDay()); \/\/ First Sunday\n    \n    if (today >= dstStart) {\n        if (today < dstEnd) {\n            return true;\n        }\n    }\n    return false;\n}\n});\n<\/script>\n\n<style type=\"text\/css\">\n\t#thank-you {\n\t\twidth: 1400px;\n\t\tmargin: 0 auto;\n\t\tmax-width: 100%;\n\t\tmargin: 32px auto 96px;\t\n\t\tpadding: 32px 0 32px;\n\t\t\n\t}\n\t.thank-you-flex {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content:center;\t\n\t\tborder-top: 1px solid rgba(95, 85, 65, 0.20);\n\t\tborder-bottom: 1px solid rgba(95, 85, 65, 0.20);\n\t\tpadding: 32px 0;\n\t}\n\t.thank-you-flex .left-border {\n\t\twidth: 429px;\n\t\tflex-shrink: 0;\n\t\theight: 1px;\n\t\tbackground:rgba(95,85,65,.2);\n\t\tmargin-left: -260px;\t\n\t}\n\t.thank-you-flex .right-border {\n\t\twidth: 429px;\n\t\tflex-shrink: 0;\n\t\theight: 1px;\n\t\tbackground:rgba(95,85,65,.2);\n\t\tmargin-right: -260px;\t\n\t}\n\t.thank-you {\n\t\ttext-align: center;\n\t\tmargin: 0 96px;\n\t\tmax-width: 867px;\t\n\t}\n\t.thank-you .ty-title {\n\t\tcolor: var(--fossil-rim);\n\t\tfont-family: 'Termina';\n\t\tfont-size: 14px;\n\t\tfont-weight: 500;\n\t\tletter-spacing: .7px;\n\t\ttext-transform: uppercase;\n\t}\n\t.thank-you .ty-message {\n\t\t\t\n\t}\n\t.thank-you .ty-image {\n\t\twidth: 285px;\n\t\tmargin: 0 auto;\t\n\t\tmax-width: 100%;\n\t}\n\t.top-border-mobile, .bottom-border-mobile { display: none; }\n\t@media screen and (max-width: 1200px) {\n\t\t.thank-you-flex .left-border, .thank-you-flex .right-border {\n\t\t\tdisplay: none;\t\t\n\t\t}\t\n\t\t.top-border-mobile, .bottom-border-mobile {\n\t\t\tborder-bottom: 1px solid rgba(95,85,65,.2);\n\t\t\theight: 0;\n\t\t\twidth: 172px;\n\t\t\tmargin: 0 auto;\n\t\t\tdisplay: block; \n\t\t}\n\t\t.top-border-mobile { margin-bottom: 16px; }\n\t\t.bottom-border-mobile { margin-top: 16px; }\n\t}\n\t@media screen and (max-width:768px) {\n\t\t.thank-you {\n\ttext-align: center;\n\tmargin: 0;\n\tmax-width: 100%;\n\t\t}\t\n\t}\n<\/style>\n<section id=\"thank-you\">\n\t<div class=\"top-border-mobile\"><\/div>\n\t<div class=\"thank-you-flex\">\n\t\t<div class=\"left-border\"><\/div>\n\t\t<div class=\"thank-you\">\n\t\t\t<div class=\"ty-title\">Thank You<\/div>\n\t\t\t<div class=\"ty-message label-italic\">The Freedom Plane National Tour is made possible in part by the National Archives Foundation, through the generous support of The Boeing Company, Comcast Corporation, Microsoft, and P&G. Additional support is provided by FedEx. <\/div>\t\t\n\t\t\t\t\t<\/div>\n\t\t<div class=\"right-border\"><\/div>\t\n\t<\/div>\n\t<div class=\"bottom-border-mobile\"><\/div>\n<\/section>\n\n<style type=\"text\/css\">\n\t#card-grid-wlinks {\n\t\tmargin: 96px 0 96px;\t\n\t}\n\t#card-grid-wlinks .background-image-layer {\n\t\twidth: 1920px;\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 50%;\n\t\theight: 100%;\n\t\ttransform: translate(-50%,0);\t\n\t}\n\t#card-grid-wlinks .title {\n\t\ttext-align: center;\n\t\tmargin-bottom: 32px;\t\n\t}\n\t#card-grid-wlinks .link-flex {\n\t\tdisplay: flex;\n\t\tcolumn-gap: 50px;\n\t\talign-items: center;\t\n\t\tjustify-content: center;\n\t\tmargin-bottom: 63px;\n\t}\n\t#card-grid-wlinks .link-flex a {\n\t\tcolor: var(--fossil-rim);\t\n\t\tpadding-bottom: 8px;\n\t\tborder-bottom: 1px solid var(--serengeti);\n\t}\n\t#card-grid-wlinks .card-grid {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: 1fr 1fr 1fr;\n\t\tcolumn-gap: 32px;\n\t\trow-gap: 32px;\t\n\t}\n\t#card-grid-wlinks .card {\n\t\tbackground: white;\n\t\tbox-shadow: var(--hmns-box-shadow-light);\n\t}\n\t#card-grid-wlinks .card:hover .top-section {\n\t\tbackground-size:110% auto !important;\t\n\t}\n\t#card-grid-wlinks .card a {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tz-index: 1;\t\n\t}\n\t#card-grid-wlinks .card .top-section {\n\t\twidth: 100%;\n\t\theight: 0;\n\t\tpadding-bottom: 56.52%;\t\n\t\ttransition: all .5s;\n\t}\n\t#card-grid-wlinks .card .bot-section {\n\t\tpadding: 48px;\t\t\n\t}\n\t#card-grid-wlinks .card .bot-section .bot-super {\n\t\tfont-family: 'Termina';\n\t\tfont-size: 14px;\n\t\ttext-transform: uppercase;\n\t\tmargin-bottom: 8px;\t\n\t}\n\t#card-grid-wlinks .card .bot-section h3.bot-title {\n\t\tfont-family: 'Sentinel Semibold';\n\t\tfont-size: 35px;\n\t\tline-height: 42px;\t\n\t\tfont-weight: 375;\n\t\tmargin-bottom: 10px;\n\t}\n\t\n\t@media screen and (max-width: 1200px) {\n\t\t#card-grid-wlinks .card .bot-section {\n\t\tpadding: 32px;\t\t\n\t\t}\n\t}\t\n\t@media screen and (max-width: 768px) {\n\t\t#card-grid-wlinks .card .bot-section {\n\t\t\tpadding: 24px;\n\t\t\twidth: 100%;\t\t\n\t\t}\t\n\t\t#card-grid-wlinks .card {\n\t\t\tdisplay: flex;\n\t\t\ttransition:all .5s;\t\t\n\t\t}\n\t\t#card-grid-wlinks .card:hover {\n\t\t\tmargin-top: -10px;\n\t\t\tmargin-bottom: 10px;\t\t\n\t\t}\n\t\t#card-grid-wlinks .card-grid {\n\t\t\tgrid-template-columns: 1fr;\t\t\n\t\t}\n\t\t#card-grid-wlinks .card .top-section {width: 150px; padding-bottom: 180px; background-size:cover !important; }\n\t\t#card-grid-wlinks .card:hover .top-section {\n\t\t\tbackground-size:cover !important;\t\n\t\t}\n\t\t#card-grid-wlinks .card .bot-section h3.bot-title { font-size:25px; line-height:1.2; }\n\t\t#card-grid-wlinks .card .bot-section .bot-super { font-size: 12px; }\n\t\t#card-grid-wlinks {\n\t\tmargin-bottom:78px;\t\n\t\t}\n\t} \n\t@media screen and (max-width:600px) {\n\t\t#card-grid-wlinks .card {\n\t\t\tdisplay: block;\n\t\t\ttransition:all .5s;\t\t\n\t\t}\n\t\t#card-grid-wlinks .card .top-section {width: 100%; padding-bottom: 56.52%; background-size:100% auto !important; }\n\t\t#card-grid-wlinks .card:hover .top-section {\n\t\t\tbackground-size:110% auto !important;\t\n\t\t}\n\t\t#card-grid-wlinks .title { \n\t\t\tfont-size: 25px;\n\t\t\tline-height: 30px; \t\t\n\t\t}\n\t\t#card-grid-wlinks .link-flex {\n\t\t\tflex-wrap: wrap;\t\t\n\t\t}\n\t\t#card-grid-wlinks .link-flex a:last-child { margin-top: 24px; }\n\t\t#card-grid-wlinks .card .bot-section h3.bot-title { font-size:20px; line-height:1.2; }\n\t}\n<\/style>\n<section id=\"card-grid-wlinks\">\n\t<div class=\"background-image-layer\">\n\t\t\t\t\t\n\t<\/div>\n\t<div class=\"title\"><h2>Ways to Bring Learning to Life<\/h2><\/div>\n\t<div class=\"link-flex\"><\/div>\n\t<div class=\"card-grid\"><div class=\"card\" style=\"border-bottom: 4px solid var(u002du002dfossil-rim);\"><div class=\"top-section\" style=\"background-image:url(https:\/\/www.hmns.org\/wp-content\/uploads\/2023\/06\/image-2.png);background-size:100% auto;background-position:center center;background-repeat:no-repeat;\"><span role=\"img\" aria-label=\"Become a Houston Museum of Natural Science Member \"><\/span><\/div><div class=\"bot-section\"><div class=\"bot-super\" style=\"color: var(u002du002dfossil-rim); \">Membership<\/div><h3 class=\"bot-title\">Become a Member<\/h3><div class=\"bot-desc\">Join us for exclusive, members-only discounts and opportunities throughout the year.<\/div><\/div><a href=\"\/membership\/\" class=\"abs\" aria-label=\"Become A Member Today\"><\/a><\/div><div class=\"card\" style=\"border-bottom: 4px solid var(u002du002dmossy-oak);\"><div class=\"top-section\" style=\"background-image:url(https:\/\/www.hmns.org\/wp-content\/uploads\/2023\/06\/classroom-happy-kids.png);background-size:100% auto;background-position:center center;background-repeat:no-repeat;\"><span role=\"img\" aria-label=\"Plan a Field Trip at the Houston Museum of Natural Science\"><\/span><\/div><div class=\"bot-section\"><div class=\"bot-super\" style=\"color: var(u002du002dmossy-oak); \">Education<\/div><h3 class=\"bot-title\">Plan a Field Trip<\/h3><div class=\"bot-desc\">Find immersive, quality education for students of all ages right here at HMNS. <\/div><\/div><a href=\"\/education\/field-trips\" class=\"abs\" aria-label=\"Plan A Field Trip\"><\/a><\/div><div class=\"card\" style=\"border-bottom: 4px solid var(u002du002dmonarch);\"><div class=\"top-section\" style=\"background-image:url(https:\/\/www.hmns.org\/wp-content\/uploads\/2023\/06\/Group-discounts.png);background-size:100% auto;background-position:center center;background-repeat:no-repeat;\"><span role=\"img\" aria-label=\"Enjoy Group Discounts at the Houston Museum of Natural Science\"><\/span><\/div><div class=\"bot-section\"><div class=\"bot-super\" style=\"color: var(u002du002dmonarch); \">Plan a Visit<\/div><h3 class=\"bot-title\">Group Discounts<\/h3><div class=\"bot-desc\">Grab a group of 10 or more and enjoy special discounts on all of the Museums exciting exhibitions and films.<\/div><\/div><a href=\"\/visit\/groups\" class=\"abs\" aria-label=\"Learn About Group Discounts\"><\/a><\/div><\/div>\n<\/section>\n\n<style type=\"text\/css\">\n\t#shop-grid {\n\t\tpadding: 96px 0;\n\t}\n\t#shop-grid .background-image-layer {\n\t\twidth: 1920px;\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 50%;\n\t\theight: 100%;\n\t\ttransform: translate(-50%,0);\t\n\t}\n\t.fw-bg {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 50%;\n\t\twidth: 100vw;\n\t\ttransform:translate(-50%,0);\n\t\theight: 100%;\n\t\tz-index: 0;\t\n\t}\n\t.shop-grid-flex {\n\t\tdisplay: flex;\n\t\talign-items: center;\t\t\n\t}\n\t.shop-titles {\n\t\twidth: 500px;\n\t\tmargin-right: 82px;\t\n\t}\n\t.shop-grid {\n\t\tz-index: 1;\n\t\tdisplay: grid;\n\t\tgrid-template-columns: 1fr 1fr 1fr;\n\t\tcolumn-gap: 32px;\n\t\twidth: calc(100% - 582px);\n\t}\n\t.gift-shop-item {\n\t\twidth: 100%;\n\t\theight: 0;\n\t\tpadding-bottom: 130%;\t\n\t}\n\t\n\t.gift-shop-item a {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\tz-index: 1;\t\n\t}\n\t#shop-grid .shop-titles {\n\t\tcolor: var(--cream);\t\n\t}\n\t#shop-grid .shop-super {\n\t\tfont-family: 'Sentinel Italic';\n\t\tline-height: 28px;\n\t\tmargin-bottom: 8px;\t\n\t}\n\t#shop-grid .shop-title h2 {\n\t\tmargin-bottom:48px;\n\t\tcolor: var(--cream);\t\n\t}\n\t.shop-grid-mobile { display: none; }\n\t@media screen and (max-width: 1200px) {\n\t\t.shop-grid-mobile {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: 1fr 1fr 1fr;\n\t\t\tcolumn-gap: 32px; \n\t\t\trow-gap: 32px;\n\t\t\tmargin-bottom:44px;\n\t\t}\t\n\t\t.shop-grid { display: none; }\t\n\t\t.shop-grid-flex { display: block;}\n\t\t.shop-titles { width: auto; margin-right: 0; }\n\t}\n\t@media screen and (max-width: 900px) {\t\n\t\t.shop-grid-flex { text-align: center; }\n\t\t.shop-grid-flex .button a.cta { margin: 0 auto; }\n\t}\n\t@media screen and (max-width:768px) {\n\t\t#shop-grid .shop-title {\n\t\tfont-size: 25px;\n\t\tline-height: 30px;\t\n\t\tmargin-bottom:32px;\n\t}\t\n\t}\n\t@media screen and (max-width: 680px) {\n\t\t.shop-grid-mobile {\n\t\t\tgrid-template-columns: 1fr 1fr;\n\t\t}\t\n\t\t.shop-grid-mobile .gift-shop-item:last-child {\n\t\t\tdisplay: none; \t\t\n\t\t}\n\t\t.gift-shop-item { padding-bottom: 100%; }\n\t}\n\t@media screen and (max-width: 480px) {\n\t\t.shop-grid-flex .button a.cta { margin: 0 auto; width: 100%; text-align: center; display: block; }\n\t\t.shop-grid-flex .button a.cta { text-align: center; }\n\t}\n<\/style>\n<section id=\"shop-grid\">\n\t<div class=\"fw-bg\" style=\"background:var(--night-sky);background-image:url(https:\/\/www.hmns.org\/wp-content\/uploads\/2023\/06\/pattern2-1-2.png);background-repeat:no-repeat;background-size:cover;background-position:center center;\"><\/div>\n\t<div class=\"background-image-layer\">\n\t\t\t<\/div>\n\t<div class=\"shop-grid-flex\">\n\t\t<div class=\"shop-titles\">\n\t\t\t<div class=\"shop-super\">Members Get 10% Off<\/div>\n\t\t\t<div class=\"shop-title\"><h2>Objects & Curiosities in the Gift Shop<\/h2><\/div>\n\t\t\t<div class=\"shop-grid-mobile\"><div class=\"gift-shop-item\" style=\"background-image:url(https:\/\/www.hmns.org\/wp-content\/uploads\/2023\/06\/Butterfly.png);background-size:cover;background-position:center center;background-repeat:no-repeat;\"><a href=\"https:\/\/museumstore.hmns.org\/collections\/toys-novelties\/butterflies-insects\" target=\"_blank\" class=\"abs\" aria-label=\"Purchase an HMNS Butterfly Patch\"><span role=\"img\" aria-label=\"Museum Store : Butterfly Patch\"><\/span><\/a><\/div><div class=\"gift-shop-item\" style=\"background-image:url(https:\/\/www.hmns.org\/wp-content\/uploads\/2023\/06\/tooth.png);background-size:cover;background-position:center center;background-repeat:no-repeat;\"><a href=\"https:\/\/museumstore.hmns.org\/collections\/gems-fossils\" target=\"_blank\" class=\"abs\" aria-label=\"Purchase a Copper-Wrapped Shark Tooth Fossil Pendant\"><span role=\"img\" aria-label=\"Museum Store : Copper-Wrapped Shark Tooth Fossil Pendant\"><\/span><\/a><\/div><div class=\"gift-shop-item\" style=\"background-image:url(https:\/\/www.hmns.org\/wp-content\/uploads\/2023\/06\/mug.png);background-size:cover;background-position:center center;background-repeat:no-repeat;\"><a href=\"https:\/\/museumstore.hmns.org\/collections\/ancient-egypt\" target=\"_blank\" class=\"abs\" aria-label=\"Purchase a Hieroglyphics Mug\"><span role=\"img\" aria-label=\"Museum Store : Hieroglyphics Mug\"><\/span><\/a><\/div><\/div>\n\t\t\t<div class=\"button\"><a class=\"cta secondary\" href=\"https:\/\/museumstore.hmns.org\" target=\"_blank\" aria-label=\"Visit the Museum Store\">Visit the Museum Store<\/a><\/div>\t\t\n\t\t<\/div> \n\t\t<div class=\"shop-grid\"><div class=\"gift-shop-item\" style=\"background-image:url(https:\/\/www.hmns.org\/wp-content\/uploads\/2023\/06\/Butterfly.png);background-size:cover;background-position:center center;background-repeat:no-repeat;\"><a href=\"https:\/\/museumstore.hmns.org\/collections\/toys-novelties\/butterflies-insects\" target=\"_blank\" class=\"abs\" aria-label=\"Purchase an HMNS Butterfly Patch\"><span role=\"img\" aria-label=\"Museum Store : Butterfly Patch\"><\/span><\/a><\/div><div class=\"gift-shop-item\" style=\"background-image:url(https:\/\/www.hmns.org\/wp-content\/uploads\/2023\/06\/tooth.png);background-size:cover;background-position:center center;background-repeat:no-repeat;\"><a href=\"https:\/\/museumstore.hmns.org\/collections\/gems-fossils\" target=\"_blank\" class=\"abs\" aria-label=\"Purchase a Copper-Wrapped Shark Tooth Fossil Pendant\"><span role=\"img\" aria-label=\"Museum Store : Copper-Wrapped Shark Tooth Fossil Pendant\"><\/span><\/a><\/div><div class=\"gift-shop-item\" style=\"background-image:url(https:\/\/www.hmns.org\/wp-content\/uploads\/2023\/06\/mug.png);background-size:cover;background-position:center center;background-repeat:no-repeat;\"><a href=\"https:\/\/museumstore.hmns.org\/collections\/ancient-egypt\" target=\"_blank\" class=\"abs\" aria-label=\"Purchase a Hieroglyphics Mug\"><span role=\"img\" aria-label=\"Museum Store : Hieroglyphics Mug\"><\/span><\/a><\/div><\/div>\n\t<\/div>\n<\/section>","protected":false},"excerpt":{"rendered":"","protected":false},"featured_media":49935,"template":"","interests":[],"exhibittype":[7],"wf_exhibits_folders":[32],"class_list":["post-49933","exhibits","type-exhibits","status-publish","has-post-thumbnail","hentry","exhibittype-special-exhibitions"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Freedom Plane National Tour: Documents That Forged a Nation - HMNS<\/title>\n<meta name=\"description\" content=\"Create holiday memories by travelling across Texas by model railroad in this scratch built \u201cO\u201d scale model. The multiple trains crisscrossing the state will visit important and unique places in the state\u2019s geology and physiography. Destinations include oil country salt domes, prairies and wetlands of the Texas coast and state and national monuments such as Enchanted Rock, Pedernales Falls, The Balcones Escarpment and Big Bend National Park\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Freedom Plane National Tour: Documents That Forged a Nation - Houston Museum of Natural Science\" \/>\n<meta property=\"og:description\" content=\"The exhibit includes over 40 specimens of game fish!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/\" \/>\n<meta property=\"og:site_name\" content=\"HMNS\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-31T18:36:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hmns.org\/wp-content\/uploads\/2026\/01\/NAF-FPLN_Ad_Digital_HOUSTON_NAF_FPLN_KC_1920x1080-Web-landing-page-Blank.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Freedom Plane National Tour: Documents That Forged a Nation - Houston Museum of Natural Science\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/\",\"url\":\"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/\",\"name\":\"Freedom Plane National Tour: Documents That Forged a Nation - HMNS\",\"isPartOf\":{\"@id\":\"https:\/\/www.hmns.org\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hmns.org\/wp-content\/uploads\/2026\/01\/NAF-FPLN_Ad_Digital_HOUSTON_NAF_FPLN_KC_1920x1080-Web-landing-page-Blank.jpg\",\"datePublished\":\"2026-01-27T18:57:49+00:00\",\"dateModified\":\"2026-03-31T18:36:51+00:00\",\"description\":\"Create holiday memories by travelling across Texas by model railroad in this scratch built \u201cO\u201d scale model. The multiple trains crisscrossing the state will visit important and unique places in the state\u2019s geology and physiography. Destinations include oil country salt domes, prairies and wetlands of the Texas coast and state and national monuments such as Enchanted Rock, Pedernales Falls, The Balcones Escarpment and Big Bend National Park\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/#primaryimage\",\"url\":\"https:\/\/www.hmns.org\/wp-content\/uploads\/2026\/01\/NAF-FPLN_Ad_Digital_HOUSTON_NAF_FPLN_KC_1920x1080-Web-landing-page-Blank.jpg\",\"contentUrl\":\"https:\/\/www.hmns.org\/wp-content\/uploads\/2026\/01\/NAF-FPLN_Ad_Digital_HOUSTON_NAF_FPLN_KC_1920x1080-Web-landing-page-Blank.jpg\",\"width\":1600,\"height\":900},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hmns.org\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Freedom Plane National Tour: Documents That Forged a Nation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hmns.org\/#website\",\"url\":\"https:\/\/www.hmns.org\/\",\"name\":\"Houston Museum of Natural Science\",\"description\":\"Explore, Engage, Enlighten\",\"alternateName\":\"HMNS\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hmns.org\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Freedom Plane National Tour: Documents That Forged a Nation - HMNS","description":"Create holiday memories by travelling across Texas by model railroad in this scratch built \u201cO\u201d scale model. The multiple trains crisscrossing the state will visit important and unique places in the state\u2019s geology and physiography. Destinations include oil country salt domes, prairies and wetlands of the Texas coast and state and national monuments such as Enchanted Rock, Pedernales Falls, The Balcones Escarpment and Big Bend National Park","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/","og_locale":"en_US","og_type":"article","og_title":"Freedom Plane National Tour: Documents That Forged a Nation - Houston Museum of Natural Science","og_description":"The exhibit includes over 40 specimens of game fish!","og_url":"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/","og_site_name":"HMNS","article_modified_time":"2026-03-31T18:36:51+00:00","og_image":[{"width":1600,"height":900,"url":"https:\/\/www.hmns.org\/wp-content\/uploads\/2026\/01\/NAF-FPLN_Ad_Digital_HOUSTON_NAF_FPLN_KC_1920x1080-Web-landing-page-Blank.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_title":"Freedom Plane National Tour: Documents That Forged a Nation - Houston Museum of Natural Science","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/","url":"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/","name":"Freedom Plane National Tour: Documents That Forged a Nation - HMNS","isPartOf":{"@id":"https:\/\/www.hmns.org\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/#primaryimage"},"image":{"@id":"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hmns.org\/wp-content\/uploads\/2026\/01\/NAF-FPLN_Ad_Digital_HOUSTON_NAF_FPLN_KC_1920x1080-Web-landing-page-Blank.jpg","datePublished":"2026-01-27T18:57:49+00:00","dateModified":"2026-03-31T18:36:51+00:00","description":"Create holiday memories by travelling across Texas by model railroad in this scratch built \u201cO\u201d scale model. The multiple trains crisscrossing the state will visit important and unique places in the state\u2019s geology and physiography. Destinations include oil country salt domes, prairies and wetlands of the Texas coast and state and national monuments such as Enchanted Rock, Pedernales Falls, The Balcones Escarpment and Big Bend National Park","breadcrumb":{"@id":"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hmns.org\/exhibits\/freedom-plane\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/#primaryimage","url":"https:\/\/www.hmns.org\/wp-content\/uploads\/2026\/01\/NAF-FPLN_Ad_Digital_HOUSTON_NAF_FPLN_KC_1920x1080-Web-landing-page-Blank.jpg","contentUrl":"https:\/\/www.hmns.org\/wp-content\/uploads\/2026\/01\/NAF-FPLN_Ad_Digital_HOUSTON_NAF_FPLN_KC_1920x1080-Web-landing-page-Blank.jpg","width":1600,"height":900},{"@type":"BreadcrumbList","@id":"https:\/\/www.hmns.org\/exhibits\/freedom-plane\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hmns.org\/"},{"@type":"ListItem","position":2,"name":"Freedom Plane National Tour: Documents That Forged a Nation"}]},{"@type":"WebSite","@id":"https:\/\/www.hmns.org\/#website","url":"https:\/\/www.hmns.org\/","name":"Houston Museum of Natural Science","description":"Explore, Engage, Enlighten","alternateName":"HMNS","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hmns.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"publishpress_future_workflow_manual_trigger":{"enabledWorkflows":[]},"_links":{"self":[{"href":"https:\/\/www.hmns.org\/wp-json\/wp\/v2\/exhibits\/49933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hmns.org\/wp-json\/wp\/v2\/exhibits"}],"about":[{"href":"https:\/\/www.hmns.org\/wp-json\/wp\/v2\/types\/exhibits"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hmns.org\/wp-json\/wp\/v2\/media\/49935"}],"wp:attachment":[{"href":"https:\/\/www.hmns.org\/wp-json\/wp\/v2\/media?parent=49933"}],"wp:term":[{"taxonomy":"interests","embeddable":true,"href":"https:\/\/www.hmns.org\/wp-json\/wp\/v2\/interests?post=49933"},{"taxonomy":"exhibittype","embeddable":true,"href":"https:\/\/www.hmns.org\/wp-json\/wp\/v2\/exhibittype?post=49933"},{"taxonomy":"wf_exhibits_folders","embeddable":true,"href":"https:\/\/www.hmns.org\/wp-json\/wp\/v2\/wf_exhibits_folders?post=49933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}