/* citylight v10 */

:root {
  
  --cty-default-bg: white; /* default background color */
  --cty-default-fg: #212529; /* default foreground color */
  --bs-heading-color: inherit; /* bootstrap should just inherit */

  --cty-bg-card: #fafafa; /* default lk and crd background */
       
  --cty-alink: #1976D2; /* primary link color */
  --cty-ahover: #2196F3; /* primary hover color */
  --cty-abtnlink: #146fc8; /* primary link color */
  --cty-abtnhover: #1363b1; /* primary hover color */
  --cty-filterlink: #0c3a69; /* primary link color */
  --cty-filterhover: #08233e; /* primary hover color */
    
  --cty-alert-bg: #cc3300; /* alert background color */
  --cty-alert-txt: white; /* alert text color */
 
  --cty-transition-hover: all 150ms linear 0s; /* as on buttons */

}

body,html {
  height:100%;
  background-color:#eee;
}

#page-wrap {
  position:relative;
  width:100%;
  background-color:var(--cty-default-bg);
  color:var(--cty-default-fg);
}

#page-header { width:100%; }

#page-content { width:100%; }


/* backwards compatible containers */

.container-fluid { padding:0 24px; margin:0 auto; }
.container-fluid-post { padding:0 24px; margin:0 auto; }
.container-fluid-full { padding:0 24px; margin:0 auto; }
.container-fluid-wide { padding:0 24px; margin:0 auto; }
@media screen and (min-width: 992px) {
  .container-fluid { max-width:1440px; padding-left:30px; padding-right:30px; } 
  .container-fluid-post { max-width:1100px; padding-left:30px; padding-right:30px; }
  .container-fluid-wide { max-width:1600px; padding-left:30px; padding-right:30px; }
  .container-fluid-full { max-width:9999px; padding-left:30px; padding-right:30px; }
}
@media screen and (min-width: 1200px) {
  /* can't use % fixed with sidenav */
  .container-fluid { max-width:1440px; padding-left:60px; padding-right:60px; } 
  .container-fluid-post { max-width:1100px; padding-left:60px; padding-right:60px; }
  .container-fluid-wide { max-width:1600px; padding-left:60px; padding-right:60px; }
  .container-fluid-full { max-width:9999px; padding-left:60px; padding-right:60px; }
}


.hold-width { max-width:50rem; margin:0 auto; }
.padding-top { padding-top:2.5rem; }
.padding-top-half { padding-top:1.25rem; }
.padding-bottom { padding-bottom:2.5rem; }
.padding-bottom-half { padding-bottom:1.25rem; }
@media all and (min-width: 992px) {
	.padding-top { padding-top:3rem; }
	.padding-top-half { padding-top:1.5rem; }
	.padding-bottom { padding-bottom:3rem; }
	.padding-bottom-half { padding-bottom:1.5rem; }
}

.hold-sm { max-width:576px; }
.hold-md { max-width:768px; }
.hold-lg { max-width:992px; }
.hold-xl { max-width:1200px; }

.hold-300 { max-width:300px; }
.hold-400 { max-width:400px; }
.hold-500 { max-width:500px; }
.hold-600 { max-width:600px; }
.hold-700 { max-width:700px; }
.hold-800 { max-width:800px; }
.hold-900 { max-width:900px; }
.hold-1000 { max-width:1000px; }
.hold-1100 { max-width:1100px; }
.hold-1200 { max-width:1200px; }
.hold-1300 { max-width:1300px; }
.hold-1400 { max-width:1400px; }
.hold-1500 { max-width:1500px; }
.hold-1600 { max-width:1600px; }
.hold-1700 { max-width:1700px; }
.hold-1800 { max-width:1800px; }
.hold-1900 { max-width:1900px; }
.hold-2000 { max-width:2000px; }
.hold-2100 { max-width:2100px; }
.hold-2200 { max-width:2200px; }
.hold-2300 { max-width:2300px; }
.hold-2400 { max-width:2400px; }


/* colors */

.bg-black { background-color:black; }
.bg-charcoal { background-color:#2f3130; }
.bg-silver { background-color:#fafafa; }
.bg-white { background-color:white; }

.fg-black { color:black; }
.fg-charcoal { color:#2f3130; }
.fg-silver { color:#fafafa; }
.fg-white { color:white; }


/* buttons */

.btn-brand { 
  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.100rem; 
  margin: 4px 2px 4px 0px; 
  padding: .375rem .75rem; 
  transition:var(--cty-transition-hover); 
  text-decoration:none; 
}
.btn-brand:hover { 
  background-color:var(--cty-abtnhover); 
  border-color:var(--cty-abtnhover); 
  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.100rem; 
  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.100rem; 
  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.100rem; 
  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:var(--cty-abtnlink); 
  text-transform:uppercase; 
  letter-spacing:0.050rem; 
  margin: 4px 2px 4px 0px; 
  padding: .375rem 0rem; 
  transition:var(--cty-transition-hover);  
}
.btn-naked:hover { 
  color:var(--cty-abtnhover); 
}


.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.100rem; 
  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.8rem;
  line-height: 1;
  font-weight:700;
  text-transform:none;
  letter-spacing: 0rem;
  color:var(--cty-filterlink);
  background-color:inherit;
  border:1px solid var(--cty-filterlink);
  transition:var(--cty-transition-hover); 
  border-radius:2px;
  padding:0.5rem 0.75rem;
  white-space: nowrap;
  margin:4px 3px;
}
.btn-section-filters a:hover { 
  background-color:var(--cty-filterhover); 
  border-color:var(--cty-filterhover); 
  color:white; 
  text-decoration: none; 
}
.btn-section-filters a.selected { 
  background-color:var(--cty-filterlink); 
  border-color:var(--cty-filterlink); 
  color:white; 
}


/* button group */

.op-button-group { margin:1rem 0; }
.op-button-group button { 
  text-decoration:none; 
  font-size:0.8rem;
  line-height:1;
  font-weight:700;
  text-transform:none;
  letter-spacing: 0rem;
  color:var(--cty-filterlink);
  background-color:inherit; 
  border:1px solid var(--cty-filterlink); 
  transition:var(--cty-transition-hover); 
  border-radius:2px;
  padding:0.5rem 0.75rem;
  white-space: nowrap;
  margin:4px 3px; 
}
.op-button-group button:hover { 
  background-color:var(--cty-filterhover); 
  border-color:var(--cty-filterhover); 
  color:white; 
  text-decoration:none; 
}
.op-button-group button.button-selected { 
  background-color:var(--cty-filterlink); 
  border-color:var(--cty-filterlink); 
  color:white; 
  text-decoration:none; 
}


/* link box */


.lk { display:table; width:100%; margin-bottom:0.75rem; background-color:var(--cty-bg-card); padding:1rem 1rem 0.75rem 1rem; }
.lk a { text-decoration:none; color:inherit; }
.lk a:hover { text-decoration:none; color:inherit; }
.lk-arrow { display:table-cell; width:36px; vertical-align:top; font-size:1rem; line-height:1.5; color:var(--cty-alink); }
.lk-content { display:table-cell; width:auto; vertical-align:top; }
.lk-content-primary { font-size:1rem; font-weight:700; margin-bottom:0.2rem; }
.lk-content-secondary { font-size:0.9rem; }




/* sidenav */

:root { 
  --cty-op-sidenav-bg-content: #ffffff;
  --cty-op-sidenav-bg-nav: #ffffff;
  --cty-op-sidenav-lines: #666;
}

.op-sidenav-bg { width:100%; }
.op-sidenav-container { margin:0 auto; max-width:1640px; } /* match container-fluid width */
.op-sidenav-row { display:block; width:100%; }
.op-sidenav-col-nav { display:block; width:100%; }
.op-sidenav-col-content { display:block; width:100%;  }
@media screen and (min-width: 1200px) {
  .op-sidenav-bg { width:100%; background: linear-gradient(-90deg, var(--cty-op-sidenav-bg-nav) 0%, var(--cty-op-sidenav-bg-nav) 50%, var(--cty-op-sidenav-bg-content) 50%, var(--cty-op-sidenav-bg-content) 100%); }
	.op-sidenav-row { display: flex; flex-direction: row-reverse; width:100%; }
	.op-sidenav-col-nav { display:block; width:25%; padding:60px 60px 60px 30px; }
	.op-sidenav-col-content { display:block; background-color:var(--cty-sidenav-bg-content); width:75%; }
}


.op-sidenav { width:100%; }

.op-sidenav-section { display:table; width:100%; background-color:black; padding:8px 24px; }
.op-sidenav-section-label { display:table-cell; text-align:left; width:auto; vertical-align:top; font-size:18px; line-height:24px; }
.op-sidenav-section-label a { display:block; padding:10px 12px 10px 0px; color:white; font-weight:700; text-transform:uppercase; text-decoration:none; margin-right:40px; }
.op-sidenav-section-label a:hover { color:white; text-decoration:none;  }
.op-sidenav-section-toggle { display:table-cell; text-align:right; width:60px; vertical-align:top; cursor:pointer; color:white; font-size:20px; line-height:24px; }
.op-sidenav-section-toggle a { display:block; padding:10px 2px 10px 12px; color:white; text-decoration:none;  }
.op-sidenav-section-toggle a:hover { color:white; text-decoration:none; }
#SidenavDrawer { display:none; }
@media screen and (min-width: 992px) {
  .op-sidenav-section { padding:10px 30px; } 
}
@media all and (min-width: 1200px) {
  .op-sidenav { max-width:320px; }
  .op-sidenav-section { padding:6px 24px; }
	.op-sidenav-section-label { width:100%; }
	.op-sidenav-section-toggle { display:none;  }
	#SidenavDrawer { display:block!important; }
}

.op-sidenav ul { padding:0; margin:0; background-color:var(--cty-op-sidenav-bg-nav); }
.op-sidenav > ul { border-bottom:1px solid var(--cty-op-sidenav-lines); } 
.op-sidenav li { padding:0; margin:0; list-style:none;  }

.op-sidenav li .li-flex { display:flex; }

.op-sidenav > ul > li { border-bottom:1px solid var(--cty-op-sidenav-lines); }
.op-sidenav > ul > li:last-child { border-bottom:none; }

.op-sidenav li ul { padding-bottom:16px; }
.op-sidenav li ul li { padding:4px 0px; }

.op-sidenav li a {
  display:table;
  width:100%; 
  text-decoration:none;
}

.op-sidenav li.d-open { background-color:var(--cty-pagewrap-bg); }

.op-sidenav li a div.sn-indicator { display:table-cell; width:36px; text-align:left; padding:16px 0px 16px 20px; font-weight:600; font-size:16px; line-height:24px; vertical-align:top; color:var(--cty-pagewrap-bg); }
.op-sidenav li a div.sn-label { display:table-cell; width:auto; text-align:left; padding:16px 20px 16px 0px; font-weight:600; font-size:16px; line-height:24px; vertical-align:top; color:var(--cty-pagewrap-txt); }
.op-sidenav li a div.sn-label-nested { display:table-cell; width:100%; text-align:left; padding:4px 20px 4px 50px; font-weight:600; font-size:16px; line-height:24px; vertical-align:top; color:var(--cty-pagewrap-txt); }
.op-sidenav li a:hover div { color:var(--cty-ahover); }

.op-sidenav li.d-open a div.sn-indicator { color:var(--cty-pagewrap-txt); }
.op-sidenav li.d-selected div.sn-indicator { color:var(--cty-pagewrap-txt)!important; }
.op-sidenav li.d-selected div.sn-label { color:var(--cty-pagewrap-txt); }

.op-sidenav li.d-sub-selected div.sn-label-nested { color:var(--cty-pagewrap-txt)!important; }
