/**
 * ++++++++++++++++++++++
 * Add-to-Calendar Button
 * ++++++++++++++++++++++
 *
 * Style: Default
 *
 * Version: 1.14.4
 * Creator: Jens Kuerschner (https://jenskuerschner.de)
 * Project: https://github.com/add2cal/add-to-calendar-button
 * License: MIT with “Commons Clause” License Condition v1.0
 * 
 */

 .atcb {
    display: none;
  }
  
  /******************************
   * Global colors and shadows
   */
  
  :root {
    --base-font-size: 16px;
    --atcb-keyboard-focus: #1e90ff;
    --atcb-background: #f5f5f5;
    --atcb-background-2: #fff;
    --atcb-border: #d2d2d2;
    --atcb-text: #333;
    --atcb-text-2: #000;
    --atcb-close-background: #e5e5e5;
    --atcb-close-text: #777;
    --atcb-overlay-background: rgba(20 20 20 / 25%);
    --atcb-modal-btn-background: #f5f5f5;
    --atcb-modal-btn-background-2: #fff;
    --atcb-modal-btn-border: #dfdfdf;
    --atcb-modal-btn-border-2: #d2d2d2;
    --atcb-modal-btn-text: #333;
    --atcb-modal-btn-text-2: #161616;
    --atcb-modal-btn-sec-text: #4f4f4f;
    --atcb-shadow-button: rgba(0 0 0 / 30%) 2px 5px 18px -1px, rgba(0 0 0 / 25%) 2px 2px 10px -3px;
    --atcb-shadow-button-hover: rgba(0 0 0 / 40%) 2px 5px 18px -1px, rgba(0 0 0 / 35%) 2px 2px 10px -3px;
    --atcb-shadow-button-active: rgba(0 0 0 / 50%) 2px 5px 18px -1px, rgba(0 0 0 / 45%) 2px 2px 10px -3px;
    --atcb-shadow-list: rgba(0 0 0 / 20%) 2px 5px 18px -1px, rgba(0 0 0 / 40%) 2px 2px 10px -3px;
    --atcb-shadow-list-modal: rgba(0 0 0 / 60%) 3px 6px 40px -5px, rgba(0 0 0 / 60%) 3px 3px 15px -4px;
    --atcb-shadow-modal: rgba(0 0 0 / 0%) 0 0 0 0, rgba(0 0 0 / 0%) 0 0 0 0, rgba(0 0 0 / 60%) 3px 6px 40px -5px, rgba(0 0 0 / 60%) 3px 3px 15px -4px;
    --atcb-shadow-modal-button: rgba(0 0 0 / 30%) 2px 3px 10px -1px, rgba(0 0 0 / 25%) 2px 2px 8px -3px;
    --atcb-shadow-modal-button-primary: rgba(0 0 0 / 40%) 2px 3px 10px -1px, rgba(0 0 0 / 35%) 2px 2px 8px -3px;
    --atcb-shadow-modal-button-hover: rgba(0 0 0 / 45%) 5px 8px 20px -1px, rgba(0 0 0 / 30%) 2px 4px 10px -3px;
    --bg-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23777' width='16' height='16' viewBox='0 0 122.878 122.88'%3E%3Cpath d='M1.426 8.313a4.87 4.87 0 0 1 0-6.886 4.87 4.87 0 0 1 6.886 0l53.127 53.127 53.127-53.127a4.87 4.87 0 0 1 6.887 0 4.87 4.87 0 0 1 0 6.886L68.324 61.439l53.128 53.128a4.87 4.87 0 0 1-6.887 6.886L61.438 68.326 8.312 121.453a4.87 4.87 0 0 1-6.886 0 4.87 4.87 0 0 1 0-6.886l53.127-53.128L1.426 8.313h0z'/%3E%3C/svg%3E") 16 16, crosshair;
    --icon-ms365-color: #ea3e23;
    --icon-yahoo-color: #5f01d1;
    --icon-filter: none;
  }
  
  /* Dark mode */
  
  .atcb-button-wrapper.atcb-dark,
  body.atcb-dark .atcb-button-wrapper.atcb-bodyScheme,
  .atcb-list.atcb-dark,
  body.atcb-dark .atcb-list.atcb-bodyScheme,
  .atcb-modal-box.atcb-dark,
  body.atcb-dark .atcb-modal-box.atcb-bodyScheme {
    --atcb-background: #2e2e2e;
    --atcb-background-2: #373737;
    --atcb-border: #4d4d4d;
    --atcb-text: #dedede;
    --atcb-text-2: #f1f1f1;
    --atcb-close-background: #282828;
    --atcb-overlay-background: rgba(20 20 20 / 60%);
    --atcb-shadow-button: rgba(255 255 255 / 5%) -12px -5px 20px -8px, rgba(255 255 255 / 6%) -7px -5px 15px -3px, rgba(0 0 0 / 50%) 2px 5px 18px -1px, rgba(0 0 0 / 40%) 3px 3px 20px -3px;
    --atcb-shadow-button-hover: rgba(255 255 255 / 6%) -12px -5px 23px -8px, rgba(255 255 255 / 7%) -7px -5px 18px -3px, rgba(0 0 0 / 60%) 2px 5px 19px -1px, rgba(0 0 0 / 50%) 3px 3px 22px -3px;
    --atcb-shadow-button-active: rgba(255 255 255 / 7%) -12px -5px 23px -8px, rgba(255 255 255 / 8%) -7px -5px 18px -3px, rgba(0 0 0 / 70%) 2px 5px 19px -1px, rgba(0 0 0 / 60%) 3px 3px 22px -3px;
    --atcb-shadow-list: rgba(255 255 255 / 5%) -12px -5px 20px -8px, rgba(255 255 255 / 6%) -7px -5px 15px -3px, rgba(0 0 0 / 50%) 2px 5px 18px -1px, rgba(0 0 0 / 40%) 3px 3px 20px -3px;
    --atcb-shadow-list-modal: rgba(255 255 255 / 8%) -12px -5px 30px -8px, rgba(255 255 255 / 8%) -7px -5px 15px -3px, rgba(0 0 0 / 60%) 4px 6px 50px -4px, rgba(0 0 0 / 90%) 8px 12px 40px -2px;
    --atcb-shadow-modal: rgba(255 255 255 / 8%) -12px -5px 30px -8px, rgba(255 255 255 / 8%) -7px -5px 15px -3px, rgba(0 0 0 / 60%) 4px 6px 50px -4px, rgba(0 0 0 / 90%) 8px 12px 40px -2px;
    --icon-ms365-color: #ea3e23;
    --icon-yahoo-color: #bebebe;
    --icon-filter: grayscale(.2);
  }
  
  /******************************
   * The triggering button
   */
  
  .atcb-button-wrapper {
    display: inline-block;
    font-size: var(--base-font-size);
    position: relative;
  }
  
  .atcb-button {
    align-items: center;
    background-color: var(--atcb-background);
    border: 1px solid var(--atcb-border);
    border-radius: 6px;
    color: var(--bs-primary);
    cursor: pointer;
    display: flex;
    font-size: 1em;
    font-weight: 600;
    justify-content: center;
    line-height: 1.5em;
    margin: .13em;
    max-width: 350px;
    padding: .65em 1em;
    position: relative;
    text-align: center;
    touch-action: manipulation;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    width: auto;
    z-index: 1;
  }
  
  .atcb-button:focus,
  .atcb-button:hover {
    background-color: var(--atcb-background-2);
    box-shadow: var(--atcb-shadow-button-hover);
  }
  
  .atcb-button:focus-visible {
    outline: 2px solid var(--atcb-keyboard-focus);
  }
  
  .atcb-button.atcb-active:not(.atcb-modal-style, .atcb-dropoverlay),
  .atcb-button.atcb-single:focus,
  .atcb-button.atcb-single:hover {
    background-color: var(--atcb-background-2);
    box-shadow: var(--atcb-shadow-button-active);
    margin: 0;
    padding: .78em 1.13em;
    z-index: 160;
  }
  
  .atcb-button.atcb-active.atcb-dropoverlay {
    min-width: 172px;
    z-index: 150;
  }
  
  /******************************
   * Button Icon (also base for list icons) & Text
   */
  
  .atcb-icon {
    height: 1.2em;
    margin-bottom: .3em;
    margin-right: .65em;
  }
  
  .atcb-icon svg {
    height: 100%;
    fill: var(--atcb-text);
    width: auto;
  }
  
  .atcb-text {
    overflow-wrap: anywhere;
  }
  
  /******************************
   * Options List
   */
  
  .atcb-dropdown-anchor {
    bottom: 4px;
    height: 1px;
    width: 100%;
    opacity: 0;
    position: absolute;
  }
  
  .atcb-list-wrapper {
    box-sizing: border-box;
    padding: 0 4px;
    position: absolute;
    z-index: 150;
  }
  
  .atcb-list-wrapper.atcb-dropoverlay {
    z-index: 160;
  }
  
  .atcb-list {
    border-radius: 0 0 6px 6px;
    box-sizing: border-box;
    box-shadow: var(--atcb-shadow-list);
    color: var(--atcb-text);
    display: block;
    font-family: var(--bs-body-font-family-barlow);
    font-size: var(--base-font-size);
    max-width: 100%;
    position: relative;
    user-select: none;
    width: 100%;
  }
  
  .atcb-list-item {
    align-items: center;
    background-color: var(--atcb-background);
    border: 1px solid var(--atcb-border);
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    font-size: 1em;
    left: 50%;
    line-height: 1.75em;
    padding: .8em;
    text-align: left;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
  }
  
  .atcb-list-item:hover {
    background-color: var(--atcb-background-2);
    color: var(--atcb-text-2);
  }
  
  .atcb-list-item:focus-visible {
    background-color: var(--atcb-background-2);
    color: var(--atcb-keyboard-focus);
    font-size: .95em;
    font-weight: 600;
    outline: none;
  }
  
  .atcb-list-item:last-child {
    border-radius: 0 0 6px 6px;
  }
  
  .atcb-list .atcb-list-item:not(:first-child) {
    border-top-style: none;
  }
  
  .atcb-dropup .atcb-list-item:last-child {
    border-radius: 0;
    padding-bottom: 1.25em;
  }
  
  .atcb-dropup .atcb-list-item:first-child,
  .atcb-dropoverlay .atcb-list .atcb-list-item:first-child,
  .atcb-list.atcb-modal .atcb-list-item:first-child {
    border-radius: 6px 6px 0 0;
  }
  
  .atcb-dropoverlay .atcb-list .atcb-list-item:only-child,
  .atcb-list.atcb-modal .atcb-list-item:only-child {
    border-radius: 6px;
  }
  
  .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child {
    padding-top: 1.25em;
  }
  
  .atcb-dropup .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child,
  .atcb-dropoverlay .atcb-list.atcb-generated-button:not(.atcb-modal) .atcb-list-item:first-child {
    padding-top: .8em;
  }
  
  .atcb-dropoverlay .atcb-list,
  .atcb-list.atcb-modal {
    border-radius: 6px;
  }
  
  .atcb-list.atcb-modal {
    box-shadow: var(--atcb-shadow-list-modal);
  }
  
  .atcb-list-item .atcb-icon {
    margin-bottom: .8em;
    margin-right: .6em;
    width: 1.125em;
  }
  
  .atcb-list-item-close {
    background-color: var(--atcb-close-background);
  }
  
  .atcb-list-item.atcb-list-item-close {
    color: var(--atcb-close-text);
  }
  
  .atcb-list-item-close svg {
    fill: var(--atcb-close-text);
  }
  
  /******************************
   * Icon specifics
   */
  
  .atcb-icon svg.atcb-icon-apple {
    fill: var(--atcb-text);
  }
  
  .atcb-icon svg.atcb-icon-ical {
    fill: var(--atcb-text);
  }
  
  .atcb-icon svg.atcb-icon-ms365 {
    fill: var(--icon-ms365-color);
  }
  
  .atcb-icon svg.atcb-icon-yahoo {
    fill: var(--icon-yahoo-color);
  }
  
  .atcb-icon svg.atcb-icon-google,
  .atcb-icon svg.atcb-icon-msteams,
  .atcb-icon svg.atcb-icon-outlookcom {
    filter: var(--icon-filter);
  }
  
  /******************************
   * Modal
   */
  
  /* we disable scrolling only on small screens - only there, the case is relevant and at the same time, they have no scrollbars and therefore no "jumping" */
  @media only screen and (max-width: 575px) {
    .atcb-modal-no-scroll {
      overflow-y: hidden;
    }
  }
  
  .atcb-modal {
    display: block;
    margin: auto;
    min-width: 250px;
    width: auto;
    position: relative;
    z-index: 150;
  }
  
  .atcb-modal-box {
    background-color: var(--atcb-background-2);
    box-shadow: var(--atcb-shadow-modal);
    color: var(--atcb-text-2);
    cursor: default;
    border-radius: 6px;
    border: 1px solid var(--atcb-border);
    box-sizing: border-box;  
    font-family: Arial, Helvetica, sans-serif;
    font-size: var(--base-font-size);
    line-height: 1.5em;
    padding: 1.25em 1.5em;
    text-align: left;
    user-select: none;
    touch-action: manipulation;
    width: 100%;
    max-width: 32em;
    -webkit-tap-highlight-color: transparent;
  }
  
  .atcb-modal-close {
    cursor: pointer;
    display: inline-block;
    height: 1.125em;
    position: absolute;
    right: 1.25em;
  }
  
  .atcb-modal-close svg {
    height: 100%;
    fill: var(--atcb-close-text);
    width: auto;
  }
  
  .atcb-modal-close:hover {
    opacity: .6;
  }
  
  .atcb-modal-close:focus-visible {
    outline: 2px solid var(--atcb-keyboard-focus);
  }
  
  .atcb-modal-headline {
    align-items: center;
    display: flex;
    font-size: 1.3em;
    font-weight: 600;
    line-height: 1.5em;
    margin: 1.25em .9em;
    text-transform: uppercase;
  }
  
  .atcb-modal-headline-icon {
    height: 1.625em;
    margin-bottom: .125em;
    margin-right: .9em;
  }
  
  .atcb-modal-headline-icon svg {
    height: 100%;
    fill: var(--atcb-text-2);
    width: auto;
  }
  
  .atcb-modal-content {  
    margin: 30px 15px;
  }
  
  .atcb-modal-buttons {
    padding: .9em 0;
    text-align: center;
    width: 100%;
  }
  
  button.atcb-modal-btn,
  a.atcb-modal-btn {
    background-color: var(--atcb-modal-btn-background);
    border: 1px solid var(--atcb-modal-btn-border);
    border-radius: 6px;
    box-shadow: var(--atcb-shadow-modal-button);
    color: var(--atcb-modal-btn-sec-text);
    cursor: pointer;
    display: inline-block;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1em;
    font-weight: 600;
    line-height: 1.5em;
    margin: .625em;
    padding: .625em 1.25em;
    position: relative;
    text-align: center;
    text-decoration: none;
    touch-action: manipulation;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }
  
  button.atcb-modal-btn.atcb-modal-btn-primary,
  a.atcb-modal-btn.atcb-modal-btn-primary {
    border: 1px solid var(--atcb-modal-btn-border-2);
    box-shadow: var(--atcb-shadow-modal-button-primary);
    color: var(--atcb-modal-btn-text);
  }
  
  button.atcb-modal-btn:hover,
  a.atcb-modal-btn:hover {
    background-color: var(--atcb-modal-btn-background-2);
    box-shadow: var(--atcb-shadow-modal-button-hover);
    color: var(--atcb-modal-btn-text-2);
    text-decoration: none;
  }
  
  button.atcb-modal-btn:focus-visible,
  a.atcb-modal-btn:focus-visible {
    background-color: var(--atcb-modal-btn-background-2);
    outline: 2px solid var(--atcb-keyboard-focus);
  }
  
  /******************************
   * Background Overlay
   */
  
  #atcb-bgoverlay {
    animation: atcb-bgoverlay-animate 0.1s ease 0s 1 normal forwards;
    backdrop-filter: blur(2px);
    background-color: var(--atcb-overlay-background);
    box-sizing: border-box;
    display: flex;
  
    /* could become simply 100dvh in the future - with regular padding then */
    height: calc(100vh + 100px);
    left: 0;
    right: 0;
    top: 0;
    min-height: 100%;
    min-width: 100%;
    opacity: 0;
    overflow-y: auto;
    padding: 30px 20px 130px;
    position: fixed;
    width: 100vw;
    z-index: 120;
  }
  
  #atcb-bgoverlay.atcb-animate-bg {
    animation: atcb-bgoverlay-animate 0.3s ease 0s 1 normal forwards;
  }
  
  #atcb-bgoverlay.atcb-no-bg {
    animation: none;
    backdrop-filter: none;
    opacity: 0;
  }
  
  @keyframes atcb-bgoverlay-animate {
    0% {
      opacity: 0;
    }
  
    100% {
      opacity: 1;
    }
  }
  
  #atcb-bgoverlay.atcb-click:hover {
    cursor: var(--bg-cursor);
  }
  