/*-----------------*/

/* SITE FRAMEWORK */

/*-----------------*/

body { background: #FBFBFB; font-family: 'Open Sans', sans-serif; font-size: 16px; color: #020402; width: 100%; overflow-x: hidden; }
html { overflow-x: hidden; overflow-y: scroll; scroll-behavior: smooth; }
body.site_body { }
body.site_body * { box-sizing: border-box; }

/*System edit controls*/
.AB-editContentContainer { display: flex; align-items: flex-end; }
.AB-editing .__contentbox { z-index: 3000; }

/* LAYOUT CLASSES */
.full-width-fix { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
.hidden { display: none; }
.hiddeImportant { display: none !important; }

/*--------------*/

/* SITE DESIGN */

/*--------------*/

/* TYPOGRAPHY */

img { max-width: 100%; max-height: 100%; height: auto; width: auto; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 10px 0; padding: 0; font-weight: normal; color: #066361; font-family: 'Playfair Display'; }
h1 { font-size: 36px; line-height: 46px; }
h2 { font-size: 32px; line-height: 42px; }
h3 { font-size: 30px; line-height: 40px; }
h4 { font-size: 28px; line-height: 38px; }
h5 { font-size: 26px; line-height: 36px; }
h6 { font-size: 24px; line-height: 34px; }
p { font-size: 16px; line-height: 26px; margin: 0 0 20px 0; padding: 0; color: #1A1818; }
ul { list-style: square; margin: 0; padding: 0; }
ol { list-style: decimal; margin: 0; padding: 0; }
ul li, ol li { margin: 5px 0; padding: 0; font-size: 16px; line-height: 26px; color: #1A1818; list-style-position: inside; }
hr { width: 100%; height: 1px; background: #E97305; }
a { text-decoration: none; }
a:hover { text-decoration: none; }
.content_wrap p a:not([class]) { text-decoration: underline; transition: ease-in-out all .3s; color: #066361; }
.content_wrap p a:not([class]):hover { color: #066361; }
strong { font-weight: bold; }

/* Button Classes */
.content_wrap :is(.btn_p, .btn_s) { padding: 14px 28px; display: inline-block; font-size: 18px; margin: 5px 10px 5px 0; transition: ease-in-out all .3s; line-height: 24px; border: 2px solid; border-radius: 3px; font-weight: bold; }
.content_wrap .btn_p { border-color: #066361; background: #066361; color: #fff; }
.content_wrap .btn_p:hover { background: #fff; color: #066361; }
.content_wrap .btn_s { border-color: #E97305; background: #E97305; color: #fff; }
.content_wrap .btn_s:hover { background: #fff; color: #E97305; }

/*Animation*/
@keyframes shadow-pulse {
    0% { box-shadow: 0 0 0 0px rgba(0, 0, 0, .6); }
    100% { box-shadow: 0 0 0 20px rgba(0, 0, 0, 0); }
}

/* ----- HEADER ----- */
header.site_header { position: relative; z-index: 3000; }

/* -- Header Wrap -- */
.header_wrap { background: transparent linear-gradient(179deg, #066361 0%, #065857 100%) 0% 0% no-repeat padding-box; display: flex; align-items: center; }
.header_container { padding: 0 15px; display: flex; align-items: center; justify-content: space-between; height: 120px; }
.header_left { display: flex; align-items: center; justify-content: flex-start; }
.header_right { display: flex; align-items: center; justify-content: flex-end; gap: 20px; }
.donate_button_wrap { padding: 0 0 0 10px; }
.donate_button_wrap .donateButton { display: flex; align-items: center; justify-content: center; height: 45px; background: #E97305; border: 1px solid #E97305; border-radius: 3px; padding: 0 20px; transition: 0.2s ease-in-out all; }
.donate_button_wrap .donateButton:hover { background: #fff; }
.donate_button_wrap .donateButton span { font-size: 16px; color: #fff; font-weight: bold; font-family: 'Open Sans'; transition: 0.2s ease-in-out all; }
.donate_button_wrap .donateButton:hover span { color: #E97305; }
.site_body[data-page=home] .site_header { position: absolute; top: 0; left: 0; width: 100%; }
.site_body[data-page=home] .AB-parent+.site_header { margin-top: 50px; }
.site_body[data-page=home] .header_wrap { background: transparent; }

/*Menu wrap*/
.menu_wrap { display: flex; align-items: center; height: 100%; }
.menu_wrap>ul { display: flex; align-items: center; gap: 40px; height: 100%; }
.menu_wrap>ul>li { height: 100%; display: flex; align-items: center; }
.menu_wrap>ul>li>a { height: 100%; display: flex; align-items: center; gap: 5px; }
.menu_wrap>ul>li.has-children>a::after { content: ""; width: 8px; height: 8px; border: solid #fff; border-width: 0 1px 1px 0; transform: rotate(45deg); }
.menu_wrap ul { list-style: none; padding: 0; margin: 0; }
.menu_wrap ul li { list-style: none; padding: 0; margin: 0; position: relative; display: flex; align-items: center; }
.menu_wrap ul li a { color: #fff; position: relative; font-size: 18px; transition: ease-in-out all .3s; font-family: 'Playfair Display'; }
.menu_wrap ul li ul { position: absolute; left: 0; top: 100%; background: #066361; padding: 20px; width: 260px; display: flex; flex-direction: column; gap: 15px; }
.menu_wrap ul li ul li ul { left: 120%; top: 0; }
.menu_wrap ul li ul li a { text-transform: capitalize; display: flex; align-items: center; font-size: 16px; }
.menu_wrap ul li ul li a::after { content: ""; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); height: 1px; width: 0; background: #E97305; transition: ease-in-out all .3s; }
.menu_wrap ul li ul li a:hover:after { width: 100%; }

/*Effect on sub menu*/
.main_menu ul { visibility: hidden; opacity: 0; transition: ease-in-out all .4s; transform: translateY(20px); padding: 0; z-index: -1; }
.main_menu li.has-children:hover>ul { visibility: visible; opacity: 1; z-index: 1000; transform: translateY(0); }

/*Overlay*/
.overlay { background: rgba(0, 0, 0, .6); position: fixed; top: 0; height: 100vh; width: 100%; left: 0; z-index: -1; visibility: hidden; opacity: 0; transition: ease-in-out all .4s; }
.overlay.hover { visibility: visible; opacity: 1; z-index: 999; }

/* ----- FOOTER ----- */
footer.site_footer { display: flex; flex-direction: column; position: relative; }

/* -- Footer Wrap -- */
.footer_wrap { background: #066361; }
.footer_container { display: flex; align-items: center; justify-content: flex-start; flex-direction: column; gap: 0; }
.footer_title { padding: 20px 0; text-align: center; }
.footer_title span { font-size: 20px; line-height: 40px; color: #fff; font-weight: bold; font-family: 'Playfair Display'; text-align: center; }
.footer_cta_wrap { display: flex; align-items: center; justify-content: center; gap: 15px; position: relative; padding: 0 0 20px; }
.footer_cta_wrap::after { content: ""; display: block; width: 50px; height: 0; border-top: 1px solid #045964; border-bottom: 1px solid #03707E; position: absolute; bottom: 0; left: calc(50% - 25px); }
.footer_cta { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; }
.footer_cta.mail { background: url(../images/mail-white.svg) no-repeat center; }
.footer_cta.fb { background: url(../images/fb-white.svg) no-repeat center; }
.footer_cta.tw { background: url(../images/tw-white.svg) no-repeat center; }
.footer_cta.yt { background: url(../images/yt-white.svg) no-repeat center; }
.footer_cta.ig { background: url(../images/icon-ig.svg) no-repeat center; background-size: 16px; }
.footer_wrap .donate_button_wrap { padding: 10px 0; }

/*Footer Menu*/
.footer_menu { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 10px; margin: 0; list-style: none; padding: 10px 0; font-family: 'Playfair Display'; }
.footer_menu li { list-style: none; margin: 0; padding: 0; text-align: center; }
.footer_menu li a { font-size: 16px; color: #FFFFFF; transition: ease-in-out all .3s; text-align: center; }
.footer_menu li a:hover { color: #E97305; }
.footer_menu li ul { display: none; }

/* -- Byline Wrap -- */
.byline_wrap { padding: 20px 0; background: #ECECEC; }
.byline_container { display: flex; flex-direction: column; gap: 15px; align-items: center; text-align: center; }
.byline_container .dmac_link { font-size: 10px; color: #808384; }
.byline_wrap ul { margin: 0; padding: 0; list-style: none; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; }
.byline_wrap ul li { list-style: none; margin: 0; padding: 0 10px; position: relative; }
.byline_wrap ul li::after { content: ""; height: 20px; width: 1px; background: #066361; position: absolute; right: 0; top: calc(50% - 10px); }
.byline_wrap ul li:last-child::after { content: none; }
.byline_wrap ul li a { color: #066361; font-size: 16px; transition: ease-in-out all .3s; }
.rcn_wrap p { font-size: 12px; font-weight: bold; color: #fff; }
.city_council_logo p { color: #066361; font-size: 12px; font-weight: bold; }

/* ------------------- */
/* ----- MODULES ----- */
/* ------------------- */

/* -- TEXT MODULE -- */

.text_module_wrap { position: relative; }
.text_module_container { position: relative; z-index: 1; }
.text_module_before { position: absolute; left: calc(-1140px / 2); width: 100vw; top: 0; height: 100%; z-index: -1; }
.text_module_after { position: absolute; width: 100vw; top: 0; height: 100%; z-index: -1; }

/* -- SPACING MODULE -- */
.spacing_module { display: flex; align-items: center; justify-content: center; background: transparent; position: relative; z-index: 1; transition: 0.2s ease-in-out all; }
.spacing_module span { opacity: 0; text-align: center; font-size: 24px; font-weight: bold; transition: 0.2s ease-in-out all; }
.spacing_module.admin_logged:hover { background: #efefef; }
.spacing_module.admin_logged:hover span { opacity: 1; }

/* -- GALLERY -- */
.flexslider { height: auto; position: relative; }
.flexslider:not(.full-width-fix) .flex-direction-nav { display: none; }
.flex-viewport { height: 100% !important; }
.flexslider .slides { list-style: none; margin: 0; padding: 0; overflow: hidden; }
.flexslider .slides>li { display: none; -webkit-backface-visibility: hidden; position: relative; margin: 0; padding: 0; width: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; height: 100%; min-height: 100px; }
.flexslider .slides { height: 100%; }
.flexslider .slides>li.flex-active-slide { display: flex !important; flex-direction: column }
.flexslider .slides>li>a { display: block; height: 100%; }
.flexslider .slides>li>img, .flexslider .slides>li>a>img { width: 100%; display: block; z-index: 4; }
.flexslider .slides:after { content: "\0020"; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
html[xmlns] .flexslider .slides { display: block; }
* html .flexslider .slides { height: 1%; }
.no-js .flexslider .slides>li:first-child { display: block; }

/* bottom arrow */
.flexSliderContainer.arrow { position: relative; }
.flexSliderContainer.arrow .flexslider { margin-bottom: -30px; }
.flexSliderContainer.arrow .slides>li, .flexSliderContainer.arrow .slides>li>a { clip-path: polygon(0 calc(100% - 30px), calc(50% - 30px) calc(100% - 30px), calc(50% - 1px) 100%, calc(50% + 1px) 100%, calc(50% + 30px) calc(100% - 30px), 100% calc(100% - 30px), 100% 0, 0 0); -webkit-clip-path: polygon(0 calc(100% - 30px), calc(50% - 30px) calc(100% - 30px), calc(50% - 1px) 100%, calc(50% + 1px) 100%, calc(50% + 30px) calc(100% - 30px), 100% calc(100% - 30px), 100% 0, 0 0); }
.flexSliderContainer.parallax .slides>li { background-attachment: fixed; }

/* caption */
.flex-caption { display: flex; flex-direction: column; height: 100%; margin: 0 auto; gap: 30px; z-index: 1; }
.flex-caption>div { display: flex; flex-direction: column; justify-content: center; box-sizing: border-box; height: auto; }
.flex-caption>div.background { background: rgba(0, 0, 0, .6); padding: 20px 40px; }
.flex-caption:empty { display: none; }
.flex-caption.halign-right { align-items: flex-end; }
.flex-caption.halign-left { align-items: flex-start; }
.flex-caption.halign-center { align-items: center; }
.flex-caption.valign-top { justify-content: flex-start; }
.flex-caption.valign-center { justify-content: center; }
.flex-caption.valign-bottom { justify-content: flex-end; padding-bottom: 40px; }

/* pagination */
.flex-control-paging { position: absolute; bottom: 20px; display: flex; left: calc(50% - 800px); width: 1600px; align-items: center; gap: 15px; justify-content: center; z-index: 60; list-style: none; display: flex; align-items: center; justify-content: center; margin: 0; padding: 0 15px; }
.flex-control-paging>li { padding: 0; margin: 0; font-size: 0; display: flex; align-items: center; justify-content: center; }
.flex-control-paging>li>a { width: 18px; height: 18px; box-sizing: border-box; border: 1px solid #066361; background: #fff; border-radius: 100%; transition: ease-in-out all .3s; }
.flex-control-paging>li>a.flex-active { background: #066361; border-color: #066361; }

/* nav arrows*/
.flex-direction-nav { position: absolute; top: 50%; margin: 0; padding: 0; width: 100%; list-style: none; }
.flex-direction-nav li { position: absolute; z-index: 10; top: calc(50% - 68px); width: 67px; height: 136px; cursor: pointer; transition: ease-in-out all .3s; padding: 0; }
.flex-direction-nav li a { font-size: 0; display: block; height: 100%; }
.flex-direction-nav li { left: 30px; background: rgba(0, 0, 0, .2); border-radius: 3px; }
.flex-direction-nav li::after { content: ""; height: 22px; width: 22px; position: absolute; transform: rotate(45deg); border: solid #fff; border-width: 0 0 4px 4px; left: 26px; top: calc(50% - 11px); pointer-events: none; }
.flex-direction-nav li.flex-nav-next { right: 30px; transform: rotate(180deg); left: initial; }
.flex-direction-nav li:hover { background: rgba(0, 0, 0, .3); }

/* -- CONTACT FORM --*/
.contact-form { background: #FDFCFC; border: 1px solid #e1e1e1; padding: 20px; border-radius: 3px; }
.contact-form .cf-input { line-height: 30px; padding-bottom: 10px; }
.contact-form .cf-select { line-height: 30px; padding-bottom: 10px; display: inline-block; width: 100%; }
.contact-form .cf-text { font-size: 18px; color: #066361; font-weight: bold; line-height: 26px; margin-bottom: 20px; padding: 10px 0; border-bottom: 1px solid #B7B7B7; }
.contact-form label { width: 100%; color: #303B42; font-size: 15px; font-weight: bold; margin: 0; line-height: 26px; margin-bottom: 5px; }
.contact-form input[type=text], .contact-form input[type=email], .contact-form input[type=date], .contact-form textarea, .contact-form select { width: 100%; height: 40px; font-size: 14px; border: 1px solid #ccc; background: #fff; box-sizing: border-box; padding: 0 10px; transition: ease-in-out all .5s; color: #303B42; }
.contact-form :is(input[type=text], .contact-form input[type=email], .contact-form input[type=date], .contact-form textarea, .contact-form select):focus { border-color: #E97305; }
.contact-form select option { color: #000; }
.contact-form label span { color: #fff; font-size: 16px; }
.contact-form textarea { resize: none; height: 130px; }
.contact-form :is(.cf-radiobox, .cf-checkbox) { padding-bottom: 10px; }
.contact-form :is(.cf-radiobox, .cf-checkbox)>span { display: flex; align-items: center; color: #303B42; font-size: 14px; }
.contact-form :is(.cf-radiobox input[type=radio], .cf-checkbox input[type=checkbox]) { margin-right: 10px; accent-color: #066361; }
.contact-form .cf-validation { text-align: center; height: 0; padding: 10px 0; box-sizing: border-box; font-size: 16px; color: #303B42; font-weight: bold; transition: all .2s ease-in-out; }
.contact_form_footer { display: flex; justify-content: space-between; }
.contact-form .cf-buttons { display: flex; justify-content: space-between; align-items: flex-start; margin-top: 20px; }
.contact-form .cf-buttons .denotes { color: #4B4B4B; font-size: 13px; }
.contact-form .cf-buttons a.cf-reset { display: none; }

/* ----- CONTENT LAYOUT MODULE ----- */
.content_layout_module { background: url(../images/music-notes-bg.svg) no-repeat left center; background-size: auto; }
.layout_block { position: relative; }
.layout_pos_right::before { left: initial; right: 0; }
.layout_pos_left::after { left: initial; right: 0; }
.layout_theme_dark { background: #066361; }
.layout_theme_light { background: transparent; }
.layout_block .row { display: flex; position: relative; z-index: 1; }
.layout_block .row>div { display: flex; align-items: center; justify-content: center; width: 50%; padding: 20px; box-sizing: border-box; }
.layout_pos_left.layout_block .row .layout_content { padding-left: calc((100vw - 1200px) / 2); }
.layout_pos_right.layout_block .row .layout_content { padding-right: calc((100vw - 1200px) / 2); }
.layout_image { padding: 20px; }
.layout_image_inner { position: relative; }
.layout_image img { max-height: 100%; max-width: 100%; height: auto; width: auto; position: relative; }
.layout_block .layout_image_inner::before { content: ""; display: block; width: 100%; height: 100%; background: #066361; position: absolute; bottom: -10px; }
.layout_pos_left .layout_image_inner::before { left: -10px; }
.layout_pos_right .layout_image_inner::before { right: -10px; }
.layout_theme_dark .layout_image_inner::before { background: #E97305; }
.layout_inner { width: 100%; }
.layout_title_wrap { position: relative; padding-bottom: 10px; }
.layout_title { display: flex; align-items: center; justify-content: flex-start; width: 100%; }
.layout_title::after { content: ""; display: block; width: 50px; height: 4px; border-radius: 5px; background: #066361; position: absolute; bottom: 0; left: 0; }
.layout_title span { font-size: 32px; line-height: 38px; font-weight: bold; color: #2C2D2D; font-family: 'Playfair Display'; }
.layout_subtitle_wrap { padding: 10px 0; }
.layout_subtitle { }
.layout_subtitle span { font-size: 16px; line-height: 27px; color: #2C2D2D; font-weight: bold; font-family: 'Playfair Display'; }
.layout_text { padding: 15px 0; }
.layout_text span { display: block; font-size: 16px; line-height: 28px; color: #2C2D2D; }
.layout_buttons { display: flex; align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; gap: 20px; padding: 10px 0; }
.layout_buttons>a { margin: 0; }
.layout_pos_left .row { flex-direction: row-reverse; }
.layout_theme_dark .layout_title_wrap { }
.layout_theme_dark .layout_title::after { background: #E97305; }
.layout_theme_dark .layout_title span { color: #fff; }
.layout_theme_dark .layout_subtitle span { color: #fff; }
.layout_theme_dark .layout_text span { color: #fff; }

/* -- IMAGE CAROUSEL MODULE -- */
.image_carousel_module { position: relative; background: #F5F5F5; }
.icm_container { width: 100%; position: relative; z-index: 1; padding: 30px 0; }
.icm_heading { display: inline-flex; align-items: center; justify-content: center; width: 100%; position: relative; padding: 20px 0; font-size: 32px; color: #2C2D2D; font-weight: bold; line-height: 40px; font-family: 'Playfair Display'; }
.icm_heading::after { content: ""; display: block; width: 40px; height: 4px; background: #066361; position: absolute; left: calc(50% - 20px); bottom: 0; }
.icm_gal_wrap { padding: 20px 0; position: relative; }
.icm_gal { }
.icm_gal .slick-track { padding: 20px 0; }
.icm_gal_wrap.list .icm_gal { display: flex; align-items: center; justify-content: center; }
.icm_gal_wrap.list .icm_gal_nav { display: none; }
.icm_block { margin: 0 30px; transition: 0.2s ease-in-out all; }
.icm_block_image { display: flex; align-items: center; justify-content: center; height: 120px; }
.icm_block_image a { display: flex; align-items: center; justify-content: center; height: 100%; }
.icm_block_image img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.icm_block_title { display: flex; align-items: center; justify-content: center; height: 45px; padding: 10px 0; }
.icm_block_title span { font-size: 36px; line-height: 44px; color: #2C2D2D; font-weight: bold; text-align: center; font-family: 'Playfair Display'; }
.icm_block_text { display: flex; align-items: center; justify-content: center; padding: 5px; }
.icm_block_text span { text-align: center; font-size: 16px; line-height: 20px; color: #2C2D2D; text-align: center; }
.icm_gal_nav { display: flex; align-items: center; justify-content: center; width: 35px; height: 80px; cursor: pointer; position: absolute; top: calc(50% - 40px); }
.icm_gal_nav::before { content: ""; display: block; width: 12px; height: 12px; border: solid #066361; transform: rotate(45deg); }
.icm_gal_prev { left: -40px; }
.icm_gal_prev::before { border-width: 0 0 3px 3px; }
.icm_gal_next { right: -40px; }
.icm_gal_next::before { border-width: 3px 3px 0 0; }

/* -- DONATION MODULE -- */
.donation_module { background: #FBFBFB; border: 1px solid #E6E6E6; border-width: 1px 0; }
.donation_module_container { display: flex; align-items: center; justify-content: flex-start; flex-direction: column; padding: 30px 0; }
.dm_title { max-width: 500px; }
.dm_title span { font-size: 36px; line-height: 42px; color: #066361; font-weight: bold; font-family: 'Playfair Display'; text-align: center; }
.dm_subtitle { max-width: 500px; text-align: center; padding: 20px 0; }
.dm_subtitle span { font-size: 14px; line-height: 24px; color: #2C2D2D; text-align: center; }
.dm_section_wrap { display: none; position: relative; }
.dm_section_wrap[data-section=amount] { display: block; }
.dm_section_wrap::before { content: ""; display: block; width: 30px; height: 3px; background: #066361; margin: 0 auto; border-radius: 3px; }
.dm_section { display: flex; flex-direction: column; justify-content: flex-start; align-items: center; position: relative; }
.dm_section_title { padding: 10px 0; }
.dm_section_title span { font-size: 18px; color: #066361; line-height: 24px; font-weight: bold; }
.dm_section_subtitle { padding: 0 0 10px 0; }
.dm_section_subtitle span { font-size: 14px; color: #2C2D2D; line-height: 20px; }
.dm_section_form { display: flex; align-items: flex-start; justify-content: flex-start; flex-wrap: wrap; gap: 0 20px; max-width: 500px; }
.dm_form_field { display: flex; align-items: center; justify-content: flex-start; width: 100%; padding: 0 0 10px; }
.dm_form_field.half { width: calc(50% - 10px); }
.dm_form_input { display: flex; align-items: center; justify-content: flex-start; width: 100%; }
.dm_form_input.amount_input { height: 0; opacity: 0; display: flex; align-items: center; justify-content: flex-start; border: 1px solid #AEB2B2; border-radius: 5px; background: #fff; padding-right: 65px; transition: 0.2s ease-in-out all; }
.dm_form_input.amount_input.active { height: 60px; opacity: 1; }
.dm_form_input input, .dm_form_input select, .dm_form_input textarea { width: 100%; height: 60px; border: 1px solid #AEB2B2; border-radius: 5px; background: #fff; padding: 0 10px; box-sizing: border-box; transition: 0.2s ease-in-out all; }
.dm_form_input textarea { resize: none; height: 120px; padding: 10px; }
.dm_form_input input:focus, .dm_form_input select:focus, .dm_form_input textarea:focus { border-color: #066361; }
.dm_form_input.amount_input::before { content: ""; display: block; background: url(../images/euro-grey.svg) no-repeat center; width: 65px; height: 25px; border-right: 1px solid #D5D0D0; }
.dm_form_input.amount_input input { border: none; height: 100%; text-align: center; font-weight: bold; }
.dm_amount_buttons { padding: 10px 0; }
.dm_amount_button.active { background: #fff; color: #066361; }
.dm_custom_amount_wrap { padding: 10px 0; }
.dm_custom_amount { font-size: 14px; color: #066361; text-decoration: underline; text-align: center; }
.dm_custom_amount:hover { color: #066361; text-decoration: underline; }
.dm_continue_wrap { width: 500px; padding: 10px 0; }
.dm_continue { width: 100%; height: 55px; padding: 0 20px; box-sizing: border-box; text-align: center; position: relative; }
.dm_continue::after { content: ""; display: block; width: 8px; height: 8px; border: solid #fff; border-width: 2px 2px 0 0; transform: rotate(45deg); position: absolute; top: calc(50% - 4px); right: 15px; transition: 0.2s ease-in-out all }
.dm_continue:hover::after { border-color: #E97305; right: 5px; }
.dm_anonymous_wrap { display: flex; align-items: center; justify-content: flex-start; align-self: flex-start; gap: 10px; }
.dm_anonymous_wrap input { accent-color: #066361; }
.dm_anonymous_wrap span { font-size: 14px; color: #2C2D2D; }
.dm_amount_text_wrap { display: flex; align-items: center; justify-content: flex-start; align-self: flex-start; gap: 10px; padding: 10px 0; }
.dm_amount_text_wrap span { font-size: 18px; line-height: 30px; color: #066361; font-weight: bold; }
.dm_amount_text_wrap a { font-size: 16px; color: #066361; text-decoration: underline; }

/*Fundraiser Module*/
.fundraiser-module{padding: 50px 0; background: linear-gradient(180deg, #066361 0%, #065654 100%);}
.fundraiser-module > div{display: flex; flex-direction: column; gap:15px; align-items: center; justify-content: center;}
.fundraiser-module .fm-heading{margin: 0; color: #fff; font-size: 60px; font-weight: bold; display: flex; flex-direction: column; gap:15px; align-items: center;
    line-height: 1.2; text-align: center;}
.fundraiser-module .fm-heading::after{content: ""; height: 8px; width: 76px; background: url(../images/fm-seperator.svg) center no-repeat;}
.fundraiser-module .fm-trombone-section{width: 100%; position: relative;}
.fundraiser-module .fm-trombone-texts{width: 380px; position: absolute; right: 0; top: 0;}
.fundraiser-module .fm-trombone-texts{display: flex; align-items: flex-start; flex-direction: column;}
.fundraiser-module .fm-trombone-texts .fm-goal span{color: #fff; font-size: 42px; font-family: 'Playfair Display';}
.fundraiser-module .fm-trombone-texts .fm-goal span strong{font-weight: bold;}
.fundraiser-module .fm-trombone-texts p{color: #fff; margin: 0;}
.fundraiser-module .fm-trombone-texts .fm-donate{margin-top: 10px; padding: 10px 20px; background: #E97305; color: #fff; transition: ease-in-out all .3s;
    border-radius: 3px; font-weight: bold; border: 2px solid transparent;}

.fundraiser-module .fm-trombone-texts .fm-donate:hover{border-color: #fff;}
.fundraiser-module .fm-trombone{width: 985px; height: 420px; position: relative; background: url(../images/fm-trombone.svg) no-repeat left top;
    background-size: contain;}
.fundraiser-module .fm-trombone-contain{height: 145px; width: 600px; position: absolute; left: 350px; bottom: 8px;}

.fundraiser-module .fm-trombone-fill{position: absolute; left: 6px; top: 26px; height: 88px; width: 0%; background: linear-gradient(to right, rgba(37, 234, 27, 0.01), rgba(37, 234, 27, 0.85) ); z-index: 1; transform: translateX(0);}
.fundraiser-module .fm-trombone-counter{height: 145px; width: 128px; background: url(../images/fm-counter.svg) center no-repeat; display: flex; 
    background-size: contain; align-items: center; justify-content: center; position: absolute; left: -21px; bottom: 0; 
    color: #013635; font-weight: bold; font-size: 18px; z-index: 2;}

.fundraiser-module .fm-description{display: flex; flex-direction: column; gap:10px; align-items: center; justify-content: center; text-align: center;}
.fundraiser-module .fm-description span{font-family: 'Playfair Display'; font-size: 30px; font-weight: bold; color: #fff;}
.fundraiser-module .fm-description p{color: #fff; margin: 0; padding: 0; line-height: 24px;}
.fundraiser-module .fm-description .fm-learn-more{color: #fff; margin-top:10px; padding: 10px 20px; 
    border: 1px solid #fff; font-weight: bold; font-size: 16px; border-radius: 3px; transition: ease-in-out all .3s;}
.fundraiser-module .fm-description .fm-learn-more:hover{background: #E97305; }


/* Member login*/
.login-overlay { position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 100000; background: #066361; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.login-box { padding: 30px; margin: 40px 0 20px 0; background: #077774; color: #fff; border-radius: 5px; width: 420px; box-sizing: border-box; max-width: 95%; text-align: center; }
.login-box p { color: #fff; }
.login-title { font-weight: bold; font-size: 18px; margin-bottom: 20px; }
.login-form-group { display: flex; align-items: center; background: #fff; border-radius: 4px; padding: 0 10px; width: 100%; height: 60px; margin-bottom: 20px; }
.login-form-group div { width: 50px; text-align: center; }
.login-form-group input { flex: 1 auto; border: 0; line-height: 44px; padding: 0 15px; font-weight: bold; }
.login-form-group div+input { border-left: 1px solid #E2DEDE; }
.login-button { background: #E97305; display: block; border-radius: 4px; width: 100%; line-height: 60px; text-align: center; font-weight: bold; color: #fff !important; text-decoration: none !important; font-size: 18px; margin-bottom: 20px; border: 0; cursor: pointer; }
.login-link { font-weight: bold; font-size: 12px; color: #fff !important; text-decoration: underline; }
#snackbar { visibility: hidden; text-align: center; position: fixed; z-index: 999900 !important; top: 30px; left: 50%; width: auto; -webkit-transform: translateX(-50%); -moz-transform: translateX(-50%); -ms-transform: translateX(-50%); -o-transform: translateX(-50%); transform: translateX(-50%); }
#snackbar.show { visibility: visible; -webkit-animation: fadeinSnack 0.5s, fadeoutSnack 0.5s 2.5s; animation: fadeinSnack 0.5s, fadeoutSnack 0.5s 2.5s; }
@-webkit-keyframes fadeinSnack {
    from { top: 0; opacity: 0; }
    to { top: 30px; opacity: 1; }
}
@keyframes fadeinSnack {
    from { top: 0; opacity: 0; }
    to { top: 30px; opacity: 1; }
}
@-webkit-keyframes fadeoutSnack {
    from { top: 30px; opacity: 1; }
    to { top: 0; opacity: 0; }
}
@keyframes fadeoutSnack {
    from { top: 30px; opacity: 1; }
    to { top: 0; opacity: 0; }
}

/*---------------------*/

/* DASHBOARD */

/*---------------------*/

.dashboard-header { background: #066361; padding: 20px 0; color: #fff; font-size: 30px; }
.dashboard-header span { font-size: 22px; }
.userLogout { float: right; font-size: 16px; color: #fff !important; font-weight: bold; }
.dashboard-page { margin: 20px 0; }
.dashboard-membership { background: #ECEEEE; padding: 10px; border-radius: 4px; display: flex; align-items: center; column-gap: 10px; color: #066361; font-size: 16px; margin-bottom: 20px; }
.dashboard-membership img { margin-top: 10px; align-self: flex-start; }
.dashboard-membership span { font-size: 32px; font-weight: bold; }
.dashboard-renew { margin-left: auto; }
.dashboard-button { display: inline-block; background: #E97305; color: #fff; font-size: 16px; font-weight: bold; color: #fff !important; text-decoration: none !important; line-height: 46px; padding: 0 20px; border-radius: 3px; outline: none; border: 0; cursor: pointer; }
.dashboard-section { margin-bottom: 20px; }
.dashboard-title { background: #066361; color: #fff; font-size: 22px; font-weight: bold; padding: 0 20px; border-radius: 5px 5px 0 0; height: 80px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; }
.dashboard-section .dashboard-title img { transition: rotate 0.3s; rotate: 180deg; }
.dashboard-section.open .dashboard-title img { rotate: 0deg; }
.dashboard-section-content { display: none; padding: 30px 20px; background: #F5F5F5; border-radius: 0 0 4px 4px; }
.dash-article-tag-links { display: flex; align-items: center; gap: 10px; }
.dash-article-tag-links a { background: #FFFFFF; border: 1px solid #066361; border-radius: 5px; line-height: 60px; color: #066361 !important; text-decoration: none; font-weight: bold; font-size: 18px; padding: 0 20px; display: flex; align-items: center; column-gap: 10px; }
.dash-section-heading { font-weight: bold; margin-bottom: 15px; }
.dash-recent-articles { display: flex; gap: 20px; flex-wrap: wrap; }
.dash-member-link { color: #066361; text-decoration: underline; display: block; line-height: 32px; }
.dash-member-menu { list-style: none; padding: 0; margin: 0; }
.dash-member-menu li { list-style: none; padding: 0; margin: 0; }
.dash-member-menu li a { color: #066361; text-decoration: underline; display: block; line-height: 32px; }
.dash-article-viewall { float: right; }
.dashboard-details { display: flex; flex-wrap: wrap; gap: 20px; }
.dashboard-formfield { width: calc((100% - 20px)/2); flex: 1 auto; display: flex; flex-direction: column; }
.dashboard-formfield label { color: #2C2D2D; font-weight: bold; font-size: 16px; line-height: 22px; }
.dashboard-formfield input:not([type=submit]), .dashboard-formfield textarea, .dashboard-formfield select { color: #2C2D2D; font-size: 16px; background: #FFFFFF; border: 1px solid #066361; border-radius: 5px; padding: 0 10px; height: 60px; }
.dashboard-formfield textarea { font-size: inherit; padding: 10px; height: auto; resize: none; }
.dashboard-save { margin-left: auto; }
.instrument { border: 0; background: none; }
.instrument-image { background: #fff; display: flex; align-items: center; justify-content: center; }
.instrument-image img { max-width: 90%; max-height: 90%; }
.terms-pop-up { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 100; background: rgba(0, 0, 0, .6); }
.terms-pop-up > div { width: calc(100% - 10px); max-width: 600px; padding: 20px; background: #fff; border-radius: 5px; box-sizing: border-box; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1000; }

/*---------------------*/

/* MEMBERSHIP RENEWAL FORM */

/*---------------------*/

.renewal-form { background: #F8F6F6; border-radius: 4px; padding: 20px; margin: 10px 0 20px 0; }
.renewal-form h2 { color: #066361; font-family: inherit; font-weight: bold; }
.renewal-form h5 { color: #066361; font-family: inherit; }
.renewal-form-separator { width: 30px; height: 3px; background: #066361; margin-bottom: 20px; }
.renewal-form hr { background: #E3E3E3; max-width: 550px; display: inline-block; }
.renewal-pay { background: #E97305; display: block; border-radius: 4px; width: 100%; line-height: 60px; text-align: center; font-weight: bold; color: #fff !important; text-decoration: none !important; font-size: 18px; border: 0; cursor: pointer; }
.membership-options { display: flex; margin: 10px 0; flex-direction: column; }
.membership-options label { display: flex; gap: 10px; align-items: center; height: 50px; font-size: 18px; }

/*---------------------*/

/* LARGE SCREEN > 1200 */

/*---------------------*/
@media (min-width:1200px) {
    .mobile:not(.desktop-large), .tablet:not(.desktop-large), .desktop:not(.desktop-large) { display: none !important; }
    .content_wrap { min-height: 600px; }
}

/*----------------*/

/* DESKTOP < 1199 */

/*----------------*/
@media (min-width:992px) and (max-width:1199px) {
    .mobile:not(.desktop), .tablet:not(.desktop), .desktop-large:not(.desktop) { display: none !important; }
    .content_wrap { min-height: 600px; }

    /*Header*/
    .menu_wrap>ul { gap: 30px; }
    .menu_wrap ul li a { font-size: 16px; }

    /*Footer*/

    /* ------------------- */

    /* ----- MODULES ----- */

    /* ------------------- */

    /* ----- GALLERY ----- */
    .flex-direction-nav { display: none !important; }

    /* ----- CONTENT LAYOUT MODULE ----- */
    .layout_pos_left.layout_block .row .layout_content { padding-left: calc((100vw - 960px) / 2); }
    .layout_pos_right.layout_block .row .layout_content { padding-right: calc((100vw - 960px) / 2); }
    .layout_title span { font-size: 26px; line-height: 32px; }
    .layout_subtitle span { font-size: 16px; line-height: 22px; }
    .layout_text { padding: 10px 0; }
    .layout_text span { font-size: 14px; line-height: 24px; padding-left: 10px; }
    .layout_image img { padding: 0px; }
    .layout_buttons { gap: 10px; }
    .layout_buttons>a { font-size: 14px; padding: 15px 15px; }

    /*Fundraiser Module*/
    .fundraiser-module .fm-trombone{width: 750px; height: 323px;}
    .fundraiser-module .fm-trombone-contain {height: 84px; width: 455px; position: absolute; left: 265px; bottom: 25px;}
    .fundraiser-module .fm-trombone-counter{background-size: contain; bottom: -19px; height: 121px; width: 113px;}
    .fundraiser-module .fm-trombone-fill {top: 8px; height: 70px;}
}

/*-----------------*/

/* TABLET & MOBILE */

/*-----------------*/
@media (max-width:991px) {

    /*Header*/
    .header_container { max-width: 100%; padding: 0 10px; height: 80px; }

    /*Menu Toggle*/
    .menu_toggle { height: 100%; display: flex; align-items: center; cursor: pointer; transition: 0.2s ease-in-out all; }
    .menu_toggle>div { display: flex; flex-direction: column; justify-content: space-between; height: 26px; width: 36px; }
    .menu_toggle>div::before { content: ""; height: 4px; width: 100%; background: #fff; transition: ease-in-out all .3s; align-self: flex-end; }
    .menu_toggle>div>div { height: 4px; width: 100%; background: #fff; }
    .menu_toggle>div::after { content: ""; height: 4px; width: 100%; background: #fff; transition: ease-in-out all .3s; }
    .menu_toggle.active { z-index: 5001; transform: rotate(-90deg); }

    /* .menu_toggle.active > div::before, .menu_toggle.active > div::after{width: 70%;} */

    /*Menu*/
    .responsive_menu_wrap { position: absolute; background: #066361; top: 0; right: 0; z-index: 1000; height: initial; width: 100%; transition: ease-in-out all .3s; box-sizing: border-box; flex-direction: column; }
    .responsive_menu_header { display: flex; align-items: center; justify-content: flex-start; width: 100%; height: 80px; padding: 0 20px; }
    .responsive_menu_footer { display: flex; align-items: center; justify-content: space-between; padding: 20px; box-sizing: border-box; }
    .responsive_menu_footer .memberLogin { display: flex; align-items: center; justify-content: flex-start; gap: 10px; }
    .responsive_menu_footer .memberLogin::before { content: ""; display: block; width: 20px; height: 20px; background: url(../images/login-white.svg) no-repeat center; }
    .responsive_menu_footer .memberLogin span { font-size: 16px; color: #fff; font-family: 'Playfair Display'; }
    .responsive_menu_footer .menuclose { font-size: 12px; color: #fff; }
    .responsive_menu_inner { padding: 20px; }
    .responsive_menu { list-style: none; padding: 0; margin: 0; }
    .responsive_menu li { list-style: none; padding: 0; margin: 0; position: relative; }
    .responsive_menu li a:not(.toggle_sub) { font-size: 15px; text-transform: capitalize; color: #FFFFFF; display: block; padding: 10px 10px 10px 0; font-family: 'Playfair Display'; }
    .responsive_menu li.has-children>a:not(.toggle_sub) { padding-right: 46px; }
    .responsive_menu li a.toggle_sub { display: none; width: 46px; height: 46px; position: absolute; top: 0px; right: 0px; align-items: center; justify-content: center; transition: ease-in-out all .3s; }
    .responsive_menu li a.toggle_sub::after { content: ""; height: 10px; width: 12px; background: #fff; clip-path: polygon(100% 0, 0 0, 50% 100%); }
    .responsive_menu li ul { list-style: none; padding: 0 0 0 15px; margin: 0; }
    .responsive_menu li ul li { }
    .responsive_menu li ul li a:not(.toggle_sub) { font-size: 12px; font-family: 'Playfair Display'; }
    .responsive_menu li.has-children.active .toggle_sub { transform: rotate(180deg); }
    .responsive_menu li.has-children.active>ul { padding-left: 10px; position: relative; }
    .responsive_menu li.has-children.active>ul::after { content: ""; height: calc(100% - 20px); width: 1px; background: #fff; position: absolute; left: 0; top: 10px; }

    /*Menu Effect*/
    .responsive_menu_wrap { visibility: hidden; opacity: 0; transition: ease-in-out all .4s; z-index: -1; transform: translateY(40px); }
    .responsive_menu_wrap.open { visibility: visible; opacity: 1; z-index: 5000; transform: translateY(0); }

    /* ------------------- */

    /* ----- MODULES ----- */

    /* ------------------- */

    /* ----- GALLERY ----- */
    .flex-direction-nav { display: none !important; }

    /* ----- CONTENT LAYOUT MODULE ----- */
    .layout_pos_left.layout_block .row .layout_content { padding: 20px 30px; }
    .layout_pos_right.layout_block .row .layout_content { padding: 20px 30px; }
    .layout_block .row { flex-direction: column; }
    .layout_block .row>div { width: 100%; padding: 10px 0; }
    .layout_image img { padding: 0px; }
    .layout_title_wrap { }
    .layout_title span { font-size: 28px; line-height: 34px; }
    .layout_subtitle span { font-size: 22px; line-height: 27px; }
    .layout_text { padding: 10px 0; }
    .layout_text span { font-size: 16px; line-height: 28px; }
    .layout_buttons { gap: 10px 20px; }
    .layout_buttons>a { font-size: 16px; padding: 20px 25px; }
}

/*--------*/

/* TABLET */

/*--------*/
@media (min-width:768px) and (max-width:991px) {
    .mobile:not(.tablet), .desktop:not(.tablet), .desktop-large:not(.tablet) { display: none !important; }
    .tablet-hidden { display: none !important; }

    /*Menu*/
    .responsive_menu_wrap { width: 500px; }
    .responsive_menu li a:not(.toggle_sub) { font-size: 16px; }
    .responsive_menu li ul li a:not(.toggle_sub) { font-size: 14px; }

    /*Archives*/
    .archive-articles .tl-event { }

    /*Fundraiser Module*/
    .fundraiser-module .fm-heading{font-size: 54px;}
    .fundraiser-module .fm-trombone-section{}
    .fundraiser-module .fm-trombone{width: 835px; height: 355px; left: -305px;}
    .fundraiser-module .fm-trombone-fill {top: 11px; height:74px; }
    .fundraiser-module .fm-trombone-counter{height: 129px; width: 112px;}
    .fundraiser-module .fm-trombone-contain{height: 112px; width: 480px; position: absolute; left: 309px; bottom: 7px;}

}

/*--------*/

/* MOBILE */

/*--------*/
@media (max-width:767px) {
    .tablet:not(.mobile), .desktop:not(.mobile), .desktop-large:not(.mobile), .mobile-hidden { display: none !important; }
    h1 { font-size: 40px; line-height: 48px; }
    h2 { font-size: 36px; line-height: 42px; }
    h3 { font-size: 30px; line-height: 36px; }
    h4 { font-size: 26px; line-height: 32px; }
    h5 { font-size: 22px; line-height: 30px; }
    h6 { font-size: 18px; line-height: 28px; }
    p, ul li, ol li { font-size: 14px; }

    /*Header*/
    .logo img { max-width: 150px; }

    /* Button Classes */
    .content_wrap :is(.btn_p, .btn_s, .btn_w, .btn_t) { font-size: 16px; padding: 12px 24px; }

    /* ------------------- */
    /* ----- MODULES ----- */
    /* ------------------- */

    /* ----- GALLERY ----- */
    .full-width-fix .flex-caption.halign-center { left: calc(50% - 150px); right: initial; width: 300px; max-width: 100%; }
    .full-width-fix .flex-caption.halign-left { left: calc(50% - 150px); right: initial; width: 300px; max-width: 100%; }
    .full-width-fix .flex-caption.halign-right { left: calc(50% - 150px); right: initial; width: 300px; max-width: 100%; }
    .flex-control-paging { left: 0; width: 100%; padding: 0 10px; }
    .flex-caption>div.background { padding: 20px; }

    /*Contact Form*/
    .contact-form { padding: 20px 10px; }
    .contact-form .contact_form_heading { font-size: 20px; }
    .contact-form .cf-text { font-size: 16px; }
    .contact-form label { font-size: 14px; }
    .contact-form .cf-buttons { justify-content: center; }

    /*Text Module*/
    .text_module_before { left: calc(-320px / 2); }

    /* ----- CONTENT LAYOUT MODULE ----- */
    .layout_title span { font-size: 26px; line-height: 32px; }
    .layout_subtitle { }
    .layout_subtitle span { font-size: 20px; line-height: 24px; }
    .layout_text span { font-size: 14px; line-height: 28px; }
    .layout_buttons { gap: 10px 10px; padding: 5px 0; }
    .layout_buttons>a { width: 100%; text-align: center; }

    /* ----- IMAGE CAROUSEL MODULE ----- */
    .icm_gal_nav { display: none; }

    /* ----- DSHBOARD ----- */
    .dashboard-membership { flex-direction: column; row-gap: 10px; align-items: flex-start; }
    .dashboard-save, .dashboard-renew { margin-left: 0; }
    .dash-article-tag-links { flex-direction: column; align-items: flex-start; }
    .dashboard-formfield { width: 100%; }
    .dash-recent-articles { flex-wrap: nowrap; gap: 0; }
    .dash-recent-articles-container { position: relative; }
    .dash-recent-articles-container .alm_gal_nav { display: flex; justify-content: center; align-items: center; width: 25px; height: 25px; position: absolute; top: calc(50% - 15px); cursor: pointer; }
    .dash-recent-articles-container .alm_gal_nav:after { content: ""; display: block; width: 15px; height: 15px; border: solid #066361; border-top-width: medium; border-right-width: medium; border-bottom-width: medium; border-left-width: medium; transform: rotate(45deg); }
    .dash-recent-articles-container .alm_gal_prev { left: -20px; }
    .dash-recent-articles-container .alm_gal_next { right: -20px; }
    .dash-recent-articles-container .alm_gal_next::after { border-width: 3px 3px 0 0; margin-right: 5px; }
    .dash-recent-articles-container .alm_gal_prev::after { border-width: 0 0 3px 3px; margin-left: 5px; }

    /* -- DONATION MODULE -- */
    .dm_section_wrap { width: 100%; }
    .dm_amount_buttons { display: flex; gap: 10px; flex-wrap: wrap; width: 100%; justify-content: center; }
    .dm_continue_wrap { width: 100%; padding: 10px; box-sizing: border-box; }
    .content_wrap .dm_amount_buttons a { margin: 0; }

    /*Fundraiser Module*/
    .fundraiser-module .fm-heading{font-size: 48px;}
    .fundraiser-module .fm-trombone-section{}
    .fundraiser-module .fm-trombone{width: 429px; height: 183px; left: -135px;}
    .fundraiser-module .fm-trombone-contain {left: 150px; bottom: 18px; width: 250px; height: 40px;}
    .fundraiser-module .fm-trombone-fill{top:1px; height: 40px; left: 12px;}
    .fundraiser-module .fm-trombone-counter{background-size:contain; font-size: 10px; height: 64px; width: 56px; bottom: -14px; left: 0;}
    .fundraiser-module .fm-trombone-texts{position: relative; width: 100%; text-align: center; align-items: center; margin-top: 10px;}
    .fundraiser-module .fm-trombone-texts .fm-goal span{font-size: 30px;}
    .fundraiser-module .fm-trombone-texts .fm-donate{margin-top: 0;}
    .fundraiser-module .fm-trombone-texts p{margin: 0 0 10px 0;}


}
