/* Base: Shrine body defaults as measured on halvorsen-store.com (Lato self-hosted from the origin's own woff2 cuts). */
@font-face{font-family:Lato;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/lato_n4.c3b93d431f0091c8be23185e15c9d1fee1e971c5.woff2) format("woff2")}
@font-face{font-family:Lato;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/lato_n7.900f219bc7337bc57a7a2151983f0a4a4d9d5dcf.woff2) format("woff2")}
html{box-sizing:border-box;font-size:62.5%;height:100%;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;min-height:100%;font-family:Lato,sans-serif;font-size:1.5rem;line-height:1.8;letter-spacing:.06rem;color:rgba(18,18,18,.9);background:#fff;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto;vertical-align:bottom}
a{color:inherit}
a:not(:hover){text-decoration:none}
button{font-family:inherit;background:transparent;border:none;color:inherit;cursor:pointer}
.visually-hidden{position:absolute!important;overflow:hidden;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);word-wrap:normal!important}
.page-width{max-width:1100px;margin:0 auto;padding:0 50px}
main{display:flow-root}
.page-width--narrow{max-width:826px}
@media screen and (max-width:749px){.page-width{padding:0 15px}}
@media screen and (min-width:750px){body{font-size:1.6rem}}
h1,h2,h3,h4{font-family:Lato,sans-serif;font-weight:700;color:rgb(18,18,18);letter-spacing:.06rem;line-height:1.2;word-break:break-word}
.h0{font-size:calc(1.3 * 4.25rem);line-height:1.2;letter-spacing:.078rem}
.h1{font-size:3.9rem;letter-spacing:.078rem;line-height:1.2}
.h2{font-size:3.12rem;letter-spacing:.078rem}
.h3{font-size:2.34rem;letter-spacing:.078rem}
@media screen and (max-width:749px){.h0{font-size:calc(1.3 * 3rem)}.h1{font-size:3rem}.h2{font-size:2.4rem}.h3{font-size:1.8rem}}
/* Shrine rich text (measured: h2 31.2/38.4 700, p 16/28.8 ls .96, links rgba(85,85,85,.85) underlined) */
.rte{margin-bottom:0}
.rte>*:last-child{margin-bottom:0}
.rte h2{font-size:2.6rem;line-height:1.23;margin:2.1rem 0 2.2rem}
.rte h3{font-size:2.21rem;line-height:1.23;margin:2.2rem 0 2.3rem}
.rte p{margin:0 0 1.5rem;line-height:1.8;letter-spacing:.096rem}
.rte ul,.rte ol{margin:0 0 1.6rem;padding-left:2rem;list-style-position:outside}
.rte li{line-height:1.8;letter-spacing:.096rem}
.rte strong{font-weight:700}
.rte a{color:rgba(85,85,85,.85);text-underline-offset:.3rem;text-decoration:underline;text-decoration-thickness:.1rem}
.rte a:hover{color:rgb(18,18,18)}
@media screen and (max-width:749px){.rte p,.rte li{letter-spacing:.09rem}}
@media screen and (min-width:750px){.rte h2{font-size:3.12rem;margin:2.7rem 0 2.6rem}.rte h3{font-size:2.34rem;margin:2.4rem 0 2.3rem}.rte p{margin:0 0 1.6rem}.rte ul,.rte ol{margin:0 0 1.5rem}}
/* Shrine button (green, measured 49px tall, 16/19.2 700, radius 8) */
.button{display:inline-flex;align-items:center;justify-content:center;min-width:12rem;min-height:4.9rem;padding:0 3rem;border:0;border-radius:.8rem;background:rgb(21,128,61);color:#fff;font-family:Lato,sans-serif;font-size:1.6rem;font-weight:700;line-height:1.2;letter-spacing:.1rem;text-decoration:none;cursor:pointer}
.button:hover{background:rgb(18,110,52)}
.button--full-width{width:100%}
/* Shrine field (measured: 45px tall, radius 6, padding 15, 1px rgba(18,18,18,.55) ring, floating label) */
.field{position:relative;width:100%;display:flex}
.field__input{flex-grow:1;width:100%;height:4.5rem;min-height:0;padding:1.5rem;margin:1px;border:0;border-radius:.6rem;background:#fff;box-shadow:0 0 0 .1rem rgba(18,18,18,.55);font-family:Lato,sans-serif;font-size:1.6rem;line-height:1.5;letter-spacing:.1rem;color:rgba(18,18,18,.9);appearance:none}
.field__input:focus{outline:0;box-shadow:0 0 0 .2rem rgba(18,18,18,.9)}
.field__input::placeholder{opacity:0}
.field__label{position:absolute;left:1.6rem;top:50%;transform:translateY(-50%);font-size:1.6rem;line-height:1.5;letter-spacing:.1rem;color:rgba(18,18,18,.75);pointer-events:none;transition:top .1s ease,font-size .1s ease}
.field__input:focus~.field__label,.field__input:not(:placeholder-shown)~.field__label{top:1.1rem;font-size:1rem;letter-spacing:.04rem;transform:none}
.field__input:focus,.field__input:not(:placeholder-shown){padding:2.2rem 1.5rem .8rem}
.text-area{min-height:10rem;resize:none}
/* Newsletter section (Shrine, measured: pad 68/90/52, h2 39/48 center, p 16/28.8, input 358x45, button 360x49) */
.newsletter{text-align:center}
.newsletter__wrapper{padding:51px 15px 39px;background:#fff}
@media screen and (min-width:750px){.newsletter__wrapper{padding:68px 90px 52px}}
.newsletter__wrapper h2{font-size:3.9rem;line-height:1.23;margin:0}
@media screen and (max-width:749px){.newsletter__wrapper h2{font-size:2.925rem}}
.newsletter__subheading{max-width:70rem;margin:2rem auto 0}
.newsletter__subheading p{margin:0}
.newsletter-form{display:flex;justify-content:center;margin-top:2rem}
.newsletter-form__field-wrapper{width:100%;max-width:36rem}
.newsletter-form .button{width:100%;margin-top:1rem}
/* Shrine page title + section padding (measured: section pad 36 desktop / 27 mobile, h1 55.25/68 centered, 40 below) */
.main-page-title{text-align:center;margin:0 0 4rem}
.section-page-padding{padding-top:27px;padding-bottom:27px}
@media screen and (min-width:750px){.section-page-padding{padding-top:36px;padding-bottom:36px}}
