* {
    outline: none;
    position: relative;
    margin: 0;
    padding: 0;
}
html{
   scroll-behavior: smooth;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
 body{
    margin: 0 auto;
    box-sizing: content-box;
 }
 header, section, footer {
    margin: 0 auto;
    width: 100%;
 }
 button {
    display: inline-block;
    border: none;
    text-decoration: none;
    font-family: sans-serif;
    cursor: pointer;
    text-align: center;
    -webkit-appearance: none;
    -moz-appearance: none;
}
a {
   text-decoration: none;
   color: inherit;
}

section {
   margin: 72px auto!important;
}

@media (max-width: 767px) {
   section {
      margin: 32px auto!important;
   }
}

 .flex-container {
    display: flex;
 }
 .flex-container.column {
   display: flex;
   justify-content: center;
   align-items: center;
    flex-direction: column;
 }
 .flex-container-center {
    display: flex;
    justify-content: center;
    align-items: center;
 }
 .container{
    width: 90%;
    max-width: 1216px;
    margin: 0 auto;
 }

 .grid-container {
    display: grid;
 }

 .row {
   display: flex;
   margin: auto;
}

@media (max-width: 1199px) {
   .row {
      flex-wrap: wrap;
   }
}

 *{
   box-sizing: border-box;
   position: relative;
}

body{
   margin: 0 auto;  
   font-family: var(--font-family-default);
   color: var(--text-color);
   font-size: var(--font-size-md);
}
h1, h2, h3, h4, h5, h6{
   font-family: var(--title-font-family);
}
h1{
   font-size: 2.3em;
} 
h2{
   font-size: 2em;
} 
h3{
   font-size: 1.8em;
} 
h4, h5, h6{
   font-size: 1.2em;
}
p{
   font-size: var(--font-size-md);
   color: var(--text-color);
}
.link{
   color: var(--color-link);
   transition: var(--transition);
}

.link:hover{
   filter: var(--cta-hover-filter);
   opacity: var(--cta-hover-opacity);
}
a img{
   vertical-align: middle;
}

.btn{
   padding: 0;
   border: 0;
   cursor: pointer;
   background-color: transparent;
   font-family: var(--button-font-family);
   font-size: var(--font-size-sm);
   text-decoration: none;
   display: inline-block;
   border-radius: var(--button-radius);
   transition: var(--transition);
   color: var(--text-color)
}
.btn:hover{
   filter: var(--cta-hover-filter);
   opacity: var(--cta-hover-opacity);
}
.btn-md{
   padding: var(--spacing-md);
}
.btn-sm{
   padding: var(--spacing-sm);
   font-size: var(--font-size-xs);
   border-radius: calc(var(--button-radius) / 1.5);
}
.btn-lg{
   padding: var(--spacing-lg) var(--spacing-xg);
   max-width: 100%;
   font-size: var(--font-size-md);
   border-radius: calc(var(--button-radius) * 1.5);
}
.text-xs, .text-sm, .text-md, .text-lg, .text-xg{
   font-family: var(--font-family-text);
}

.text-xs{
   font-size: var(--font-size-xs);
}
.text-sm{
   font-size: var(--font-size-sm);
}
.text-md{
   font-size: var(--font-size-md);
}
.text-lg{
   font-size: var(--font-size-lg);
}
.text-xg{
   font-size: var(--font-size-xg);
}
.text-primary, .text-hover-primary:hover{
   color: var(--color-primary);
}
.text-secondary, .text-hover-secondary:hover{
   color: var(--color-secondary);
}
.text-light, .text-hover-light:hover{
   color: var(--color-light);
}
.text-success, .text-hover-success:hover{
   color: var(--color-success);
}
.text-danger, .text-hover-danger:hover{
   color: var(--color-danger);
}
.text-bold {
   font-weight: bold;
}
.text-underline {
   text-decoration: underline;
}
.text-center {
   text-align: center;
}

.bg-primary, .bg-hover-primary:hover{
   background-color: var(--color-primary);
   color: var(--color-on-primary);
   border:1px solid transparent;
}
.bg-secondary, .bg-hover-secondary:hover{
   background-color: var(--color-secondary);
   color: var(--color-on-secondary);
   border:1px solid transparent;
}
.bg-light, .bg-hover-light:hover{
   background-color: var(--color-light);
   color: var(--color-on-light);
   border:1px solid transparent;
}
.bg-success, .bg-hover-success:hover{
   background-color: var(--color-success);
   color: var(--color-on-success);
   border:1px solid transparent;
}
.bg-danger, .bg-hover-danger:hover{
   background-color: var(--color-danger);
   color: var(--color-on-danger);
   border:1px solid transparent;
}

.outline-primary{
   background-color: var(--color-on-primary);
   color: var(--color-primary);
   border: 1px solid var(--color-primary);
}
.outline-secondary{
   background-color: var(--color-on-secondary);
   color: var(--color-secondary);
   border: 1px solid var(--color-secondary);
}
.outline-light{
   background-color: var(--color-on-light);
   color: var(--color-light);
   border: 1px solid var(--color-light);
}
.outline-success{
   background-color: var(--color-on-success);
   color: var(--color-success);
   border: 1px solid var(--color-success);
}
.outline-danger{
   background-color: var(--color-on-danger);
   color: var(--color-danger);
   border: 1px solid var(--color-danger);
}

.input{
   border: 1px solid var(--color-gray);
   padding: var(--input-spacing);
   font-family: var(--input-font-family);
   color: var(--input-text-color);
}
select.input{
   padding: calc(var(--input-spacing) - 0.05rem);
}
.full{
   width: 100%;
}
.content-left{
   display: flex;
   justify-content: flex-start;
   text-align: left;
}
.content-right{
   display: flex;
   justify-content: flex-end;
   text-align: right;
}
.content-center{
   display: flex;
   justify-content: center;
   text-align: center;
}
.content-evenly {
   display: flex;
   justify-content: space-evenly;
   text-align: center;
}
.content-between {
   display: flex;
   justify-content: space-between;
   text-align: center;
}
.vertical-middle{
   display: flex;
   align-items: center;
}
.vertical-top{
   display: flex;
   align-items: flex-start;
}
.vertical-bottom{
   display: flex;
   align-items: flex-end;
}
.flex-row{
   display: flex;
   flex-direction: row;
}
.flex-column{
   flex-direction: column;
}
.gap-sm {
   gap: var(--spacing-sm);
}
.gap-md {
   gap: var(--spacing-md);
}
.center-margin {
   margin: 0 auto;
}

.a11y{
   height: 1px;
   overflow: hidden;
   position: absolute;
   white-space: nowrap;
   width: 1px;
}

@media screen and (min-width: 1200px) {
   .hide-desktop, .only-mobile, .only-tablet{ 
       display: none; 
   }
}

@media screen and (max-width: 1199px) and (min-width: 768px) {
   .hide-tablet, .only-mobile, .only-desktop{ 
       display: none; 
   }
}

@media screen and (max-width: 1199px) {
   .hide-mobile, .only-tablet, .only-desktop{ 
       display: none; 
   }
   .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{
       width: 100%!important;
   }
}

ul,ol,dl{
   list-style: none;
   padding: 0;
   display: flex;
   /* gap: var(--spacing-md); */
   flex-direction: column;
}
ul.horizontal,ol.horizontal,dl.horizontal{
   flex-direction: row;
}

.col-sm-1{
   width:8.33333%
}
.col-sm-2{
   width:16.66667%
}
.col-sm-3{
   width:25%;
}
.col-sm-4{
   width:33.33333%
}
.col-sm-5{
   width:41.66667%
}
.col-sm-6{
   width:50%
}
.col-sm-7{
   width:58.33333%
}
.col-sm-8{
   width:66.66667%
}
.col-sm-9{
   width:75%
}
.col-sm-10{
   width:83.33333%
}
.col-sm-11{
   width:91.66667%
}
.col-sm-12{
   width:91.66667%
}
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12,
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{
   -webkit-box-flex:0;
   -ms-flex:0 0 auto;
   flex: 0 0 auto;
}
@media screen and (min-width: 850px) {
   .col-lg-1{
       width:8.33333%
   }
   .col-lg-2{
       width:16.66667%
   }
   .col-lg-3{
       width:25%;
   }
   .col-lg-4{
       width:33.33333%
   }
   .col-lg-5{
       width:41.66667%
   }
   .col-lg-6{
       width:50%
   }
   .col-lg-7{
       width:58.33333%
   }
   .col-lg-8{
       width:66.66667%
   }
   .col-lg-9{
       width:75%
   }
   .col-lg-10{
       width:83.33333%
   }
   .col-lg-11{
       width:91.66667%
   }
   .col-lg-12{
       width:100%
   }
}
.wait p,
.wait span,
.wait strong,
.wait em,
.wait li,
.wait a,
.wait h1,
.wait h2,
.wait h3,
.wait h4,
.wait h5,
.wait h6,
.wait.wait-box,
.wait img,
.wait .btn{
   visibility: hidden;
}

@keyframes animate-waited{
   0%{ opacity: 0; }
   100%{ opacity: 1; }
}
.waited p,
.waited span,
.waited strong,
.waited em,
.waited li,
.waited a,
.waited h1,
.waited h2,
.waited h3,
.waited h4,
.waited h5,
.waited h6,
.waited.wait-box,
.waited img,
.waited .btn{
   animation: var(--transition-speed) ease animate-waited;
}
@keyframes animate-waiting{
   0%{ filter: brightness(1) }
   50%{ filter: brightness(0.95) }
   100%{ filter: brightness(1) }
}
.animated-waiting
{
   animation: 1s ease animate-waiting infinite;
}
@media (prefers-reduced-motion) {
   .animated-waiting{
       animation-duration: 0s;
   }
}
.input-group{
   display: flex;
   flex-direction: column;
   padding: var(--spacing-md);
}
.input-group label{
   font-weight: bold;
   font-size: var(--font-size-sm);
}
.input-group label.upper{
   position: absolute;
   z-index: 1;
   top: -1px;
   left: var(--spacing-lg);
   background: white;
   padding: 0 var(--spacing-md);
}