/* Type */

/* Adobe Typekit 


font-family: 'ivystyle-sans', sans-serif; 
font-weight:300; 
font-weight:400; 
font-weight:400;  font-style:italic;
NO 500
font-weight:600; 
font-weight:600;  font-style:italic;
font-weight:700; 
font-weight:700;  font-style:italic;


font-family: 'ivyora-text', serif;
font-weight:300; 
font-weight:300;  font-style:italic;
font-weight:400; 
font-weight:400;  font-style:italic;
no 500
font-weight:600; 
font-weight:600;  font-style:italic;
font-weight:700; 
font-weight:700;  font-style:italic;
*/

html {
  font-size: 16px; 
  font-size: clamp(16px, 1rem + 0.4vw, 20px);
}

/*
320px (small mobile): ~16px (at minimum)
480px (large mobile): ~17.9px
768px (tablet): ~19.1px
1000px+ (desktop): 20px (maxed out) 125% larger
*/

body {
  font-family: 'ivystyle-sans', sans-serif;
  font-optical-sizing: auto; 
  line-height:1.5;
}

.text-serif { font-family: 'ivyora-text', serif; }

/* global typography */

h1,h2,h3,h4,h5,h6 { text-wrap:balance; color:inherit; }

h1 { font-size: 2.75rem; line-height:1.25; font-weight:400; text-transform:uppercase; margin-top:0px; margin-bottom: 1rem; }
h2 { font-family: 'ivyora-text', serif; font-style:italic; font-size: 1.8rem; line-height:1.16; font-weight:400; margin-top:1rem; margin-bottom: 1rem; }
h3 { font-size: 1.25rem; line-height:1.5; text-transform:uppercase; font-weight:700; letter-spacing:0.050rem; } 

h2.on-detail { color:inherit; }
h2.on-detail { font-family: 'ivystyle-sans', sans-serif; font-style:normal; font-size: 0.85rem; font-weight:700; margin-top:1.5rem; margin-bottom: 1rem; text-transform:uppercase; letter-spacing:0.050rem; }

p, li { font-size:1rem; }
li { margin-bottom:0.25rem; } /* I like to differentiate between line height and items */
p.intro,p.lead { font-family: 'ivyora-text', serif; font-style:italic; font-weight:inherit; font-size:1.3rem; }

label { color:inherit; }

hr { margin-top: 1rem; margin-bottom: 1rem; border: 0; border-top-color: currentcolor; border-top-style: none; border-top-width: 0px; border-top: 1px solid rgba(0,0,0,.1); opacity:1; }

hr.clearing-spacer { clear:both; background-color:inherit; border:0px; opacity:1; }

a { color:inherit; text-decoration:underline; }
a:hover { color:inherit; text-decoration:underline; }


.bg-rounded { border-radius:0.5rem; overflow:hidden; }

/* buttons */

.btn-brand { 
  background-color:var(--cms-blue);
  border:1px solid var(--cms-blue); 
  color:var(--cms-blue-light);  
  font-size:0.8rem; font-weight:400; text-transform:uppercase; letter-spacing:0.050rem; 
  margin: 4px 2px 4px 0px; 
  padding: .375rem .75rem; 
  transition:var(--cty-transition-hover); 
  text-decoration:none; 
}
.btn-brand:hover { 
  background-color:var(--cms-blue); 
  border-color:var(--cms-blue); 
  color:white; 
  text-decoration:none; 
}

.btn-outline-brand { 
  background-color:inherit; 
  border:1px solid var(--cty-abtnlink); 
  color:var(--cty-abtnlink); 
  font-size:0.8rem; font-weight:400; text-transform:uppercase; letter-spacing:0.050rem; 
  margin: 4px 2px 4px 0px; 
  padding: .375rem .75rem; 
  transition:var(--cty-transition-hover);  
  text-decoration:none; 
}
.btn-outline-brand:hover { 
  background-color:var(--cty-abtnhover); 
  border-color:var(--cty-abtnhover); 
  color:white; 
  text-decoration:none; 
}

.btn-brand-pill { 
  background-color:var(--cty-abtnlink); 
  border:1px solid var(--cty-abtnlink);  
  color:white; 
  font-size:0.8rem; font-weight:400; text-transform:uppercase; letter-spacing:0.050rem; 
  border-radius:20px; 
  margin: 4px 2px 4px 0px; 
  padding: .275rem 1rem; 
  transition:var(--cty-transition-hover);  
  text-decoration:none; 
}
.btn-brand-pill:hover {  
  background-color:var(--cty-abtnhover); 
  border-color:var(--cty-abtnhover); 
  color:white; 
  text-decoration:none; 
}

.btn-outline-brand-pill { 
  background-color:inherit; 
  border:1px solid var(--cty-abtnlink); 
  color:var(--cty-abtnlink); 
  font-size:0.8rem; font-weight:400; text-transform:uppercase; letter-spacing:0.050rem; 
  border-radius:20px; 
  margin: 4px 2px 4px 0px; 
  padding: .275rem 1rem; 
  transition:var(--cty-transition-hover);  
  text-decoration:none; 
}
.btn-outline-brand-pill:hover { 
  background-color:var(--cty-abtnhover); 
  border-color:var(--cty-abtnhover); 
  color:white; 
  text-decoration:none; 
}

.btn-naked { 
  color:inherit; 
  text-transform:none; 
  letter-spacing:none;
  font-family: 'ivyora-text', serif; font-style:italic; font-size: 1.8rem; line-height:1.16; font-weight:400; 
  margin: 0; 
  padding: 0; 
  transition:var(--cty-transition-hover);  
  text-decoration:none;
}
.btn-naked:hover { 
  color:inherit; 
  text-decoration:none;
}


.btn-brand-domino { 
  background-color:var(--cty-abtnlink); 
  border:1px solid var(--cty-abtnlink);  
  color:white; 
  font-size:0.8rem; font-weight:400; text-transform:uppercase; letter-spacing:0.050rem; 
  border-radius:20px; 
  margin: 4px 2px 4px 0px; 
  padding: .275rem 1rem; 
  transition:var(--cty-transition-hover);  
  text-decoration:none; 
}
.btn-brand-domino:hover {  
  background-color:var(--cty-abtnhover); 
  border-color:var(--cty-abtnhover); 
  color:white; 
  text-decoration:none; 
}







.add-arrow::after {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  content: "\f178";
  padding-left:8px;
}
.add-angle::after {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 6 Pro";
  font-weight: 400;
  content: "\203a";
  padding-left:8px;
}




/* section filters */

.btn-section-filters { margin:1rem 0; }
.btn-section-filters ul { list-style:none; margin:0; padding:0; text-wrap:balance; }
.btn-section-filters li { display:inline; margin:0; padding:0; }
.btn-section-filters a {
  display:inline-block;
  text-decoration: none;
  font-size:0.7rem; 
  line-height:1.5;
  color:var(--cms-blue);
  background-color:transparent; 
  border:1px solid var(--cms-teal);
  transition:var(--cty-transition-hover); 
  border-radius:16px; 
  padding:3px 12px; 
  white-space: nowrap;
  margin:4px 3px;
  text-transform:uppercase; 
  letter-spacing:0.050rem; 
  font-weight:600;
}
.btn-section-filters a:hover { 
  background-color:var(--cms-blue-medium);  
  border-color:var(--cms-blue-medium); 
  color:white; 
  text-decoration: none; 
}
.btn-section-filters a.selected { 
   background-color:var(--cms-blue-medium);  
  border-color:var(--cms-blue-medium);  
  color:white; 
}