*{
  z-index:1;
}

/* manage positioned elements from falling offscreen, hide scrolls */
body{
  min-height:100vh;
  width:calc(100vw - 10px);
  overflow-x: hidden;
  line-height:1.4;
}
.scroll-manager{
  width: 100%;
  overflow-x: hidden;
}

/* style scrollbars */
body::-webkit-scrollbar-track{
  background-color:transparent;
  transition:.15s;
}
*::-webkit-scrollbar{
  width: 10px;
  background-color:transparent;
  transition:.15s;
}
*::-webkit-scrollbar-thumb{
  background-color: var(--accent-gold);
  border-radius:50px;
  transition:.15s;
}

/* banners */
.banner{
  position: fixed;
  left: 0;
  z-index: 900;
  top: 0;
  width: 100%;
  background-color: #db2a2a;
  color: white;
  padding: 15px 20px;
  font-size: 12px;
}


/*  */
/* page-header */
/* in header-styles.css */
/*  */


/*  */
/* page-content */
/*  */

/* page content sections */
#page-content{
  padding:40px 50px;
  font-size:1em;
}
/* hero styles included in other stylesheet */

section{
  /* height:100vh; */
  /* move to only apply to massive screensizes.? */
  /* max-height:1000px; */
  min-height:100vh;
  padding:50px 0;
}
/* sub sections */
/* sub nav styles for show/hiding content included in services stylesheet */
.section-sub-content section{
  padding:0;
  padding-top:10px;
  margin-bottom:65px;
  /* min-height:calc(100vh - 260px); */
}
.section-sub-content section:last-child{
  margin-bottom:0;
}
section section{
  min-height:auto;
}

.section-col{
  margin-right: 30px;
}
.section-col:last-child{
  margin-right:0;
}

/* hero titles */
h1{
  margin-bottom:50px;
}
/* sub titles (headers on sections of page) */
h2{
  margin-bottom:30px;
}
/*  */
h3{}
/* item titles on services page */
h4{
  /* margin-bottom:10px; */
}
h5{}
/* prices in titles */
h6{
  margin-bottom:10px;
}

iframe{
  border:none;
  width:100%;
  height:100%;
}
table{

}
td{
  padding-right:30px;
  padding-bottom:10px;
}
tr{

}



/* shared colors and shapes */
[class*="circle"]{
  border-radius:50%;
}
.trans{
  color: transparent;
}
.yellow{
  color:var(--accent-gold);
}
.green{
  color:var(--accent-green);
}
.cyan{
  color:var(--accent-cyan);
}
.purple{
  color:var(--accent-purple);
}
.grey{
  color: currentColor;
  opacity:.8;
}
.inactive-text{
  color:#cccccc;
  /* color:var(--foreground); */
}


/* accordions */
.accordion-col{
  margin-right:40px;
}
.accordion-col:last-child{
  margin-right:0;
  margin-bottom:0;
}
.accordion-col h3{
  margin-bottom:30px;
}
.accordion-container{
  border:1px solid transparent;
  box-shadow:0 0 0 transparent;
  border-radius:8px;
  margin-bottom:10px;
  transition:.35s;
  position:relative;
  top:0;
}

@media (hover: hover) and (pointer: fine) {
  .accordion-container:hover{
    border-color: #e3e3e3;
  }
}
.selected.accordion-container{
  border-color: #e3e3e3;
  box-shadow:0px 8px 17px -8px rgb(0 0 0 / 10%);
  margin-bottom:20px;
  top:-5px;
}
/* dark mode changes */
.dark-mode .selected.accordion-container{
  box-shadow:0px 8px 17px -8px rgb(0 0 0 / 20%);
}
/*system mode, dark mode styles*/
@media (prefers-color-scheme: dark) {
	.system-mode .selected.accordion-container{
    box-shadow:0px 8px 17px -8px rgb(0 0 0 / 20%);
  }
}
.accordion-header{
  border:1px solid transparent;
  cursor:pointer;
  padding:20px;
  user-select: none;
}
.selected > .accordion-header{
  font-weight:bold;
}
.accordion-arrow{
  margin-left:20px;
}
.accordion-arrow:after{
  content:"";
  display:block;
  position:relative;
  transition:.5s;
  border-top:8px solid currentColor;
  border-right:6px solid transparent;
  border-left:6px solid transparent;
  border-bottom:0 solid currentColor;
}
.selected > .accordion-header .accordion-arrow:after{
  transform:rotate(180deg);
}
.accordion-content{
  padding:20px;
  padding-top:0px;
  display:none;
  opacity:0;
}
.selected > .accordion-content{
  opacity:1;
  display:block;
}
/* if I add call to action to accordion */
.accordion-content .button-container{
  margin-top:20px;
}

/* shared toggle switchs */
.toggle-switch-container{
  display:block;
  user-highlight:none;
}
.toggle-switch-container *{
  user-highlight:none;
}
.toggle-switch-container input{
  opacity:0;
  position:absolute;
  width:0;
  height:0;
}
.toggle-switch{
  user-select:none;
  position:relative;
  cursor:pointer;
  width:100%;
  min-width:250px;
  border-radius:50px;
  border:2px solid var(--light);
  background-color:var(--dark);
  color:var(--light);
  padding:10px 0;
  overflow:hidden;
  height:46px;
}
.toggle-switch-knob{
  position:absolute;
  z-index:2;
  top:3px;
  left:3px;
  height:36px;
  width:50%;
  border-radius:50px;
  box-shadow:0px 8px 17px -8px rgb(0 0 0 / 40%);
  backdrop-filter: invert(100%) contrast(100);
  transition:.35s;
  overflow:hidden;
}
input:checked ~ .toggle-switch .toggle-switch-knob{
  left:calc(50% - 3px);
  animation:liquidToggle .35s;
}
@keyframes liquidToggle{
  0%{
    width:50%;
  }
  35%{
    width:65%;
  }
  100%{
    width:50%;
  }
}

/* call to actions (large icon buttons to call and email) */
.call-to-action-container{
  margin-top:50px;
}
.call-to-action{
  margin-right:30px;
}
.call-to-action:last-child{
  margin-right:0px;
}
.call-to-action-icon{
  width:80px;
  height:80px;
}

/* responsive styles */
@media only screen and (max-width: 890px){
  .call-to-action-container{
    margin-top:30px;
    margin-bottom:30px;
  }
}

/*  */


/*  */
/* page-footer (true-footer & carbon-footer) */
/* in footer-styles.css */
/*  */


/* responsive styles */
@media only screen and (max-width:1200px){
  section{
    /* height:100%; */
    /* min-height:100vh; */
    /* max-height:none; */
  }
}
@media only screen and (max-width: 890px){
  /* section with call to action buttons (call and email) */
  .contact-section .max-width-section{
    flex-wrap:wrap;
  }

  .section-col-container{
    flex-wrap:wrap;
  }
  .section-col{
    margin-right:0;
    margin-bottom: 30px;
  }
  #services .section-col{
    margin-bottom:20px;
    margin-right:0;
  }
  /* icon buttons in footer, eco-footer */
  .ui-icon{
    width:35px;
    height:35px;
  }
}
@media only screen and (max-width:820px){
  .accordion-group{
    flex-wrap:wrap;
  }
  .accordion-col{
    margin-right:0;
    margin-bottom:30px;
  }
}



/* mobile styles */
/* change padding on page, remove scrollbars */
@media only screen and (max-width:540px){
  #page-content{
    padding:35px;
  }
  h1{
    text-align:center;
    font-size:3em;
  }
  h2{
    text-align:center;
    font-size: 2.5em;
  }
  /* table{
    width:100%;
  }
  td{
    width:50%;
  } */

  body{
    width:100vw;
  }
  *::-webkit-scrollbar{
    width: 0px;
    display:none;
  }
  *{
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
}
/* really narrow screens */
@media only screen and (max-width:300px){
  #page-content{
    padding:35px 20px;
  }
}
