/* citylight v10 */

:root {
  
  --cty-default-bg: white; /* default background color */
  --cty-default-fg: #212529; /* default foreground color */
  --cty-bg-card: #d6f2cb; 
  --bs-heading-color: inherit; /* bootstrap should just inherit */
       
  --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 */

  --cty-citylight-blue: #e4edff;
  --cty-citylight-navy:#132c50; 

}

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; }


.height-100 { min-height:100px; }
.height-200 { min-height:200px; }
.height-300 { min-height:300px; }
.height-400 { min-height:400px; }
.height-500 { min-height:500px; }
.height-600 { min-height:600px; }
.height-700 { min-height:700px; }
.height-800 { min-height:800px; }

.image-square { width:100%; padding-bottom:100%; }

/* colors */

.text-balance { text-wrap:balance; }

.bg-black { background-color:black; }
.bg-charcoal { background-color:#2f3130; }
.bg-silver { background-color:#fafafa; }
.bg-white { background-color:white; }
.bg-citylight-blue { background-color:var(--cty-citylight-blue); } 
.bg-citylight-navy { background-color:var(--cty-citylight-navy); } 

.fg-black { color:black; }
.fg-charcoal { color:#2f3130; }
.fg-silver { color:#fafafa; }
.fg-white { color:white; }
.fg-citylight-blue { color:var(--cty-citylight-blue); } 
.fg-citylight-navy { color:var(--cty-citylight-navy); } 


.bg-card { background-color:var(--cty-bg-card); }
.fg-card { color:var(--cty-default-fg); }

.bg-card-none { background-color:inherit; padding-left:0px; }

.demo-gradient {
  background: #833AB4;
  background: linear-gradient(13deg,rgba(131, 58, 180, 1) 0%, rgba(253, 29, 29, 1) 50%, rgba(252, 176, 69, 1) 100%);
}
.demo-pattern {
  background-color: #DFDBE5;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 28' width='56' height='28'%3E%3Cpath fill='%239C92AC' fill-opacity='0.47' d='M56 26v2h-7.75c2.3-1.27 4.94-2 7.75-2zm-26 2a2 2 0 1 0-4 0h-4.09A25.98 25.98 0 0 0 0 16v-2c.67 0 1.34.02 2 .07V14a2 2 0 0 0-2-2v-2a4 4 0 0 1 3.98 3.6 28.09 28.09 0 0 1 2.8-3.86A8 8 0 0 0 0 6V4a9.99 9.99 0 0 1 8.17 4.23c.94-.95 1.96-1.83 3.03-2.63A13.98 13.98 0 0 0 0 0h7.75c2 1.1 3.73 2.63 5.1 4.45 1.12-.72 2.3-1.37 3.53-1.93A20.1 20.1 0 0 0 14.28 0h2.7c.45.56.88 1.14 1.29 1.74 1.3-.48 2.63-.87 4-1.15-.11-.2-.23-.4-.36-.59H26v.07a28.4 28.4 0 0 1 4 0V0h4.09l-.37.59c1.38.28 2.72.67 4.01 1.15.4-.6.84-1.18 1.3-1.74h2.69a20.1 20.1 0 0 0-2.1 2.52c1.23.56 2.41 1.2 3.54 1.93A16.08 16.08 0 0 1 48.25 0H56c-4.58 0-8.65 2.2-11.2 5.6 1.07.8 2.09 1.68 3.03 2.63A9.99 9.99 0 0 1 56 4v2a8 8 0 0 0-6.77 3.74c1.03 1.2 1.97 2.5 2.79 3.86A4 4 0 0 1 56 10v2a2 2 0 0 0-2 2.07 28.4 28.4 0 0 1 2-.07v2c-9.2 0-17.3 4.78-21.91 12H30zM7.75 28H0v-2c2.81 0 5.46.73 7.75 2zM56 20v2c-5.6 0-10.65 2.3-14.28 6h-2.7c4.04-4.89 10.15-8 16.98-8zm-39.03 8h-2.69C10.65 24.3 5.6 22 0 22v-2c6.83 0 12.94 3.11 16.97 8zm15.01-.4a28.09 28.09 0 0 1 2.8-3.86 8 8 0 0 0-13.55 0c1.03 1.2 1.97 2.5 2.79 3.86a4 4 0 0 1 7.96 0zm14.29-11.86c1.3-.48 2.63-.87 4-1.15a25.99 25.99 0 0 0-44.55 0c1.38.28 2.72.67 4.01 1.15a21.98 21.98 0 0 1 36.54 0zm-5.43 2.71c1.13-.72 2.3-1.37 3.54-1.93a19.98 19.98 0 0 0-32.76 0c1.23.56 2.41 1.2 3.54 1.93a15.98 15.98 0 0 1 25.68 0zm-4.67 3.78c.94-.95 1.96-1.83 3.03-2.63a13.98 13.98 0 0 0-22.4 0c1.07.8 2.09 1.68 3.03 2.63a9.99 9.99 0 0 1 16.34 0z'%3E%3C/path%3E%3C/svg%3E");}



.bg-pattern-clouds {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 28' width='56' height='28'%3E%3Cpath fill='%23FFFFFF' fill-opacity='0.5' d='M56 26v2h-7.75c2.3-1.27 4.94-2 7.75-2zm-26 2a2 2 0 1 0-4 0h-4.09A25.98 25.98 0 0 0 0 16v-2c.67 0 1.34.02 2 .07V14a2 2 0 0 0-2-2v-2a4 4 0 0 1 3.98 3.6 28.09 28.09 0 0 1 2.8-3.86A8 8 0 0 0 0 6V4a9.99 9.99 0 0 1 8.17 4.23c.94-.95 1.96-1.83 3.03-2.63A13.98 13.98 0 0 0 0 0h7.75c2 1.1 3.73 2.63 5.1 4.45 1.12-.72 2.3-1.37 3.53-1.93A20.1 20.1 0 0 0 14.28 0h2.7c.45.56.88 1.14 1.29 1.74 1.3-.48 2.63-.87 4-1.15-.11-.2-.23-.4-.36-.59H26v.07a28.4 28.4 0 0 1 4 0V0h4.09l-.37.59c1.38.28 2.72.67 4.01 1.15.4-.6.84-1.18 1.3-1.74h2.69a20.1 20.1 0 0 0-2.1 2.52c1.23.56 2.41 1.2 3.54 1.93A16.08 16.08 0 0 1 48.25 0H56c-4.58 0-8.65 2.2-11.2 5.6 1.07.8 2.09 1.68 3.03 2.63A9.99 9.99 0 0 1 56 4v2a8 8 0 0 0-6.77 3.74c1.03 1.2 1.97 2.5 2.79 3.86A4 4 0 0 1 56 10v2a2 2 0 0 0-2 2.07 28.4 28.4 0 0 1 2-.07v2c-9.2 0-17.3 4.78-21.91 12H30zM7.75 28H0v-2c2.81 0 5.46.73 7.75 2zM56 20v2c-5.6 0-10.65 2.3-14.28 6h-2.7c4.04-4.89 10.15-8 16.98-8zm-39.03 8h-2.69C10.65 24.3 5.6 22 0 22v-2c6.83 0 12.94 3.11 16.97 8zm15.01-.4a28.09 28.09 0 0 1 2.8-3.86 8 8 0 0 0-13.55 0c1.03 1.2 1.97 2.5 2.79 3.86a4 4 0 0 1 7.96 0zm14.29-11.86c1.3-.48 2.63-.87 4-1.15a25.99 25.99 0 0 0-44.55 0c1.38.28 2.72.67 4.01 1.15a21.98 21.98 0 0 1 36.54 0zm-5.43 2.71c1.13-.72 2.3-1.37 3.54-1.93a19.98 19.98 0 0 0-32.76 0c1.23.56 2.41 1.2 3.54 1.93a15.98 15.98 0 0 1 25.68 0zm-4.67 3.78c.94-.95 1.96-1.83 3.03-2.63a13.98 13.98 0 0 0-22.4 0c1.07.8 2.09 1.68 3.03 2.63a9.99 9.99 0 0 1 16.34 0z'%3E%3C/path%3E%3C/svg%3E");
}



/* 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; }



/* oly card style */

.oc { background-color:#fafafa; height:100%; }
.oc a { display:block; height:100%; text-decoration:none; color:inherit; }
.oc a:hover { color:inherit; text-decoration:none; }
.oc-image { display:block; }
.oc-image-img { display:block; background-color:#eee; background-size:cover; background-position:center center; }
.oc-content { padding:1.5rem; }

.oc-subhead { font-weight:700; font-size:0.9rem; text-transform:uppercase; margin-bottom:0.5rem; }
.oc-headline { font-weight:700; font-size:1.1rem; margin-bottom:0.5rem; }
.oc-text { font-size:1rem; margin-bottom:0.5rem; }
.oc-html a { display:inline; height:auto; }
.oc-cta { display:inline-block; font-size:0.9rem; text-transform:uppercase; background-color:black; color:white; padding:0.25rem 0.75rem; margin-top:1rem; }
.oc-cta a { color:white; text-decoration:none; }
.oc-cta a:hover { color:white; text-decoration:none; }
.oc-cta span::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"; /* arrow */
  content: "\203a"; /* angle */
  padding-left: 8px;
}
