/*
Theme Name: Trinity United Methodist Church
Author:     Provident Pro
Author URI: https://www.providentpro.com/
Version:    0.0.2
*/

#page { position:relative; }

#overlay { background-color:rgba(0, 0, 0, 0.5); height:100%; left:0; opacity:0; position:fixed; top:0; transition:all 0.3s; visibility:hidden; width:100%; z-index:100; }
.show-mobile-menu #overlay { opacity:1; visibility:visible; }

.container { padding:0 30px; width:1400px; max-width:100%; margin:0 auto; }

.with_frm_style .frm_error_style p, .with_frm_style .frm_message p, .frm_success_style p { margin-bottom:0; }

.with_frm_style .frm_form_fields > fieldset { margin-bottom:-30px; }

/* Header */
#header { background-color:var(--bg); }

#header .navigation { border-bottom:1px solid var(--line); padding:15px 0; position:relative; z-index:101; }
.show-mobile-menu #header .navigation { background-color:#fff; }

#header .navigation .columns { display:flex; align-items:center; gap:30px; justify-content:space-between; }

#header .logo img { display:block; width:300px; transition:transform 0.3s; }
#header .logo a:hover img { transform:scale(1.05); }

#header .desktop-menu ul { display:flex; align-items:center; gap:30px; list-style-type:none; padding-left:0; margin-bottom:0; }
#header .desktop-menu ul li { display:flex; flex-direction:column; gap:9px; font-weight:800; line-height:1; padding-top:13px; position:relative; white-space:nowrap; }
#header .desktop-menu ul li a { color:var(--ink); display:flex; gap:9px; text-decoration:none; }

#header .desktop-menu ul li.button > a { background-color:var(--teal); border-radius:1em; height:2em; line-height:2em; overflow:hidden; padding:0 1em; text-align:center; text-overflow:ellipsis; transition:transform 0.3s; }
#header .desktop-menu ul li.button > a:hover { transform:scale(1.05); }
#header .desktop-menu ul li.button > a:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }

#header .desktop-menu ul li::after { background-color:var(--teal); content:''; display:block; margin:0 auto; transition:width 0.3s; width:0; height:4px; }
#header .desktop-menu ul li.current-menu-item::after, #header .desktop-menu ul li.current-menu-ancestor::after, #header .desktop-menu ul li.hover::after { width:100%; }

#header .desktop-menu ul li.menu-item-has-children > a::after { content:'\f107'; font-family:'Font Awesome 6 Pro'; font-weight:900; }

#header .desktop-menu .sub-menu { background-color:#fff; border-radius:6px; box-shadow:3px 3px 9px rgba(0, 0, 0, 0.15); display:none; min-width:100%; padding:15px; position:absolute; top:100%; left:50%; transform:translateX(-50%); z-index:1; }
#header .desktop-menu .sub-menu li { display:block; font-size:21px; font-weight:500; padding-top:0; }
#header .desktop-menu .sub-menu li a { border-radius:6px; padding:15px; gap:15px; transition:background-color 0.3s, color 0.3s; }
#header .desktop-menu .sub-menu li a:hover { background-color:var(--bg-alt); color:var(--teal-dark); }

#header .desktop-menu .sub-menu li::after { content:none; }

#header .desktop-menu .sub-menu li.menu-item-has-children > a::after { content:'\f061'; }

#header .desktop-menu .sub-menu .sub-menu { top:0; left:100%; }

#header .desktop-menu .social-links { border-left:1px solid var(--line); padding-left:30px; }
#header .desktop-menu .social-links, #header .desktop-menu .social-links ul li { padding-top:0; }
#header .desktop-menu .social-links::after, #header .desktop-menu .social-links ul li::after { content:none; }

#header .mobile-menu-toggle { align-self:center; display:none; }
#header .mobile-menu-toggle a { background-color:var(--ink); border-radius:50%; color:#fff; display:block; text-align:center; text-decoration:none; transition:background-color 0.3s, color 0.3s; width:60px; height:60px; line-height:60px; }
#header .mobile-menu-toggle a::before { content:'\f0c9'; font-family:'Font Awesome 6 Pro'; font-size:24px; font-weight:900; }
.show-mobile-menu #header .mobile-menu-toggle a::before { content:'\f00d'; }
#header .mobile-menu-toggle a:hover { background-color:var(--teal); color:var(--ink); }

/* Header > Mobile Menu */
#header .mobile-menu { background-color:#fff; display:none; position:absolute; top:100%; left:0; width:100%; }

#header .mobile-menu .menu ul { list-style-type:none; margin-bottom:0; padding-left:0; }
#header .mobile-menu .menu ul li { border-top:1px solid var(--line); font-weight:800; line-height:60px; white-space:nowrap; }
#header .mobile-menu .menu ul li:first-child { border-top-width:0; }
#header .mobile-menu .menu ul li a { color:var(--ink); display:block; overflow:hidden; padding:0 15px; text-overflow:ellipsis; text-decoration:none; transition:background-color 0.3s, color 0.3s; }
#header .mobile-menu .menu ul li a:hover, #header .mobile-menu .menu ul li.active > a { background-color:var(--ink); color:#fff; }

#header .mobile-menu .menu ul li.menu-item-has-children > a { padding-right:0; }

#header .mobile-menu .menu ul li a .sub-menu-toggle { display:none; float:right; height:60px; margin-left:15px; text-align:center; transition:background-color 0.3s, color 0.3s; width:60px; }
#header .mobile-menu .menu ul li.menu-item-has-children > a .sub-menu-toggle { display:block; }
#header .mobile-menu .menu ul li a .sub-menu-toggle::before { content:'\f105'; font-family:'Font Awesome 6 Pro'; }
#header .mobile-menu .menu ul li.active > a .sub-menu-toggle::before { content:'\f107'; }
#header .mobile-menu .menu ul li a .sub-menu-toggle:hover { background-color:var(--teal); color:var(--ink); }

#header .mobile-menu .menu .sub-menu { display:none; }
#header .mobile-menu .menu .sub-menu li { border-top:1px solid var(--line); font-size:21px; font-weight:500; }
#header .mobile-menu .menu .sub-menu li a:hover { background-color:var(--bg-alt); color:var(--teal-dark); }

#header .mobile-menu .social-links { border-top:1px solid var(--line); padding:15px; }

/* Header > Social Links */
#header .social-links ul { display:flex; gap:6px; list-style-type:none; margin-bottom:0; padding-left:0; }
#header .social-links ul li a { align-items:center; justify-content:center; background-color:var(--ink); border-radius:50%; color:#fff; display:flex; width:48px; height:48px; text-decoration:none; transition:background-color 0.3s, color 0.3s; }
#header .social-links ul li a:hover { background-color:var(--teal); color:var(--ink); }

/* Header > Home + Interior */
#header :is(.home, .interior) { padding:90px 0; }

#header :is(.home, .interior) .columns { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:60px 90px; }

#header :is(.home, .interior) .content { flex:1 1 360px; display:flex; flex-direction:column; gap:30px; }
#header :is(.home, .interior) .content > * { margin-bottom:0; }

#header .interior .content .breadcrumbs { font-size:21px; }

#header :is(.home, .interior) .image { flex:1 1 360px; display:flex; justify-content:center; }
#header :is(.home, .interior) .image img { border-radius:15px; object-fit:cover; width:480px; }

#header .home .image img { aspect-ratio:1; }
#header .interior .image img { aspect-ratio:4 / 3; }

/* Header > Home */
#header .home .content { flex-basis:480px; }

#header .rows { display:grid; grid-template-columns:auto 1fr; row-gap:30px; }

#header .row { display:grid; grid-column:1 / -1; grid-template-columns:subgrid; align-items:center; gap:15px 30px; }

#header .row .label { display:flex; align-items:center; gap:15px; font-weight:800; white-space:nowrap; }
#header .row .label::before { background-clip:padding-box; border-width:5px; border-style:solid; border-radius:50%; content:''; display:block; width:24px; height:24px; }
#header .row.times .label::before { background-color:var(--teal); border-color:color-mix(in srgb, var(--teal) 30%, transparent); }
#header .row.links .label::before { background-color:var(--red); border-color:color-mix(in srgb, var(--red) 30%, transparent); }

#header .times .items { display:flex; flex-wrap:wrap; gap:15px 30px; }

#header .times .item { line-height:1; }

#header .times .day { color:var(--muted); font-size:18px; font-weight:600; text-transform:uppercase; }
#header .times .time { font-size:36px; font-weight:800; }

#header .links .buttons { display:flex; flex-wrap:wrap; gap:9px; }

#header .links .btn { color:#fff; }
#header .links .btn::after { content:none; }
#header .links .btn i { margin-right:0.6em; }

#header .links .facebook { background-color:#1877f2; }
#header .links .youtube { background-color:#ff0000; }

/* Body */
#body .layout { --shadow:6px 6px 30px rgba(0, 0, 0, 0.15); padding:120px 0; }
#body .layout:nth-child(odd) { --shadow:6px 6px 30px rgba(0, 0, 0, 0.3); background-color:var(--bg-alt); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

.layout :is(.text, .columns, .description, .answer, .header div) > *:last-child { margin-bottom:0; }

/* Layout > Text */
.layout.text .boxed { background-color:#fff; border:1px solid var(--line); border-radius:45px; padding:60px; }

.layout.text .columns { column-gap:90px; margin:0 auto; max-width:100%; }

.layout.text .columns.two { column-count:2; }
.layout.text .columns.three { column-count:3; }

/* Layout > Text + Media */
.layout.text-media .columns { display:flex; gap:60px 90px; align-items:center; }
.layout.text-media .columns.media-right { flex-direction:row-reverse; }

.layout.text-media .columns > div { flex-basis:0; flex-grow:1; }

.layout.text-media .media { display:flex; justify-content:center; }

.layout.text-media .media img { border:1px solid var(--line); border-radius:45px; display:block; object-fit:cover; }
.layout.text-media .media img.square { aspect-ratio:1; }
.layout.text-media .media img.four-three { aspect-ratio:4 / 3; }

.layout.text-media .media iframe { aspect-ratio:16 / 9; width:600px; max-width:100%; }

/* Layout > Icons */
.layout.icons .text { text-align:center; }

.layout.icons .text + .icons { margin-top:90px; }

.layout.icons .icons { display:flex; flex-wrap:wrap; gap:60px; }

.layout.icons .icon { display:flex; flex-direction:column; gap:30px; text-align:center; }

.layout.icons .icon:nth-child(3n+1) { --accent:var(--teal-dark); }
.layout.icons .icon:nth-child(3n+2) { --accent:var(--orange); }
.layout.icons .icon:nth-child(3n) { --accent:var(--red); }

.layout.icons .cards .icon { background-color:#fff; border-radius:15px; border:1px solid var(--line); border-top-color:var(--accent); border-top-width:4px; flex:1 1 360px; padding:30px; transition:box-shadow 0.3s, transform 0.3s; }
.layout.icons .cards .icon:hover { box-shadow:var(--shadow); transform:translateY(-6px); }

.layout.icons .columns .icon { flex:1 1 180px; position:relative; }
.layout.icons .columns .icon + .icon::before { content:''; position:absolute; top:0; bottom:0; left:-30px; border-left:1px solid var(--line); }

.layout.icons .icon i { align-self:center; background-color:color-mix(in srgb, var(--accent) 15%, transparent); border-radius:50%; color:var(--accent); font-size:30px; width:90px; height:90px; line-height:90px; }

.layout.icons .icon .body { display:flex; flex-direction:column; gap:15px; }

.layout.icons .icon .title { font-size:36px; font-weight:800; line-height:1; }

.layout.icons .icon .footer { border-top:1px solid var(--line); font-size:18px; letter-spacing:0.04em; padding-top:30px; }

/* Layout > Ordered Blocks */
.layout.ordered-blocks .text { text-align:center; }

.layout.ordered-blocks .text + .items { margin-top:90px; }

.layout.ordered-blocks .items { margin:0 auto; position:relative; width:900px; max-width:100%; }
.layout.ordered-blocks .items::before { background-image:linear-gradient(to bottom, transparent, var(--line) 6%, var(--line) 94%, transparent); content:''; position:absolute; top:15px; bottom:15px; left:35px; width:2px; }

.layout.ordered-blocks .item { display:flex; gap:30px; position:relative; }
.layout.ordered-blocks .item + .item { margin-top:60px; }

.layout.ordered-blocks .item .number { align-items:center; align-self:flex-start; background-color:var(--teal); border-radius:50%; display:flex; flex-shrink:0; font-size:30px; font-weight:800; justify-content:center; line-height:1; width:72px; height:72px; }

.layout.ordered-blocks .item .content { display:flex; flex-direction:column; gap:15px; padding-top:15px; }

.layout.ordered-blocks .item .title { font-size:36px; font-weight:800; line-height:1; }

.layout.ordered-blocks .lead-in { color:var(--teal-dark); font-size:0.75em; font-weight:800; letter-spacing:0.1em; margin-right:0.3em; text-transform:uppercase; }

/* Layout > Ordered Blocks > Horizontal */
.layout.ordered-blocks .items.horizontal { display:grid; grid-template-columns:repeat(auto-fit, minmax(max(240px, (100% - 3 * 30px) / 4), 1fr)); gap:60px 30px; width:100%; }
.layout.ordered-blocks .items.horizontal::before { content:none; }

.layout.ordered-blocks .items.horizontal .item { border-top:2px solid var(--line); display:block; padding-top:54px; }
.layout.ordered-blocks .items.horizontal .item + .item { margin-top:0; }

.layout.ordered-blocks .items.horizontal .item .number { font-size:21px; position:absolute; top:-24px; left:0; width:48px; height:48px; }

.layout.ordered-blocks .items.horizontal .item .content { padding-top:0; }

.layout.ordered-blocks .items.horizontal .item .title { font-size:30px; }

/* Layout > Events */
.layout.events .header { display:flex; justify-content:space-between; align-items:center; gap:30px 90px; flex-wrap:wrap; margin-bottom:90px; }

.layout.events .events { display:grid; grid-template-columns:repeat(3, 1fr); gap:90px; }

.layout.events .event { background-color:#fff; border:1px solid var(--line); border-radius:15px; overflow:hidden; }

.layout.events a.event { color:inherit; display:block; text-decoration:none; transition:box-shadow 0.3s, transform 0.3s; }
.layout.events a.event:hover { box-shadow:var(--shadow); transform:translateY(-6px); }

.layout.events .event .image { aspect-ratio:3 / 2; overflow:hidden; position:relative; }
.layout.events .event .image::before { background-image:inherit; background-position:center; background-size:cover; content:''; filter:blur(15px); position:absolute; inset:0; transform:scale(2); }

.layout.events .event .image img { display:block; object-fit:contain; position:relative; width:100%; height:100%; }

.layout.events .event .content { display:flex; flex-direction:column; gap:15px; padding:30px; }

.layout.events .event .title { font-size:30px; font-weight:800; line-height:1; }

.layout.events .event .icon { display:flex; gap:9px; }
.layout.events .event .icon i { color:var(--teal-dark); }

.layout.events .filler { background-color:var(--line); border-radius:15px; display:flex; flex-direction:column; gap:15px; align-items:center; justify-content:center; padding:30px; text-align:center; }
.layout.events .filler.span-2 { grid-column:span 2; }
.layout.events .filler.span-3 { grid-column:span 3; }

.layout.events .filler i { font-size:48px; }

.layout.events .filler .title { font-size:30px; font-weight:800; line-height:1; }

/* Layout > Map */
.layout.map .columns { background-color:#fff; border:1px solid var(--line); border-radius:45px; display:flex; overflow:hidden; }

.layout.map .columns > div { flex-basis:0; flex-grow:1; }

.layout.map .content { padding:60px; }

.layout.map .icons { display:flex; gap:24px; flex-direction:column; }

.layout.map .icon { display:flex; align-items:center; gap:24px; }

.layout.map .icon i { background-color:color-mix(in srgb, var(--teal) 15%, transparent); border-radius:9px; color:var(--teal-dark); flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; aspect-ratio:1; width:60px; }

.layout.map .icon .value { font-weight:600; }

.layout.map .icon .label { color:var(--muted); font-size:18px; text-transform:uppercase; }

.layout.map .icon ul { list-style-type:none; margin-bottom:0; padding-left:0; }
.layout.map .icon li { display:inline; }
.layout.map .icon li + li::before { content:'\2022'; margin:0 0.3em; }

.layout.map .map { aspect-ratio:16 / 9; display:flex; }
.layout.map .map iframe { width:100%; height:100%; border:0; display:block; }

/* Layout > Staff */
.layout.staff .text + .staff { margin-top:90px; }

.layout.staff .staff { display:grid; grid-template-columns:repeat(auto-fill, minmax(max(220px, (100% - 3 * 60px) / 4), 1fr)); gap:60px; }

.layout.staff .person { border:1px solid var(--line); display:flex; flex-direction:column; gap:15px; align-items:center; background-color:#fff; border-radius:15px; line-height:1; text-align:center; padding:30px; }

.layout.staff .person img { aspect-ratio:1; border:1px solid var(--line); border-radius:50%; object-fit:cover; padding:6px; width:180px; }

.layout.staff .person .name { font-weight:800; }

.layout.staff .person .title { font-size:21px; }

/* Layout > Cards */
.layout.cards .text { text-align:center; }

.layout.cards .text + .cards { margin-top:90px; }

.layout.cards .cards { --gap:90px; display:grid; gap:var(--gap); }
.layout.cards .cards.two { grid-template-columns:repeat(auto-fit, minmax(max(280px, (100% - var(--gap)) / 2), 1fr)); }
.layout.cards .cards.three { grid-template-columns:repeat(auto-fit, minmax(max(280px, (100% - 2 * var(--gap)) / 3), 1fr)); }

.layout.cards .card { background-color:#fff; border:1px solid var(--line); border-radius:15px; display:flex; flex-direction:column; overflow:hidden; transition:box-shadow 0.3s, transform 0.3s; }
.layout.cards .card:hover { box-shadow:var(--shadow); transform:translateY(-6px); }

.layout.cards .card .image { aspect-ratio:16 / 10; overflow:hidden; }
.layout.cards .card .image img { display:block; object-fit:cover; width:100%; height:100%; }

.layout.cards .card .body { display:flex; flex-direction:column; flex-grow:1; gap:30px; padding:30px; }

.layout.cards .card .title { font-size:36px; font-weight:800; line-height:1; }

.layout.cards .card .button { margin-top:auto; }

.layout.cards .card .facts { border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(auto-fit, minmax(120px, 1fr)); gap:15px 30px; margin-top:auto; padding-top:30px; }

.layout.cards .card .fact { line-height:1; }

.layout.cards .card .fact .label { color:var(--muted); font-size:18px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; }
.layout.cards .card .fact .value { font-weight:800;  margin-top:6px; }
.layout.cards .card .fact .note { color:var(--muted); font-size:18px; margin-top:6px; }

/* Layout > Groups */
.layout.groups .text + .groups { margin-top:90px; }

/* Layout > Groups > Highlights */
.layout.groups .highlights { --gap:90px; display:grid; grid-template-columns:repeat(auto-fit, minmax(max(300px, (100% - 2 * var(--gap)) / 3), 1fr)); gap:var(--gap); }

.layout.groups .highlights .group { background-color:#fff; border:1px solid var(--line); border-radius:15px; display:flex; flex-direction:column; overflow:hidden; transition:box-shadow 0.3s, transform 0.3s; }

.layout.groups .highlights a.group { color:inherit; text-decoration:none; }
.layout.groups .highlights a.group:hover { box-shadow:var(--shadow); transform:translateY(-6px); }

.layout.groups .highlights .group .image { aspect-ratio:3 / 2; overflow:hidden; }
.layout.groups .highlights .group .image img { display:block; object-fit:cover; width:100%; height:100%; }

.layout.groups .highlights .group .content { display:flex; flex-direction:column; flex-grow:1; gap:15px; padding:30px; }

.layout.groups .highlights .group .title { font-size:30px; font-weight:800; line-height:1; }

.layout.groups .highlights .group .link { color:var(--teal-dark); font-size:21px; font-weight:800; margin-top:auto; }
.layout.groups .highlights .group .link i { margin-left:0.3em; transition:transform 0.3s; }
.layout.groups .highlights a.group:hover .link i { transform:translateX(0.3em); }

/* Layout > Groups > Full */
.layout.groups .full { display:flex; flex-direction:column; gap:60px; }

.layout.groups .full .group { align-items:center; display:flex; gap:60px; scroll-margin-top:30px; }
.layout.groups .full .group + .group { border-top:1px solid var(--line); padding-top:60px; }

.layout.groups .full .group .image { align-self:flex-start; flex-shrink:0; width:360px; }
.layout.groups .full .group .image img { aspect-ratio:3 / 2; border:1px solid var(--line); border-radius:15px; display:block; object-fit:cover; width:100%; }

.layout.groups .full .group .content { display:flex; flex-direction:column; flex-basis:0; flex-grow:1; gap:15px; }

.layout.groups .full .group .title { font-size:36px; font-weight:800; line-height:1; }

/* Layout > FAQs */
.layout.faqs .text { text-align:center; }

.layout.faqs .text + .questions { margin-top:90px; }

.layout.faqs .questions { display:flex; flex-direction:column; gap:15px; margin:0 auto; width:900px; max-width:100%; }

.layout.faqs .question { background-color:#fff; border:1px solid var(--line); border-radius:15px; overflow:hidden; }

.layout.faqs .question summary { align-items:center; cursor:pointer; display:flex; font-size:30px; font-weight:800; gap:30px; justify-content:space-between; line-height:1; list-style:none; padding:30px; transition:color 0.3s; }
.layout.faqs .question summary::-webkit-details-marker { display:none; }
.layout.faqs .question summary:hover { color:var(--teal-dark); }

.layout.faqs .question summary::after { color:var(--teal-dark); content:'\f107'; flex-shrink:0; font-family:'Font Awesome 6 Pro'; font-weight:900; transition:transform 0.3s; }
.layout.faqs .question[open] summary::after { transform:rotate(180deg); }

.layout.faqs .question .answer { padding:0 30px 30px; }

/* Footer */
#footer { background-color:var(--bg-alt); border-top:1px solid var(--line); }

#footer .columns { display:flex; flex-wrap:wrap; gap:60px 90px; padding:90px 0; }

#footer .columns + .columns { border-top:1px solid var(--line); justify-content:space-between; row-gap:15px; font-size:21px; padding:30px 0; }

#footer .preheading::before { content:none; }

#footer .logo, #footer .contact, #footer .menu { flex:1 1 240px; display:flex; flex-direction:column; gap:30px; }

#footer .logo img { display:block; width:300px; }

#footer .menu ul { display:flex; flex-direction:column; gap:15px; list-style-type:none; margin-bottom:0; padding-left:0; }
#footer .menu ul li a { color:var(--ink); text-decoration:none; position:relative; display:inline-block; transition:transform 0.3s ease; }
#footer .menu ul li a::before { color:var(--teal-dark); content:'\f105'; font-family:'Font Awesome 6 Pro'; font-weight:900; position:absolute; left:-30px; opacity:0; transition:opacity 0.3s ease; }
#footer .menu ul li a:hover { transform:translateX(30px); }
#footer .menu ul li a:hover::before { opacity:1; }

#footer .secondary-menu ul { display:flex; gap:6px 15px; flex-wrap:wrap; list-style-type:none; margin-bottom:0; padding-left:0; }
#footer .secondary-menu ul li a { color:var(--ink); }
#footer .secondary-menu ul li a:hover { color:var(--teal-dark); }

/* Media Queries */
@media (max-width:1199px) {
	/* Header */
	#header .desktop-menu { display:none; }

	#header .mobile-menu-toggle { display:block; }

	/* Layout > Events */
	.layout.events .events { grid-template-columns:repeat(2, 1fr); gap:60px; }

	.layout.events .filler.span-3 { grid-column:span 2; }
}

@media (max-width:991px) {
	.container { padding:0 15px; }

	/* Body */
	#body .layout { padding:90px 0; }

	/* Layout > Cards */
	.layout.cards .cards { --gap:60px; }

	/* Layout > Groups */
	.layout.groups .highlights { --gap:60px; }

	.layout.icons .icon .title,
	.layout.ordered-blocks .item .title,
	.layout.cards .card .title,
	.layout.groups .full .group .title { font-size:32px; }

	/* Layout > Text */
	.layout.text .columns.three { column-gap:60px; column-count:2; }

	/* Layout > Text + Media */
	.layout.text-media .columns { flex-direction:column; }
	.layout.text-media .columns.media-right { flex-direction:column-reverse; }

	/* Layout > Map */
	.layout.map .columns { flex-direction:column; }

	/* Layout > Groups */
	.layout.groups .full .group { gap:30px; }
}

@media (max-width:767px) {
	/* Header > Home + Interior */
	#header :is(.home, .interior) { padding:75px 0; }

	/* Body */
	#body .layout { padding:75px 0; }

	.layout.icons .icon .title,
	.layout.ordered-blocks .item .title,
	.layout.cards .card .title,
	.layout.groups .full .group .title { font-size:30px; }

	.layout.events .event .title,
	.layout.events .filler .title,
	.layout.groups .highlights .group .title { font-size:27px; }

	/* Layout > Text */
	.layout.text .boxed { padding:45px; }

	.layout.text .columns.two, .layout.text .columns.three { column-count:1; }

	/* Layout > Events */
	.layout.events .events { grid-template-columns:1fr; }

	.layout.events .filler.span-2, .layout.events .filler.span-3 { grid-column:span 1; }

	/* Layout > Map */
	.layout.map .columns { border-radius:30px; }

	.layout.map .content { padding:45px; }

	.layout.map .icon { gap:15px; }

	.layout.map .map { aspect-ratio:4 / 3; }

	/* Layout > Cards */
	.layout.cards .text + .cards { margin-top:60px; }

	/* Layout > Groups */
	.layout.groups .text + .groups { margin-top:60px; }

	.layout.groups .full .group { flex-direction:column; }

	/* Layout > FAQs */
	.layout.faqs .text + .questions { margin-top:60px; }

	.layout.faqs .question summary { font-size:24px; gap:15px; padding:22px; }

	.layout.faqs .question .answer { padding:0 22px 22px; }

	/* Layout > Ordered Blocks */
	.layout.ordered-blocks .text + .items { margin-top:60px; }

	.layout.ordered-blocks .items::before { left:23px; }

	.layout.ordered-blocks .item { gap:15px; }
	.layout.ordered-blocks .item + .item { margin-top:60px; }

	.layout.ordered-blocks .item .number { font-size:21px; width:48px; height:48px; }

	.layout.ordered-blocks .item .content { padding-top:9px; }

	/* Footer */
	#footer .columns { padding:75px 0; }
}

@media (max-width:575px) {
	/* Body */
	.layout.icons .icon .title,
	.layout.ordered-blocks .item .title,
	.layout.ordered-blocks .items.horizontal .item .title,
	.layout.cards .card .title,
	.layout.groups .full .group .title { font-size:26px; }

	.layout.events .event .title,
	.layout.events .filler .title,
	.layout.groups .highlights .group .title { font-size:24px; }

	/* Header > Home */
	#header .rows { grid-template-columns:1fr; }

	#header .times .time { font-size:30px; }
}