img, iframe {max-width: 100%; height: auto} html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%} html { --12px: .75rem; --14px: 0.875rem; --15px: 0.9375rem; --16px: 1rem; --17px: 1.0625rem; --18px: 1.125rem; --19px: 1.1875rem; --20px: 1.25rem; --24px: 1.5rem; --32px: 2rem; --50px: 3.125rem; } *:focus-visible, *:focus, input[type=submit]:focus-visible { outline-style: solid; outline-width: 2px; outline-color: #000; outline-offset: 4px; border-radius: 3px; transition: all .3s linear .01s; } :is(nav a, h1):focus-visible, .hero .btn { outline-color: #fff; box-shadow: unset } .jump { text-decoration-line: underline; text-decoration-color: var(--accent); text-underline-offset: 4px; position: absolute; background: #fff; right: 150px; top: 0; padding: 10px; color: var(--primary); border-width: 2px; border-color: var(--secondary); border-style: none solid solid; transform: translateY(-100%); font-weight: bold; font-size: var(--16px); outline-offset: 0 !important } .jump:focus { transform: translateY(0%); } :root { --main-bg: #fff; --light: #e7e7e7; --light-comp: #4d4d4d; --dark: #333; --dark-comp: #fff; --primary: #34678a; --primary-comp: #fff; --secondary: #007ACC; --secondary-comp: #fff; } a[target="_blank"] { position: relative } a[target="_blank"] i { padding: 4px; border: 1px solid black; color: #000; background-color: #fff; text-decoration: none; position: absolute; left: 0; top: -30px; z-index: 999; width: 140px; display: none; font-size: var(--12px); font-style: normal; font-weight: 400; font-family: sans-serif; text-align: center !important; text-transform: none } a[target="_blank"]:is(:hover, :focus) i { display: block } header a[onclick="target='_blank'"] i, header a[target="_blank"] i { left: 0; } .ccpaNotice a:focus-visible { outline-color: #000 } .ccpaNotice a i { bottom: unset !important; top: -30px; } .a8bmark[target="_blank"] i { right: 0; left: unset } html { font-size: 1rem } :root { --main-bg: #fff; --light: #fafafa; --light-comp: #4d4d4d; --dark: #333; --dark-comp: #fff; --primary: #34678a; --primary-comp: #fff; --secondary: #e44a3c; --secondary-comp: #fff; } * { box-sizing: border-box; scroll-behavior: smooth } body, button, form * { font-family: Arial, Helvetica, sans-serif; font-size: var(--18px); line-height: 1.5 } body:before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: url('/images/fumc-brick.jpg'); background-size: contain; z-index: -1; opacity: 0.1; filter: grayscale(100%); background-position: fixed; background-repeat: no-repeat; } body { text-align: center; position: relative; min-width: 320px; } body, .row2 h3, footer a, footer button, .row2 .grid p, .row3 .grid p, .worship h3, .worship a { color: var(--light-comp, #4d4d4d); } body, header ul, .hero h1, .hero p, .row1 h2, .row1 h3 { padding: 0; margin: 0; } h1, h2, h3, h4, h5, h6, p, th, td, dd, dt, li, blockquote { text-align: left; } h1, h2, h3, h4, h5, h6 { color: var(--primary, #34678a); line-height: 1.4; } h1, .home h2 { color: var(--dark, #333); } img, iframe, video { max-width: 100%; height: auto; display: block; margin: 0 auto } iframe, video { aspect-ratio: auto 16 / 9; width: 100%; margin: 1em auto; } a img, iframe { border: none; } a, .row2 h3, .row4 img, .worship h3 { transition: ease-in-out .3s; } .row2 div a, .row2 div a:is(:hover, :focus) { text-decoration: none } .row2 a:is(:hover, :focus) h3 { text-decoration: underline 2px var(--secondary); text-underline-offset: 4px } a:hover { text-decoration: underline; } hr { border-width: 1px; border-color: var(--light, #e7e7e7); border-style: none none solid; margin: 40px 0; } .imgLeft, .imgRight { max-width: 45%; } .imgLeft { float: left; margin: 10px 4% 2% 0; } .imgRight { float: right; margin: 10px 0 2% 4%; } .clear { clear: both; } .nowrap, a[href^=tel] { white-space: nowrap; } sup { line-height: 0; } .hide { display: none !important; } .center, .hero h1, .hero p, .row1 h2, .row1 p, .row2 h2, .row2 p, .row3 h2, .row3 p, .row4 h2, .row4 p, .worship .grid h3, .worship .grid p { text-align: center; } .wrap { display: block; max-width: 1080px; margin: 0 auto; position: relative; } .bg-dark, .bg-primary { color: var(--dark-comp, #fff); } .bg-dark { background-color: var(--dark, #333); } .bg-primary { background-color: var(--primary, #34678a); } .bg-light { background-color: var(--light, #fafafa); color: var(--dark, #333); } .mid { align-items: center; align-self: center; } .grid { display: grid; grid-gap: 10px 40px; } .grid.half { grid-template-columns: repeat(2, 1fr); } .grid.third { grid-template-columns: repeat(3, 1fr); } .grid.fourth { grid-template-columns: repeat(4, 1fr); } .flex { display: flex; flex-wrap: wrap; margin: 0 -5px } button { border: none; background: none; margin: 0; padding: 0; transition: ease-in-out .3s; } button:is(:hover, :focus) { cursor: pointer; outline-offset: 4px; } .bgimg { position: relative } .bgimg>img:first-of-type, .hero div[role=complementary] img { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; z-index: 0 } .bgimg .wrap { z-index: 2 } header, .hero { position: relative; } header .wrap { padding: 0 10px; } .logo { display: inline-block; margin: 5px auto; color: #e44a3c; font-weight: bolder; text-transform: capitalize; font-size: 34px; text-decoration: none; padding: 20px 0px; } .logo:hover { color: #34678a; } header a.logo { text-align: left; } .headGrid { display: grid; grid-template-columns: 660px 1fr; align-items: center; } .headGrid ul li { list-style-type: none; text-align: right; margin: 0 0 5px 0; display: block; } .headGrid ul li a { text-decoration: none; background: var(--dark, #333); color: #fff; padding: 10px; border-radius: 5px; display: inline-flex; align-items: center; gap: 0.6em; } .logo img { max-width: 100px; float: left; margin-right: 10px; } .logo { display: flex; align-items: center; gap: 0 10px; } nav li { display: inline-block; vertical-align: middle; } nav a { display: block; margin: 5px; padding: 5px 15px; text-decoration: none } nav a:is(:hover, :focus) { text-decoration: underline 2px var(--secondary); text-underline-offset: 4px } nav a, .hero h1, .hero p { color: var(--dark-comp, #fff); } nav a:has(svg) { padding: 0 5px 2px; } nav a svg { display: block; } nav ul ul { display: none; min-width: 230px; margin-left: -10px; border-radius: 5px; box-shadow: 0 5px 5px rgba(0, 0, 0, .1); position: absolute; z-index: 999; } nav ul ul li, nav ul ul a { display: block; background-color: #34678a; } nav li:hover>ul, a.emphasis { display: block; } nav ul ul { border-radius: 5px; border: 1px solid #ddd; overflow: hidden } nav ul ul a { padding: 10px 20px; margin: 0 } nav ul ul a:hover { background-color: #34678a; color: #fff; } .hero { position: relative; } .hero:before { content: ""; width: 100%; height: 100%; background-color: rgba(51, 51, 51, .1); position: absolute; inset: 0; z-index: 1 } .hero { width: 100%; height: 400px; border-bottom: 20px solid var(--primary, #34678a); } .hero>.wrap, .row1 .wrap, .row4 .wrap { top: 50%; transform: translateY(-50%); } .hero h1, .hero p, .row5 p { padding: 0 10px; text-shadow: 2px 2px 3px rgba(0, 0, 0, .3); } .hero h1, .hero p { max-width: 1200px; margin: 0 auto; } .hero h1 { font-size: 36px; } .hero p { font-size: 24px; margin: 40px auto; } .row1 { height: 300px; padding: 0 10px; } .row2 .flex { flex-wrap: wrap; justify-content: space-evenly; align-items: top; gap: 10px; padding: 25px 0; } .row2 .flex>div { flex: 1 0 300px; max-width: 300px; min-height: 400px; justify-self: center; background-color: var(--dark-comp, #fff); box-shadow: 0 2px 5px rgba(0, 0, 0, .2); border-radius: 3px; } .row2 .flex>div:nth-of-type(2) { border-left: 1px solid rgba(255, 255, 255, .5); border-right: 1px solid rgba(255, 255, 255, .5); } .row3 .wrap { padding: 40px 10px; } .row2 .flex h3, .row2 .flex p { padding: 0 clamp(5px, 1vw, 20px); color: #000 } .row2 .flex h3 { text-align: center; } .row2 .flex, .row3 .grid { grid-gap: 20px; margin: 40px 0; } .row2 .flex p, .row3 .grid p { text-align: left; padding-bottom: 20px; } .row2 .flex img { max-width: 300px; overflow: hidden; } .row2 h3 span { display: block; font-size: 23px; font-style: italic; font-weight: normal; } .row3 .grid>div, .worship .grid>a { background-color: #eee; } .row3 .grid>div { padding: 20px clamp(15px, 3vw, 40px) 5px; } .row3 svg { float: right; vertical-align: middle; } .headGrid ul li a svg { display: inline-block; vertical-align: middle; height: 1em; width: auto; } .row3 .grid p:first-of-type { font-style: italic; min-height: 320px; } .row4 { height: 400px; padding: 0 10px; } .churchinfo { padding: clamp(30px, 5vw, 60px) 10px; height: auto; } .churchinfo .wrap { top: auto; transform: none; } .churchinfo h2 { font-size: clamp(24px, 3vw, 34px); margin-bottom: 5px; } .churchinfo a[href*="maps"] { color: var(--secondary); font-weight: bold; text-decoration: none; } .churchinfo a[href*="maps"]:is(:hover, :focus) { text-decoration: underline; text-underline-offset: 3px; } .churchinfo .invite { font-size: clamp(20px, 2.5vw, 28px); font-style: italic; color: var(--primary); margin: clamp(15px, 3vw, 30px) 0; } .serviceTimes { margin-top: clamp(20px, 3vw, 40px); grid-gap: clamp(15px, 3vw, 30px); } .serviceCard { background: var(--light); border-radius: 5px; overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, .1); transition: box-shadow .3s ease, transform .3s ease; } .serviceCard:is(:hover, :focus-within) { box-shadow: 0 4px 16px rgba(0, 0, 0, .2); transform: translateY(-2px); } .serviceCard a { text-decoration: none; color: inherit; } .serviceCard a:is(:hover, :focus) { text-decoration: underline; text-underline-offset: 3px; } .serviceCard img { width: 100%; height: clamp(180px, 25vw, 250px); object-fit: cover; } .serviceCard h3 { font-size: clamp(20px, 2.5vw, 26px); padding: 15px 20px 0; margin: 0; } .serviceCard .subtitle { font-style: italic; color: var(--secondary); padding: 0 20px; margin: 5px 0; } .serviceCard p:last-of-type { padding: 0 20px 20px; margin: 0; } fieldset { border: none; margin: 0; padding: 0 } legend { display: block; padding: 20px 0 10px; color: var(--primary); font-weight: bold; font-size: var(--20px) } form { text-align: left; margin: 0 0 40px; } form .grid { grid-gap: 0 10px; } form label { margin-bottom: 15px } form :is(label, input, textarea, select) { display: block; width: 100%; } form :is(input, textarea, select) { border: 1px solid #eee; padding: 10px; background-color: var(--main-bg, #fff); } form input[type=file] { margin-left: 10px; border-radius: 0; } form textarea { height: 100px; } form input[type=submit], .btn { display: inline-block; min-width: 150px; text-align: center; text-transform: uppercase; line-height: 1.7; background-color: var(--secondary, #e44a3c); color: var(--primary-comp, #fff); padding: 10px 40px; margin: 10px 0; border: none; transition: ease-in-out .3s; text-decoration: none } form input[type=submit] { width: auto; min-width: 250px; } :is(form input[type=submit], .btn):is(:hover, :focus) { cursor: pointer; background-color: var(--secondary, #e44a3c); color: var(--primary-comp, #fff); text-decoration: none } footer .wrap { padding: 20px 10px; } footer .grid.third { padding: 30px 0; } footer .subfoot { border-top: 10px solid var(--primary, #34678a); } footer .subfoot .grid.mid { grid-template-columns: 1fr 150px } footer .bg-light a { text-decoration: none } footer .bg-light a:is(:hover, :focus) { text-decoration: underline var(--secondary); text-underline-offset: 4px } footer button, .wcag a { text-decoration: underline; text-underline-offset: 4px } :is(footer button, .wcag a):is(:hover, :focus) { text-decoration-color: var(--secondary) } footer .grid { margin-bottom: 10px } footer p { margin: 5px 0 } .ccpaNotice { text-align: center !important; } .wcag { text-align: right } main { padding: 40px 10px 50px; } main a { color: var(--secondary) } main h1, main h2, .row2 h3, .about h3, .worship h3 { font-size: 30px; } main h3 { font-size: 20px; } main h4 { font-size: 18px; } main ul, main ol { padding-left: 25px; } main li, footer li { margin: 5px 0; } .nolist, footer ul, .contact ul { list-style: none; padding-left: 0; } .about .grid { grid-gap: 0; } .about .grid h3, .about .grid p { padding: 0 clamp(15px, 3vw, 40px); } .about .grid p:last-of-type { margin-bottom: 30px } .about .grid img { display: block; object-fit: cover; width: 100%; height: 100%; } .about .grid:nth-of-type(even)>img:first-of-type { order: 2; } .about .grid:first-of-type { margin-top: 50px; } .about .grid:last-of-type { margin-bottom: 50px; } .worship .grid { grid-gap: 30px; padding: 40px 0; } .worship .grid>a { padding: 20px; border: 3px solid #fff; outline: 10px solid #eee; } .worship .grid h3 { margin: 0; line-height: 1.3; } .worship .grid p { margin: 10px 0; } .contact .grid { grid-template-columns: 1fr 300px; } .contact .grid ul { padding: 15px 0 15px 70px; position: relative; } .contact li:first-of-type { position: absolute; top: 15px; left: 20px; } .endofpage { margin-top: 5%; } .imgrowspacing { padding: 30px 0; } .fellowship { padding: 20px; } @media(prefers-reduced-motion:reduce) { * { transition: all 0s !important; scroll-behavior: unset; animation: none } } @media(forced-colors:active) {} @media(max-width:62.5rem) { .grid.fourth { grid-template-columns: 1fr 1fr } } @media(max-width:47.999rem) { .grid.third { grid-template-columns: 1fr 1fr } footer .grid.third>*:first-of-type { grid-column: 1 / -1 } footer .grid.third * { text-align: center } .contact .grid { grid-template-columns: 1fr } .contact .grid>div { display: inline-block; margin: 0 auto } .jump { right: 50%; transform: translate(50%, -100%) } .jump:focus { transform: translate(50%, 0) } .hero h1 { font-size: 2em !important; } .row3 .grid p:first-of-type { min-height: none !important; } } @media(max-width:50rem) { header .grid, .headGrid { grid-template-columns: 1fr; text-align: center; } nav ul, .headGrid ul li, header a.logo { text-align: center } nav ul ul { display: none !important; } nav a { padding: 5px 10px } .hero { height: auto !important } .hero>.wrap { padding: 80px 0; top: unset; transform: none } } @media(max-width:37.5rem) { .grid.half, .grid.third, .grid.fourth, footer .cta>.wrap>.grid, .row2 .grid, footer .subfoot .grid.mid { grid-template-columns: 1fr } .subfoot p, .row2 h3 { text-align: center } .imgRight { float: none; margin: 0 auto; max-width: 100%; } .row1 .grid>div:nth-of-type(2) { border: none } main { margin-bottom: 0; padding-bottom: 50px } .cta .grid>div:last-of-type { margin-top: unset } .about .grid:nth-of-type(even)>img:first-of-type { order: unset; } .about .grid p:last-of-type { margin: 1em 0; } .about .grid :is(h3, p) { padding: 0 } } @media(max-width:31.25rem) { nav ul { display: grid; grid-template-columns: 1fr 1fr } nav li:last-of-type:nth-of-type(odd) { grid-column: 1 / -1 } nav a { text-align: center } nav a svg { margin: 0 auto; } } @media(max-width:25rem) { form input[type=submit] { max-width: unset; display: block; width: 100% } }