body { background: #F3F3F3; font-family: 'Work Sans', sans-serif; font-size: 16px; color: #30302A; width: 100%; overflow-x: hidden; }

@font-face { font-family: "Gotham"; src: url("../fonts/Gotham-Book.otf") format("opentype");}
@font-face { font-family: "Gotham Italic"; src: url("../fonts/Gotham-BookItalic.otf") format("opentype");}
@font-face { font-family: "Gotham Light"; src: url("../fonts/Gotham-Light.otf") format("opentype");}
@font-face { font-family: "Gotham Light Italic"; src: url("../fonts/Gotham-LightItalic.otf") format("opentype");}
@font-face { font-family: "Gotham Bold"; src: url("../fonts/Gotham-Bold.otf") format("opentype");}
@font-face { font-family: "Gotham Bold Italic"; src: url("../fonts/Gotham-BoldItalic.otf") format("opentype");}
@font-face { font-family: "Gotham Medium"; src: url("../fonts/Gotham-Medium.ttf") format("truetype");}

.container{max-width:1600px;}

/*Typography*/
html{overflow-x: hidden; overflow-y: scroll; scroll-behavior: smooth;}
img { max-width: 100%; max-height: 100%; height: auto; width: auto; }
h1, h2, h3, h4, h5, h6{margin: 0 0 10px 0; padding: 0; color: #21211C; font-family: "Gotham Bold";}
h1 { font-size: 36px; line-height: 42px; }
h2 { font-size: 32px; line-height: 38px; }
h3 { font-size: 30px; line-height: 36px; color: #345FB6;}
h4 { font-size: 28px; line-height: 34px; color: #238A45;}
h5 { font-size: 26px; line-height: 32px; }
h6 { font-size: 24px; line-height: 30px; font-family: "Gotham";}
p { font-size: 16px; line-height: 26px; margin: 0 0 20px 0; padding: 0; color: #30302A; }
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: #020402; list-style-position: inside; }
hr{width: 100%; height:1px; background:#DBDBDB; }
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: #345FB6;}
.content_wrap p a:not([class]):hover{color: #238A45;}
.full-width-fix { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
.hidden{display: none;}
strong{font-weight: bold;}

/*Home page only*/
body.site_body[data-page="home"] .AB-parent ~ .site_header{top:50px;}
body.site_body[data-page="home"] .site_header{position: absolute; left: 0; top:0; width: 100%;}
body.site_body[data-page="home"] .header_wrap{background: none; border: none;}
body.site_body[data-page="home"] .menu_wrap{background: none;}
body.site_body[data-page="home"] .logo img.home_logo{display: block;}
body.site_body[data-page="home"] .logo img.main_logo{display: none;}
body.site_body[data-page="home"] .header_phone::before{background-image: url(../images/phone_home.svg);}
body.site_body[data-page="home"] .header_address::before{background-image: url(../images/location_home.svg);}
body.site_body[data-page="home"] :is(.header_phone, .header_address) *{color: #fff;}
body.site_body[data-page="home"] .menu_wrap nav > ul > li > a{color: #fff;}
body.site_body[data-page="home"] .menu_wrap nav > ul > li:hover > a{background: #FFFFFF33;}

/*Header*/
body.site_body{}
body.site_body *{box-sizing: border-box;}
header.site_header{position: relative; z-index: 3000;}
.header_wrap{height: 170px; background: #FFFFFF; display: flex; align-items: center; border-bottom: 1px solid #f3f3f3;}
.header_wrap > div{padding: 0 15px; display: flex; align-items: center; justify-content: space-between; height: 100%;}
.header_right{display: flex; gap:30px; align-items: center; position: relative;}
.logo img.home_logo{display: none;}

.header-logos img{width: 150px;}

/*Header Phone*/
.header_phone{display: flex; gap:15px; align-items: center;}
.header_phone::before{content: ""; height: 44px; width: 38px; background: url(../images/phone.svg) center no-repeat;}
.header_phone > div{display: flex; flex-direction: column; gap:5px;}
.header_phone a{color: #21211C; font-weight: bold; font-size: 18px; font-family: "Gotham Bold";}
.header_phone span{font-size: 12px; color: #90908E;}

/*Header Location*/
.header_address{display: flex; gap:15px; align-items: center;}
.header_address::before{content: ""; height: 44px; width: 38px; background: url(../images/location.svg) center no-repeat;}
.header_address > div{display: flex; flex-direction: column; gap:5px;}
.header_address p{color: #21211C; font-weight: bold; font-size: 18px; font-family: "Gotham Bold"; margin: 0;}
.header_address a{font-size: 12px; color: #90908E; display: flex; gap:5px; align-items: center;}
.header_address a::after{content: ""; height: 10px; width: 6px; background: url(../images/caret_right.svg) center no-repeat; }

/*Header buttons*/
.header_right_buttons{display: flex;height: 48px;}
.header_right_buttons a{display: flex; gap:10px; align-items: center; height: 100%; padding: 0 24px; color:#21211C; font-family: "Gotham Bold";
    border: 1px solid #FDDC01; transition: ease-in-out all .3s;}
.header_right_buttons a::before{content: ""; height: 20px; width: 20px; background-position: center; background-repeat: no-repeat;
    transition: ease-in-out all .3s;}
.header_right_buttons a.header_tickets::before{background-image: url(../images/tickets.svg);}
.header_right_buttons a.header_donate::before{background-image: url(../images/savings.svg);}
.header_right_buttons .header_tickets{background: #FDDC01;}
.header_right_buttons .header_tickets:hover{background: #4177E4; color: #fff; border-color: #4177E4;}
.header_right_buttons .header_tickets:hover::before{filter: brightness(0) invert(1);}
.header_right_buttons .header_donate{background: #fff;}
.header_right_buttons .header_donate:hover{background: #4177E4; color: #fff; border-color: #4177E4;}
.header_right_buttons .header_donate:hover::before{filter: brightness(0) invert(1);}

/*Menu wrap*/
.menu_wrap{height: 60px; background: #fff; font-family: "Gotham Bold";}
.menu_wrap > div{display: flex; align-items: center; height: 100%;}
.menu_wrap nav >ul{display: flex; align-items: center; height: 50px;}
.menu_wrap nav >ul > li{ height:100%; display: flex; align-items: center;}
.menu_wrap nav > ul > li > a{height: 100%; display: flex; align-items: center; padding: 0 28px;}
.menu_wrap nav > ul > li:hover > a{background: #4177E4; color: #fff;}
.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: #21211C; position: relative; font-size: 16px; font-weight: bold; transition: ease-in-out all .3s;}
.menu_wrap ul li ul{position: absolute; left: 0; top: calc(100% + 5px); background: #F3F3F3; padding: 30px 0 30px 20px; width: 280px; display: flex; 
    flex-direction: column; gap:15px;}
.menu_wrap ul li ul li{padding-right: 20px;}
.menu_wrap nav ul li ul li.has-children > a::after{content: ""; height:10px; width:8px; flex-shrink: 0; 
    background:#979790; clip-path: polygon(0 0, 0 100%, 100% 57%); transition: ease-in-out all .3s;}
.menu_wrap nav ul li ul li.has-children > a:hover::after{background-color:#4177E4; }
.menu_wrap nav ul li ul li ul{background: #fff;}
.menu_wrap ul li ul li ul{left: 100%; top: -30px;}
.menu_wrap ul li ul li.has-children ul::before{content:""; height: 22px; width: 13px; background: #fff; clip-path: polygon(100% 0, 0 46%, 100% 100%);
    position: absolute; left: -13px; top: 33px;}
.menu_wrap ul li ul li a{text-transform: capitalize; display: flex; align-items: center; gap:5px; justify-content: space-between; 
    font-size: 16px; width: 100%;}
.menu_wrap ul li ul li a:hover{color: #4177E4;}

/*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; margin-top: 40px;  position: relative; z-index: 1000;}

/*Top Footer*/
.top_footer{position: relative; background: #3F5E9D; height: 60px; display: flex; align-items: center;}
.top_footer::after{content: ""; position: absolute; top: 0; right: 0; height: 100%; width: calc(((100vw - 1600px) / 2) + 15px); background: #238A45;}
.top_footer > div{display: flex; align-items: center; justify-content: space-between; height: 100%; position: relative; z-index: 10;}
.back_to_top{height: 50px; width: 50px; background: rgba(0, 0, 0, .3); position:absolute; right: 15px; top: -90px; transition: ease-in-out all .3s;}
.back_to_top::after{content: ""; height: 16px; width: 16px; border:solid #fff; border-width: 3px 0 0 3px; 
    position: absolute; left: calc(50% - 8px); top: calc(50% - 3px); transform: rotate(45deg);}
.back_to_top:hover{background: #4177E4;}
.footer_buttons{display: flex; gap:8px;}
.footer_buttons > a{height: 40px; padding: 0 20px; display: flex; align-items: center; justify-content: center; 
    text-align: center; font-family: "Gotham Bold"; gap:8px;}
.footer_buttons > a::before{content: ""; height: 20px; width:20px; background-size: contain; background-repeat: no-repeat;}
.footer_buttons a.footer_tickets{background: #FDDC01; color:#21211C; }
.footer_buttons a.footer_tickets::before{background-image: url(../images/tickets.svg);}
.footer_buttons a.footer_vouchers{background: #FE0169; color: #fff;}
.footer_buttons a.footer_vouchers::before{background-image: url(../images/gift.svg)}
.footer_buttons a.footer_donate{background: #4CA533; color: #fff;}
.footer_buttons a.footer_donate::before{background-image: url(../images/donate.svg)}
.footer_buttons > a:hover{ animation: shadow-pulse 1s; animation-iteration-count: 1;}

.socials{display: flex; align-items: center; gap:30px; background: #238A45; padding-left: 60px; height: 100%;}
.socials span{color: #fff; font-weight: bold; font-size: 14px;}
.socials a{height: 30px; width: 28px; background-position: center; background-repeat: no-repeat; background-size: contain; transition: ease-in-out all .3s;}
.socials a.fb{background-image: url(../images/facebook.svg);}
.socials a.tw{background-image: url(../images/twitter.svg);}
.socials a.ig{background-image: url(../images/instagram.svg);}

/*Main Footer*/
.footer_wrap{background: #2A4C92; padding: 60px 0;}
.footer_wrap > div.container{display: flex; align-items: flex-start; gap:10px;}
.footer_wrap > div.container > div{width: 20%; display: flex; flex-direction: column;}
.footer_wrap > div.container > div.footer_menu_3{width: 15%;}
.footer_wrap > div.container > div.footer_last{width: 25%;}
.footer_wrap span{display: flex; align-items: center; gap:10px; color: #fff; font-weight: bold; font-size: 14px; line-height: 16px; margin-bottom: 10px;}
.footer_wrap :is(p, a){margin: 0; color: #fff; font-size: 14px; line-height: 22px;}
.footer_wrap p.footer_address{margin-bottom: 10px;}
.footer_direction, .footer_message{text-decoration: underline; display: flex; align-items: center; gap:5px;}
.footer_direction::before, .footer_message::before{content: ""; height: 10px; width: 6px; background:url(../images/caret_right.svg) center no-repeat;}
.footer_wrap a.footer_phone{font-size: 14px; font-weight: bold; margin-top: 10px;}

/*Footer Menu*/
.footer_menu{display: flex; flex-direction: column; margin: 0; list-style: none; padding: 0;}
.footer_menu li{list-style: none; margin: 0; padding: 0;}
.footer_menu li a{font-size: 14px; color: #FFFFFF; transition: ease-in-out all .3s;}
.footer_menu li a:hover{color: #FDDC01;}
.footer_menu li ul{display: none;}

/*Footer Newsletter*/
.footer_newsletter{margin: 20px 0 0 0; display: flex; flex-direction: column; gap:10px; justify-content: flex-start;}
.newsletter_form{display: flex; align-items: center; height: 48px; margin-bottom: 10px;}
.newsletter_form input{background: rgba(255, 255, 255, .4); color: #fff; font-family: inherit; padding: 0 10px; height: 100%; border: none;
    font-size: 14px; flex: 1;}
.newsletter_form input::placeholder{color: inherit; font-family: inherit;}
.newsletter_form a{padding: 0 18px; height: 100%; flex-shrink: 0; display: flex; align-items: center; font-size: 14px; color: #21211C; font-weight: bold;
    background:#FDDC01;}
.newsletter_check{display: flex; align-items: flex-start; gap:10px;} 
.newsletter_check input{height: 18px; width: 18px; border: 2px solid #FFFFFF; background: transparent; margin-top: 5px; flex-shrink: 0; cursor: pointer;}
.newsletter_check input{accent-color: #FE0169;}
.newsletter_check label{color: #fff; font-size: 14px; line-height: 24px; margin: 0;}
.newsletter_policy a{text-decoration: underline;}

/*Footer Logos*/
.footer_logos{padding: 60px 0; background: #FFFFFF; display: flex; align-items: center; }
.footer_logos > div{display: flex; height: 100%; align-items: center; justify-content: space-between; flex-wrap: wrap;}
.footer_logos img{max-height: 100%; width: auto;}

/*Byline*/
.byline_wrap{padding: 30px 0; background: #F3F3F3;}
.byline_wrap > div{display: flex; flex-direction: column; gap:15px; align-items: flex-end; text-align: center;}
.byline_wrap > div > a{font-size: 14px; color: #474743;}

/*Newsletter Pop Up*/
.newsletter_pop_up{ background: #21211CE6; position: fixed; top: 0; height: 100vh; width: 100%; left: 0; z-index: -1; 
    visibility: hidden; opacity: 0; transition: ease-in-out all .4s; display: flex; align-items: center; justify-content: center;}
.newsletter_pop_up.active{visibility: visible; opacity: 1; z-index: 4000;}
.newsletter_pop_up .newsletter{background: #FFFFFF; border-radius:0 0 4px 4px; overflow: hidden; width: 1060px; display: flex; flex-direction: column;
    gap:40px;}
.newsletter .nl_inner{padding: 10px; display: flex; flex-direction: column; gap:40px;}
.newsletter .nl_byline{ padding:13px 50px; background: #F8F8F8; border-top:1px solid #f3f3f3;}
.newsletter .nl_byline p{margin: 0; color: #21211C; font-size: 14px;}
.newsletter .nl_byline a{color:#21211C; text-decoration:underline; }
.newsletter .nl_image{position: relative; height: 306px; background: url(../images/newsletter_lg.jpg) center no-repeat; background-size: cover;
    padding: 40px; display: flex; justify-content: flex-end; gap:10px; flex-direction: column;}
.newsletter .nl_image h1{font-size: 82px; line-height: 88px; margin: 0; color: #fff;}
.newsletter .nl_image span{font-size: 36px; line-height: 42px; color: #FFFFFF; font-family: "Gotham Light";}
.newsletter .nl_image a.close_newsletter{height: 30px; width:30px; position: absolute; top:10px; right: 10px; background: url(../images/close_square.svg) center no-repeat; background-size: contain;}
.newsletter .nl_content{display: flex; gap:40px; justify-content: center;}
.newsletter .nl_texts{margin: 0; font-size: 32px; font-family: "Gotham Light"; line-height: 38px; color: #FE0169;}
.newsletter .nl_texts strong{font-family: "Gotham Bold";}
.newsletter .nl_form{}
.newsletter .nl_fields{display: flex; gap:10px; margin-bottom: 20px;}
.newsletter .nl_fields > div{flex:1; position: relative; height: 48px;}
.newsletter .nl_fields > div > label{position: absolute; left: 10px; top:10px; margin: 0;}
.newsletter .nl_fields > div.nl_name::before{left: 15px;}
.newsletter .nl_fields input{width: 100%; padding: 0 10px 0 45px; height: 100%; border: 2px solid #FDDC01; font-size: 16px; color: #30302A;}
.newsletter .nl_fields input::placeholder{color: inherit; font-family: inherit;}
.newsletter .nl_name > label{content: ""; height:28px; width:18px; background:url(../images/user.svg) center no-repeat; }
.newsletter .nl_email > label{content: ""; height: 26px; width: 26px; background: url(../images/@.svg) center no-repeat;}
.newsletter .nl_check{margin: 0 0 35px 0; display: flex; align-items: flex-start; gap:10px;}
.newsletter .nl_check input{height: 18px; width: 18px; accent-color: #FE0169; flex-shrink: 0;}
.newsletter .nl_check label{font-size: 14px; margin: 0; color: #21211C;}
.newsletter .nl_check label span{color: #FE0169;}
.newsletter .nl_subscribe{width: 100%; display: flex; align-items: center; justify-content: center; background: #FDDC01; height: 48px; text-align: center;
   font-size:14px; color: #21211C; font-weight:bold; border: 2px solid #FDDC01; transition: ease-in-out all .3s;}
.newsletter .nl_subscribe:hover{background:#fff;}

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

/*Fullscreen 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; }
.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;}
.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;}

/*Fullscreen gallery paging buttons*/
.flex-control-paging { position: absolute; bottom: 20px; display: flex; left: calc(50% - 800px); width: 1600px; align-items: center; gap: 8px;
    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: 12px; height: 12px; border-radius: 100%; border: 1px solid #FDDC01; display: flex;
    align-items: center; justify-content: center;}
.flex-control-paging>li>a::before{content: ""; height: 8px; width: 8px; background: #FDDC01; border-radius: 100%; opacity: 0; 
    transition: ease-in-out all .3s;}
.flex-control-paging>li>a.flex-active::before{opacity: 1;}

/*Fullscreen gallery 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% - 40px); width:50px; height:80px; 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: 18px; top: calc(50% - 11px);}
.flex-direction-nav li.flex-nav-next{right:30px; transform: rotate(180deg); left: initial;}
.flex-direction-nav li:hover{background: rgba(0, 0, 0, .8); animation: shadow-pulse 1s; animation-iteration-count: 1;}

/*Contact Form*/
.contact-form { background: #fff; margin: 20px 0; border-radius:4px;}
.contact-form > header{padding: 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; 
    font-family: "Gotham Bold"; text-transform: uppercase; color: #21211C; font-size: 26px; border-bottom:4px solid #FDDC01; gap:10px;}
.contact-form > header::before{content: ""; height:45px; width:50px; background:url(../images/logo_icon.svg) center no-repeat; 
    flex-shrink: 0;}
.contact-form form{padding: 20px;}
.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: #30302A; font-weight: bold; line-height: 26px; margin-bottom: 20px;}
.contact-form label { width: 100%; color: #002239; font-size: 16px; 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: 42px; font-size: 14px; border: 1px solid #E1E3E3; box-sizing: border-box; padding: 0 10px; transition: ease-in-out all .5s; color: #071b3a; }
.contact-form :is(input[type=text], .contact-form input[type=email], .contact-form input[type=date], .contact-form textarea):focus{border: 2px solid #4177E4; #4177E4;}
.contact-form select option{color: #000;}
.contact-form label span { color: #FE0169; font-size: 16px; }
.contact-form textarea { resize: none; height: 150px; }
.contact-form :is(.cf-radiobox, .cf-checkbox) { padding-bottom: 10px; }
.contact-form :is(.cf-radiobox, .cf-checkbox) > span { display: flex; align-items: center; color: #071b3a; font-size: 16px; margin-bottom:5px; }
.contact-form :is(.cf-radiobox input[type=radio], .cf-checkbox input[type=checkbox]) { margin-right: 10px; accent-color: #4177E4; flex-shrink: 0; height: 18px; width: 18px;}
.contact-form .cf-validation { text-align: center; height: 0; padding: 10px 0; box-sizing: border-box; font-size: 16px; color: #FE0169; 
    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: center; align-items:center; margin-top: 20px; }
.contact-form .cf-buttons .denotes{color: #071b3a; font-size: 13px;}
.contact-form .cf-buttons a.cf-submit {color: #21211C; font-size: 22px; position: relative; display: flex; align-items: center; 
    line-height: 26px; background:#FDDC01; border: 1px solid #FDDC01; text-align: center; justify-content: center; 
    padding: 14px 0; text-transform: capitalize; transition: ease-in-out all .3s; width: 100%; font-family: "Gotham Bold"; gap:10px;}
.contact-form .cf-buttons a.cf-submit::before{content: ""; height: 26px; width: 26px; background:url(../images/send.svg) center no-repeat;}
.contact-form .cf-buttons a.cf-submit:hover{background: #fff;}
.contact-form .cf-buttons a.cf-reset{display: none;}

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

/*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); }
}

/*Custom Button*/
.content_wrap :is(.btn_p, .btn_s){padding:14px 24px; display: inline-block; font-size: 18px; margin: 5px 10px 5px 0;
    transition: ease-in-out all .3s; line-height: 24px; border: 2px solid; font-family: "Gotham Bold";} 
.content_wrap .btn_p{border-color: #FDDC01; background: #FDDC01; color: #21211C;}
.content_wrap .btn_p:hover{background: #fff;}
.content_wrap .btn_s{border-color: #21211C; color: #21211C; background: #fff;}
.content_wrap .btn_s:hover{background: #4177E4; border-color: #4177E4; color: #fff;}

/*Custom Classes*/
 .title-text {padding: 30px 0 15px 0 !important;}

 /********Payment Module********/
.payment_module {line-height: 25px; color: #151515; font-size: 16px; margin: 20px 0; background: #FFFFFF; padding: 30px 20px; box-sizing: border-box;} 
.payment_module > div:not(.active){display: none;}
.payment_module .payment_header{color: #151515; font-size: 28px; line-height: 40px; position: relative; margin: 0 0 20px; 
    font-weight: bold; display: flex; align-items: center; gap:20px; border-bottom: 2px solid #FDDC01; padding-bottom: 20px;}
.payment_module .payment_header::before{content: ""; height: 48px; width:48px; background: url(../images/donation.svg) center no-repeat;}
.payment_module .payment_info{margin-bottom: 15px; font-size: 16px; font-weight: 300; color: #151515;}
.payment_module .col-12 > span{font-size: 24px; font-weight: 700; color: #000000; margin-bottom: 20px; display: block; line-height: 32px;
    font-family: "Gotham Bold";}
.payment_module .payForm{display: flex; flex-wrap: wrap; gap: 20px;}
.payment_module .payForm > div{width: calc(50% - 10px); display: flex; flex-direction: column; gap: 5px;}
.payment_module .payForm > div.payName{width: calc(60% - 10px);}
.payment_module .payForm > div.payAmount{width: calc(40% - 10px);}
.payment_module .payForm > div > label{color: #30302A; font-size: 16px; line-height: 26px; margin: 0;}
.payment_module .payForm > div > label span{color: #F71735;}
.payment_module .payForm > div > div{position: relative;}
.payment_module .payForm > div > div > span.payEuro{position: absolute; left: 10px; top: 11px; color: #000000; font-weight: bold; font-size: 24px;}
.payment_module .payForm > div > div input[type=number]{padding-left: 35px;}
.payment_module .payForm > div.full-row{width: 100%;}
.payment_module .payForm :is(input[type=text], input[type=number], input[type=email], input[type=phone]){height: 46px; border: 1px solid #E1E3E3; 
    padding: 0 10px; box-sizing: border-box; font-size: 16px; color: #30302A; transition: ease-in-out all .3s; width: 100%;}

.payment_module .payForm :is(input[type=text], input[type=number], input[type=email], input[type=phone]):focus{border-color: #4177E4;}
.payment_module .payment_stripe_info{background: #F3F3F3; display: flex; flex-direction: column; align-items: flex-start; 
    justify-content: center; gap: 20px; padding: 30px; flex: 0 0 calc(50% - 15px);}
.payment_module .payment_stripe_info > div {display: flex; align-items: center; gap:10px; justify-content: center; width: 100%;}
.payment_module .payment_stripe_info strong{padding-bottom: 5px; display:block;}
.payment_module .payment_stripe_info p{color: #30302A; line-height: 24px; font-size: 14px; text-align: center;}

.payment_module .payForm .button_row{justify-content: flex-end; display: flex; flex-direction: row;}
.payment_module .inv_button{line-height: 52px; text-align: center; background: #FDDC01; color: #21211C; font-size: 20px; transition: ease-in-out all .3s;
    display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; font-family: "Gotham Bold";}
.payment_module .inv_button::after{content: ""; height: 11px; width: 11px; border: solid #21211C; border-width: 3px 3px 0 0; transform:rotate(45deg); }

.payment_module .inv_button.disabled{pointer-events: none; background: grey;}

.payment_details h5{font-size: 24px; color:#21211C; }
.payment_module .payment_calculations{display: flex; flex-direction: column; gap: 5px; margin-bottom: 20px;}
.payment_module .payment_calculations > div{font-weight: bold; color: #FE0169; font-size: 20px; display: flex; justify-content: space-between; 
    padding-bottom: 15px; border-bottom: 1px solid #4177E4;}

.payment_module .checkTerms{ display: flex; gap:10px; margin: 20px 0;}
.payment_module .checkTerms input{height: 15px; width: 15px; accent-color:#415d43; margin-top: 5px;}
.payment_module .checkTerms p{flex: 1; font-size: 16px; color: #22292A;}
.payment_module .paymentButton{line-height: 52px; text-align: center; background:#FDDC01; color: #21211C; font-size: 22px; font-family: inherit;
    display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 0; margin: 0;
    font-family: "Gotham Bold";}
.payment_module .paymentButton::after{content: ""; height:11px; width: 11px; border: solid #21211C; border-width: 3px 3px 0 0; transform:rotate(45deg); }


.payment_module .payment_big_logo{max-height:100%; height: 100%; max-width:100%; padding: 30px; background: #F3F3F3; display: flex; align-items: center; justify-content: center;}

/* Chrome, Safari, Edge, Opera */ 
input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {-webkit-appearance: none; margin: 0; }
/* Firefox */ 
input[type=number] {-moz-appearance: textfield; } 



@media (min-width: 1200px) and (max-width:1600px) {

    /*Header*/
    .logo img{max-width: 180px; }
    .header_right{gap: 30px;}
    .header_phone a, .header_address p{font-size: 16px;}
    .header_phone::before, .header_address::before{content: none;}
    .header-logos img{width: 120px;}


    /*Footer*/
    .top_footer::after{width: calc(((100vw - 1200px) / 2) + 15px);}

    /*Newsletter Pop up*/
    .newsletter_pop_up .newsletter{width: 90%;}

}

/*---------LARGE DESKTOP < 1199px---------*/

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

    /*Footer*/
    .socials a:hover{transform: translateY(-5px);}
    .footer_logos{padding: 40px 0;}
    .footer_logos > div{flex-wrap: wrap; gap:15px;}
    .footer_logos img{max-width: 300px;}

}

/*---------DESKTOP < 1199px---------*/

@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*/
    .logo img{max-width: 150px; }
    .header_right{gap: 20px;}
    .header_right_buttons a {padding: 0 15px; font-size: 14px;}
    .header_phone a, .header_address p{font-size: 12px; line-height: 20px;}
    .header_phone::before, .header_address::before{content: none;}

    .header-logos img{width: 100px;}


    /*Menu*/
    .menu_wrap nav > ul > li > a {padding: 0 15px;}
    .menu_wrap ul li a{font-size: 15px;}

    /*Footer*/
    .socials{gap:20px;}
    .socials a:hover{transform: translateY(-5px);}
    .top_footer::after{width: calc(((100vw - 992px) / 2) + 15px);}

    .newsletter_form input{flex:initial; width: 128px; }
    .newsletter_form a{font-size: 12px; padding: 0 10px;}

    .footer_logos > div{flex-wrap: wrap; justify-content: center; gap:15px;}
    .footer_logos img{max-width: 300px;}

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

     /*Newsletter Pop up*/
    .newsletter_pop_up .newsletter{width: 90%;}
    .newsletter .nl_image h1{font-size: 75px; line-height: 80px;}
    .newsletter .nl_texts{font-size: 24px;}

}

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

    /*Home page only*/
    body.site_body[data-page="home"] .top_wrap{background: none;}
    body.site_body[data-page="home"] .top_wrap a{color: #fff;}
    body.site_body[data-page="home"] .top_wrap > div > .top_phone::before{background-image: url(../images/phone_home.svg);}
    body.site_body[data-page="home"] .top_wrap > div > .top_address::before{background-image: url(../images/location_home.svg);}
    body.site_body[data-page="home"] .menu_toggle:not(.active) > div > div{background: #fff;}
    body.site_body[data-page="home"] .menu_toggle:not(.active) > div::before{background: #fff;}
    body.site_body[data-page="home"] .menu_toggle:not(.active) > div::after{background: #fff;}


    /*Top Wrap*/
    .top_wrap{height: 56px; background: #fff; font-family: "Gotham Bold";}
    .top_wrap > div{height: 100%; max-width: 100%; padding: 0 10px; display: flex; align-items: center; gap:20px;}
    .top_wrap > div > a{display: flex; align-items: center; gap:5px; font-size: 16px; color: #21211C; }
    .top_wrap > div > a > span{display: flex; flex-direction: column;}
    .top_wrap > div > a::before{content: ""; height: 26px; width: 26px; background-size: contain; background-repeat: no-repeat;
        background-position: center; flex-shrink: 0;}
    .top_phone::before{background-image: url(../images/phone.svg);}
    .top_address::before{background-image: url(../images/location.svg);}

    /*Header*/
    .header_wrap{height: 124px;}
    .logo img{max-width: 160px;}
    .header_wrap > div{max-width: 100%; padding: 0 10px;}
    .header_right{gap:20px;}

    /*Menu Toggle*/
    .menu_toggle{height: 100%; display: flex; align-items: center; position: relative; z-index: 6000;}
    .menu_toggle > div{display: flex; flex-direction: column; align-items: center; justify-content: space-between; height: 22px; width: 30px;}
    .menu_toggle > div::before{content:""; height: 3px; width: 100%; background: #21211c; transition: ease-in-out all .3s; align-self: flex-end;
        border-radius: 6px;}
    .menu_toggle > div > div{height: 3px; width: 100%; background: #21211c; border-radius: 6px; transition: ease-in-out all .3s;}
    .menu_toggle > div::after{content: ""; height: 3px; width: 100%; background: #21211c; transition: ease-in-out all .3s; border-radius: 6px;
        align-self: flex-start;}
    .menu_toggle.active > div::before, .menu_toggle.active > div::after, .menu_toggle.active > div > div{width: 50%; background:#345FB6; }

    /*Menu*/
    .responsive_menu_wrap{position: absolute; background: #F8F8F8; top: 0; right: -10px; z-index: 1000; height: initial; 
        transition: ease-in-out all .3s; padding:30px 0; box-sizing: border-box; flex-direction: column; font-family: "Gotham Bold";}
    .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: 14px; text-transform: capitalize; color: #21211C; display: block; padding: 10px 10px 10px 20px;}
    .responsive_menu li.has-children > a:not(.toggle_sub){padding-right: 46px;}
    .responsive_menu li a.toggle_sub{width: 46px; height: 46px; position: absolute; top:0px; right: 0px; display: flex; 
        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:#4177E4; clip-path: polygon(100% 0, 0 0, 50% 100%);}
    .responsive_menu li ul{list-style: none; padding: 0; margin: 0; display: none; background: #EEEAEA;}
    .responsive_menu li ul li{}
    .responsive_menu li.has-children.active > .toggle_sub{transform: rotate(180deg);}

    .responsive_menu li ul li ul li a:not(.toggle_sub){padding: 10px 10px 10px 30px;}

    /*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);}

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

    /*Footer*/
    .footer_wrap > div.container > div.footer_last_logo{width: 47%; display: flex; align-items: flex-end; justify-content: flex-end; margin-top: auto;}
    .footer_logos{height: initial; padding: 30px 0;}
    .footer_logos > div{flex-wrap: wrap; justify-content: center; gap:15px;}
    .footer_logos img{max-width: 300px;}
    .byline_wrap > div{align-items: center;}

    /*Payment Module*/
    .payment_module .payForm > div {width: 100% !important;}
    .payment_module .payment_header{font-size: 18px; gap:10px;}
    .payment_module .payment_header::before{width: 30px; background-size: contain;}
    .payment_module .payment_info, .payment_module .payForm > div > label{font-size: 14px;}
    .payment_module .col-12 > span{font-size: 18px;}
    .payment_module .inv_button, .payment_module .paymentButton{font-size: 16px;}
    .payment_module .payment_stripe_info{flex: 100%; margin-top: 20px; padding: 15px;}
    .payment_details h6{font-size: 20px;}
    .payment_module .checkTerms p{font-size: 14px;}
    .payment_module .payment_big_logo {margin-top: 30px; height: initial;}
    .payment_details h5{font-size: 18px;}


}

/*---------TABLET < 959px---------*/

@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;}

    .header-logos img{width: 130px;}

    /*Menu*/
    .responsive_menu_wrap{width: 280px;}

    /*Footer*/
    .top_footer::after{width: calc(((100vw - 768px) / 2) + 15px);}
    .footer_buttons a{font-size: 14px; padding: 0 18px;}
    .socials{padding-left: 10px; gap:10px;}

    .footer_wrap > div.container{flex-wrap: wrap;}
    .footer_wrap > div.container > div{width: 25%;}
    .footer_wrap > div.container > div.footer_last{width: 50%; margin-top: 30px;}

     /*Newsletter Pop up*/
    .newsletter_pop_up .newsletter{width:750px; gap:20px;}
    .newsletter .nl_image{background-image: url(../images/newsletter_md.jpg);}
    .newsletter .nl_image h1{font-size: 60px; line-height: 70px;}
    .newsletter .nl_image span{font-size: 30px; line-height: 46px;}
    .newsletter .nl_texts{font-size: 24px; width: 50%;}
    .newsletter .nl_content{gap:20px;}

    
}

@media (max-width: 767px) {
    .tablet:not(.mobile), .desktop:not(.mobile), .desktop-large:not(.mobile), .mobile-hidden{display: none !important;}

    h1 { font-size: 34px; }
    h2 { font-size: 30px; }
    h3 { font-size: 28px; }
    h4 { font-size: 26px; }
    h5 { font-size: 24px; }
    h6 { font-size: 22px; }
    p, ul li, ol li{font-size: 14px;}

    /*Top Header*/
    .top_wrap > div > a{font-size: 12px;}
    .top_wrap > div > a > span::before{height: 24px; width: 24px;}
    .top_wrap > div > a.top_phone{}
    .top_wrap > div > a.top_address{max-width: 40%;}

    /*Header*/
    .header_wrap{height: 86px;}
    .header_wrap > div{gap:20px;}
    .logo img{max-width: 125px;}
    .header_right{flex-grow: 1;}
    .header-logos{margin-right: auto;}
    .header-logos img{width: 100px;}

    /*Menu*/
    .responsive_menu_wrap {top:0; width: 100vw; padding-top: 27px;}
    .responsive_menu_wrap header{height: 33px; padding: 0 10px;}
    .responsive_menu_wrap header a{font-size: 12px; padding: 0 20px;}

    /*Footer*/
    .top_footer{height: initial;}
    .top_footer > div{padding: 0;}
    .footer_buttons{flex-wrap: wrap; gap:0; width: 100%; font-size: 14px;}
    .footer_buttons > a{width: 50%; font-size: 14px; padding: 0;}
    .socials{padding-left: 0; gap:10px; height: 40px; width: 50%; justify-content: center;}
    .socials a{height: 20px; width: 20px;}

    .footer_wrap{padding: 40px 0;}
    .footer_wrap > div.container{flex-wrap: wrap; row-gap: 40px; column-gap: 0; padding: 0 10px;}
    .footer_wrap > div.container > div, .footer_wrap > div.container > div.footer_menu_3{width: 50%;}
    .footer_wrap > div.container > div.footer_last{width: 100%;}
    .footer_wrap > div.container > div.footer_last_logo{margin: 0 auto;}

    .footer_wrap span, .footer_menu li a, .footer_wrap :is(p, a), .footer_wrap a.footer_phone, .newsletter_check label{font-size: 12px;}
    .newsletter_form a{font-size: 14px;}
    .newsletter_form input{width: 165px; flex: initial;}
    .footer_logos > div{gap:10px;}
    .footer_logos img {max-width: 140px;}

    /*Newsletter Pop up*/
    .newsletter_pop_up .newsletter{width:300px; gap:20px; max-height: 95vh; overflow-y: scroll;}
    .newsletter .nl_image{background-image: url(../images/newsletter_sm.jpg); height: 200px; padding: 20px 10px;}
    .newsletter .nl_image h1{font-size: 44px; line-height: 50px;}
    .newsletter .nl_image span{font-size: 19px; line-height: 22px;}
    .newsletter .nl_inner{gap:20px;}
    .newsletter .nl_fields{flex-direction: column;}
    .newsletter .nl_fields > div{flex: initial;}
    .newsletter .nl_texts{font-size: 20px; line-height: 28px; width: 100%;}
    .newsletter .nl_content{gap:20px; flex-direction: column;}
    .newsletter .nl_check{margin-bottom: 10px;}
    .newsletter .nl_byline{padding: 12px 10px 30px 10px;}

    /*Custom Button*/
    .content_wrap :is(.btn_p, .btn_s) {font-size: 16px; padding: 12px 20px;}

    /*Fullscreen 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 form{padding: 20px 10px;}
    .contact-form .cf-text{font-size: 16px;}
    .contact-form label, .contact-form :is(.cf-radiobox, .cf-checkbox) > span {font-size: 14px;}
    .contact-form .cf-buttons{justify-content: center;}
    .contact-form .cf-buttons a.cf-submit{font-size: 18px;}

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

    /*Payment Module*/
    .payment_module .payment_calculations > div {flex-direction: column;}
    
}
