:root {
  --stericycle-green: #00965e;
  --stericycle-jungle: #00857a;
  --stericycle-meadow: #00ab9c;
  --stericycle-sunshine: #ffba3c;
  --stericycle-midnight: #1a242b;
  --stericycle-snowcap: #e5eded;
  --stericycle-smoke: #58595b;

  --themecolor: var(--stericycle-jungle);

  --text-color-title: #333;
  --text-color-heading: #444;
  --text-color-body: #555;
}

main#maincontent a,
.menu-item:hover > .menu-link,
.sub-menu-container .menu-item:hover > .menu-link {
  color: var(--stericycle-jungle);
}
main#maincontent a:hover {
  color: var(--text-color-body);
}
@media (min-width: 992px) {
  .sub-menu-container {
    border-top-color: var(--stericycle-jungle);
  }
}

.post-timeline .entry:hover .entry-timeline,
.post-timeline .entry:hover .timeline-divider {
  color: var(--stericycle-jungle);
  border-color: var(--stericycle-jungle);
}
.postcontent .post-timeline .entry-timeline,
.postcontent .post-timeline .timeline-divider,
.postcontent .post-timeline::before {
  color: var(--text-color-body);
  border-color: var(--text-color-body);
}

a:focus,
button:not(.accordion-button):focus,
.tagcloud a:focus,
.social-icon:focus,
.social-icon:focus i {
  background-color: var(--stericycle-sunshine) !important;
  color: var(--stericycle-midnight) !important;
}

.fpm-green {
  color: var(--stericycle-green);
}

.tagcloud a {
  color: var(--text-color-body) !important;
}

#page-title {
  padding: 2rem;
}

.text-truncate-2 {
  -webkit-line-clamp: 2;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.entry-full-link {
  position: static;
}
.entry-full-link:before {
  content: '';
  position: absolute;
  inset: 0 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.entry-recruitment {
  background-color: var(--stericycle-jungle) !important;
}

.entry-recruitment:not(:focus) h2,
main#maincontent .entry-recruitment:not(:focus) h2 a,
.entry-recruitment:not(:focus) p,
.entry-recruitment:not(:focus) .entry-content,
.entry-recruitment:not(:focus) .entry-meta li {
  color: white;
}

.btn {
  --button-background-color: var(--stericycle-jungle);
  --button-text-color: white;

  background-color: var(--button-background-color) !important;
  color: var(--button-text-color) !important;
}
.btn:hover {
  --button-background-color: var(--stericycle-midnight);
}
.entry-recruitment .btn {
  --button-background-color: var(--stericycle-midnight);
}
.entry-recruitment .btn:hover {
  --button-background-color: var(--stericycle-smoke);
}

.umbraco-forms-fieldset {
  background-color: white;
  border-radius: 0.5rem;
  padding: 1.5rem !important;
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}
#respond .umbraco-forms-fieldset {
  border: 1px solid #e5e5e5 !important;
}

.surrounding-borders .form-block .umbraco-forms-fieldset,
.column-borders .form-block .umbraco-forms-fieldset {
  padding: 0 !important;
  box-shadow: none;
  border-radius: 0;
}

.form-block .umbraco-forms-form {
  padding-block: 0;
}

.form-block form {
  margin-bottom: 0;
}

.btn.primary {
  padding: 8px 26px;
  font-size: 1rem;
  line-height: 30px;
  background-color: var(--stericycle-jungle);
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: none;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}

.umbraco-forms-form .umbraco-forms-navigation {
  padding: 0 !important;
}

.form-check-input {
  cursor: pointer;
}

.fa-x-twitter {
  line-height: inherit;
}
.si-x-twitter:hover,
.si-colored.si-x-twitter {
  background-color: black;
}

.radiobuttonlist,
.checkboxlist {
  display: grid !important;
  padding: 0 !important;
  grid-template-columns: min-content 1fr;
  column-gap: 8px;
  width: 100%;
}

.radiobuttonlist input,
.checkboxlist input {
  margin-bottom: 10px;
}

.radiobuttonlist br,
.checkboxlist br {
  display: none;
}

.field-validation-error {
  display: block;
}

.umbraco-forms-form .form-group textarea,
.umbraco-forms-form .form-group input.text {
  max-width: none !important;
  width: 100% !important;
}

.umbraco-forms-form .form-group select {
  padding-block: 5px;
  width: 100%;
  margin: 0;
}

.form-group.dataconsent .umbraco-forms-field-wrapper input[type='checkbox'] {
  margin-right: 8px;
}

.rich-text-block *:last-child {
  margin-bottom: 0;
}

.services-grid .services-grid-icon {
  display: flex;
  font-size: 210px;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(20%, 10%);
  opacity: 0.1;
}

.button-cta:hover:not(:focus) {
  background-color: var(--stericycle-smoke) !important;
  color: white !important;
}

.approved-background-colour-item {
  background-color: var(--approved-background-colour, var(--stericycle-snowcap)) !important;
}
.approved-text-colour-item {
  color: var(--approved-text-colour, var(--stericycle-midnight)) !important;
}
.approved-colour-item {
  color: var(--approved-text-colour, var(--stericycle-midnight)) !important;
  background-color: var(--approved-background-colour, var(--stericycle-snowcap)) !important;
}
.approved-colour-item .headline-block,
.approved-text-colour-item .headline-block {
  color: inherit !important;
}
.approved-colour-item .rich-text-block *,
.approved-text-colour-item .rich-text-block * {
  color: inherit;
}
.approved-colour-item .counter-block *,
.approved-text-colour-item .counter-block * {
  color: inherit !important;
}

.dark #copyrights,
#footer.dark #copyrights .social-icon:not(:focus),
.dark .copyright-links a:not(:focus) {
  color: var(--stericycle-snowcap) !important;
}

.entry-meta li {
  color: var(--text-color-body);
}

.blog-post-meta.entry-meta li {
  color: var(--stericycle-jungle);
}
.blog-post-meta.entry-meta li::before {
  opacity: 1;
}

.tagcloud-filter .tagcloud {
  display: inline;
}
.tagcloud-filter .tagcloud.level-1 .radio-tag label {
  transform: translateY(40%);
}
.tagcloud .radio-tag input {
  display: none;
}
.tagcloud .radio-tag input:focus + label {
  background-color: var(--stericycle-sunshine) !important;
  color: var(--stericycle-midnight) !important;
  border-color: var(--stericycle-midnight) !important;
}
.tagcloud .radio-tag label {
  transition: all 0.3s ease-in-out;
}
.tagcloud .radio-tag input:checked + label,
.tagcloud .radio-tag label:hover {
  border-color: var(--stericycle-jungle);
  color: var(--stericycle-jungle);
}
.tagcloud .radio-tag label {
  border: 1px solid #e5e5e5;
  padding: 3px 6px;
  font-weight: normal;
  text-transform: none;
  font-family: inherit;
  letter-spacing: normal;
}

/* align last CTA item to bottom of service grid if exists */
.services-grid-content .umb-block-grid__layout-container {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.services-grid-content
  .umb-block-grid__layout-container
  .umb-block-grid__layout-item[data-content-element-type-alias='cta']:last-child {
  flex: 1;
  display: flex;
  align-items: flex-end;
}

ul,
ol {
  padding-inline-start: 40px;
}

.author-summary-name {
  color: var(--stericycle-jungle);
}
h3 > span:not(.nocolor):not(.badge) {
  color: var(--stericycle-jungle);
}

#page-title .breadcrumb {
  position: static !important;
  margin: 0 !important;
  transform: none;
}

main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main p,
main ul {
  margin-bottom: 1rem;
}

.min-h-100-vmin {
  min-height: 100vmin !important;
}

.skip-link {
  position: absolute;
  margin: 0.5rem;
  padding: 0.5rem;
  left: -9999px;
}
.skip-link:focus {
  left: 0;
  z-index: 999;
}

.iconlist > li [class^='icon-'] {
  color: inherit !important;
}

.social-icon {
  transition: none !important;
}
.social-icon i {
  transition-property: margin-top !important;
}

#page-title span {
  color: var(--text-color-body);
}

.page-link {
  color: var(--stericycle-jungle);
}
.page-item.active .page-link,
.page-link:hover,
.page-link:focus {
  background-color: var(--stericycle-jungle) !important;
  border-color: var(--stericycle-jungle) !important;
}

#logo {
  flex: 1;
  border-right: none !important;
}
#footerlogo {
  height: 75px;
}

#logo a,
#logo img,
#footerlogo img {
  max-width: min(300px, 100%);
  object-fit: contain;
}

#page404 main {
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.entry-button {
  flex: 1;
  display: grid;
}
.entry-button .btn {
  place-self: end;
}

@media (min-width: 992px) {
  .accordion .accordion-heading {
    display: none;
  }
  .accordion .accordion-collapse {
    display: block !important;
  }
}
.accordion {
  --bs-accordion-btn-color: inherit;
  --bs-accordion-color: inherit;
  --bs-accordion-active-color: inherit;
  --bs-accordion-active-bg: inherit;
  --bs-accordion-btn-focus-box-shadow: none;
  --bs-accordion-border-width: 0;
  --bs-accordion-btn-active-icon: var(--bs-accordion-btn-icon);
}

.object-cover {
  object-fit: cover;
}

.event-meta .iconlist [class^='icon-'] {
  color: var(--stericycle-jungle) !important;
}

.switch {
  width: fit-content;
  transform: scale(0.75);
  transform-origin: left;
}
@media (min-width: 992px) {
  .switch {
    transform-origin: right;
  }
}
input.switch-toggle-round:checked + label::before {
  background-color: var(--stericycle-jungle);
}

.umb-block-grid__layout-container {
  grid-auto-rows: auto !important;
}

.badge-jungle {
  color: var(--stericycle-jungle);
  border: var(--stericycle-jungle) 1px solid;
}

/* Bit of a dirty CSS hack to have 'list-style-type: checked' show checkmarks */
/* Could have done this directly in the appsettings.json but then the TinyMCE tooltip would show '\2714\0020' rather than 'Checked' */
/* This is duplicated in ./rich-text-editor.css so the checkmarks are visible in the editor */
/* Wouldn't be surprised if theres a better way to do this... */
ul[style='list-style-type: checked;'] li {
  list-style-type: '\2714\0020';
}

/* give first/last grid items padding instead of using wrapper to avoid whitespace  */
.content-grid-master > .umb-block-grid > .umb-block-grid__layout-container > .umb-block-grid__layout-item:first-child > div {
  margin-top: 0;
  padding-top: 80px;
}
.content-grid-master > .umb-block-grid > .umb-block-grid__layout-container > .umb-block-grid__layout-item:last-child > div {
  margin-bottom: 0;
  padding-bottom: 80px;
}

/* using margin to seperate items instead of gap as you can't colour or remove specific grid gaps */
.umb-block-grid > .umb-block-grid__layout-container > .umb-block-grid__layout-item:not(:first-child) {
  margin-top: 1.5rem;
}
/* remove margin from section items that follow other seciton items*/
.umb-block-grid
  > .umb-block-grid__layout-container
  > .umb-block-grid__layout-item[data-content-element-type-alias='section']
  + .umb-block-grid__layout-item[data-content-element-type-alias='section'] {
  margin-top: 0;
}

.feature-box .fbox-icon i {
  background-color: var(--stericycle-jungle);
  background-image: linear-gradient(135deg,rgba(255,255,255,.1) 50%,rgba(255,255,255,0) 50%);
}
.fbox-plain .fbox-icon i {
  color: var(--text-color-title);
}
.counter {
  color: var(--stericycle-jungle);
}

.pricing-block .counter {
  color: var(--approved-background-colour);
}
.pricing-block .iconlist [class^='icon-'] {
  color: var(--approved-background-colour) !important;
}

main ul ul,
main ol ol {
  margin-bottom: 0;
}

.container .container {
  padding-inline: 0;
}

.image-block-rounded {
  border-radius: 0.5rem;
}
/* slightly smaller border-radius for rounded images inside bordered layouts */
.column-borders .image-block-rounded,
.surrounding-borders .image-block-rounded {
  border-radius: var(--bs-border-radius);
}
.image-block-circular {
  border-radius: 50%;
}
.ratio.ratio-9x16 {
  --bs-aspect-ratio: calc(16 / 9 * 100%);
}
.ratio.ratio-3x4 {
  --bs-aspect-ratio: calc(4 / 3 * 100%);
}

/* Correct alignmenty of checkboxes on umbraco forms - #1309 */

.umbraco-forms-form .checkboxlist {
    grid-template-columns: none;
    overflow: hidden;
}

.umbraco-forms-form .radiobuttonlist {
    grid-template-columns: none;
    overflow: hidden;
}
.umbraco-forms-form input[type="checkbox"] {
    float: left;
    margin-right: 0.5em;
    margin-top: 0.2em;
}

.umbraco-forms-form .checkboxlist.checkboxlist-vertical label {
    clear: none;
}
/* End of #1309 */
