
  .show_hide, .filter_hide { display:none !important; }
  .tools {
    display: flex;
    flex-direction:row;
    align-items: center;
    align-content: stretch;
    justify-content: space-evenly;
    justify-content: start;
    flex-wrap: wrap;
    width:100%;
  }
  .tools_show, .tools_filter {
    display: inline-flex;
    flex-direction:row;
    margin:0;
    padding:0.5em 1em;
    background:white;
    border-radius:1em;
    box-shadow:2px 2px 4px rgba(0,0,0,0.25);
    align-items: center;
    align-content: stretch;
    flex-direction: row;
    gap:0.5em;
    justify-content: space-evenly;
    justify-content: start;
    flex-wrap: nowrap;
  }
  .tools_show {
#    width: 323px;
    flex-basis: 200px;
    flex-grow: 2;
    flex-shrink: 2;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    margin-right:0;
  }  
  .tools_filter {
#    width: 444px;
    flex-basis: 300px;
    flex-grow: 3;
    flex-shrink: 3;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    margin-left:0;
    border-left:2px solid #cccccc; }
  }  
  .tools_show p, .tools_show a, .tools_filter p, .tools_filter a { align-self:center; margin-bottom:0; font-weight:600; }
  .tools_show a, .tools_filter a {
    display:flex;
    border:0px solid white;
    border-radius:6px;
    padding:0 1em;
    background:white;
    color:var(--ast-global-color-1);
    text-decoration:none !important;
    align-self: center;
  }
  .tools_show a.active, .tools_filter a.active {
    background:var(--ast-global-color-1);
    color:white;
  }
  .tools_show p, .tools_filter p {
    font-weight: 700;
    margin-right:1em;
    margin-bottom: 0;
  }
  
  .days {
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    gap:5em;
  }
  .day_column {
  }
  
  h2.day { margin-top:1em; }

  .tool {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-template-areas: "label button";
    align-items: center;
    cursor:pointer; 
    gap:0.5em;
    margin:1em 0 2em 0;
    padding:0;
    font-weight:600;
  }
  .tool p { margin-bottom:0; font-weight:600; }

  .tool .all { 
    grid-area: label;
  }
  .tool .none {
    grid-area: button;
  }
  .tool .all, .tool .none {
    display:grid;
    padding:0.75em 0.5em 0.5em 0.5em;
    border:2px solid #eeeeee;
    border-radius: 1em;
    background:white;
    box-shadow:2px 2px 4px rgba(0,0,0,0.25); 
    text-align:center;
    align-self: stretch;
    align-content: center;
  }

  .tool .all svg, .tool .none svg {
    vertical-align: middle;
    margin-top: -3px;
    margin-left: 1em;
  }

  .timeslot_wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-template-areas: "timeslot buttons";
    align-items: center;
    cursor:pointer; 

    margin:1em 0 1em 0; padding:0; background:white; border-radius:1em; box-shadow:2px 2px 4px rgba(0,0,0,0.25); 
    font-weight:600;
  }

  .timeslot_wrapper.available { background:#f5fff5; }
  .timeslot_wrapper.busy { background:#fafafa; }
  .timeslot_wrapper.busy p { color:#aaaaaa; }
  .timeslot_wrapper.meeting { color:white; background:var(--ast-global-color-1); cursor:help; }
  .timeslot_wrapper.meeting p { padding: 0.5em 0; }
  
  svg.availability_icon { width:42px; height:auto; margin:0; padding:0; vertical-align: bottom; }
  svg.availability_icon.available { transform: rotate(0deg); fill:#70cc70; }
  svg.availability_icon.busy { transform: rotate(180deg); fill:#aaaaaa; }

  .timeslot {
    grid-area: timeslot;
#    grid-column: 1/span 1;
    padding:1em 2.5em;
    border-right:2px solid #eeeeee;
    border-top-left-radius: 1em;
    border-bottom-left-radius: 1em;
    text-align:center;
    align-self: stretch;
    align-content: center;
  }
  .timeslot p { margin-bottom:0; font-weight:600; }
  p.info { padding:0.125em 0.5em; border-radius:0.5em; background:#666666; color:white; }
  p.info.table { background:var(--ast-global-color-1); background:#00c000; cursor:pointer; }
  p.info.Declined { background:#c00000; }
  p.info.Canceled { background:#a0a0a0; }

  .invitee, .partner { display:flex; }
  .invitee {
    align-items: stretch;
    align-content: stretch;
    flex-direction: row;
    gap:1em;
    justify-content: space-evenly;
    justify-content: start;
    flex-wrap: nowrap;    
  }
  .partner, .partner_image, .partner_text {
    align-self:center;
  }
  .arrow { padding-top: 0.4em; }
  .partner_image img { width:50px; height:50px; object-fit: cover; border-radius:100%; }
  .partner_text { padding-left:1em; }
  .partner_text h3 { font-size:1.25em; margin-bottom:0.25em; }
  .partner_text h4 { font-size:1em; margin-bottom:0; }
  .expand { width:100%; text-align: center; padding:0 0 0.5em 0; }
  .message { padding: 0 2em 1em 2em; }
  .message h4 { font-size: 1rem; margin-bottom: 0.25em; }
  .message p { font-size: 0.9rem; margin-bottom: 0.75em; }

  p.smprint { font-size:0.75em; margin-bottom:0.25em; }

  .buttons {
    grid-area: buttons;
    padding:1em 2.5em;
    border-left:0px solid #ffffff;
    border-top-right-radius: 1em;
    border-bottom-right-radius: 1em;
    text-align:center;
    align-self: stretch;
    align-content: center;
  }

  .buttons a {
    border:2px solid var(--ast-global-color-3);
    border-radius:4px;
    background:var(--ast-global-color-3);
    color:white;
    text-decoration:none !important;
    align-self: stretch;
    font-weight:600;
  }
  .buttons a.yes { border:2px solid green; background:green; color:white; }
  .buttons a.no { border:2px solid red; background:red; color:white; }
  .buttons a {
    border:2px solid var(--ast-global-color-1) !important;
    background:white !important;
    color:var(--ast-global-color-1) !important;
  }
  .buttons p {
    margin-bottom: 0;
    padding: 0;
  }
  
  .meeting_action_form a, div.modal_message a.modal_button {
    display:inline-block;
    border:2px solid var(--ast-global-color-1);
    border-radius:6px;
    padding:0 1em;
    margin-right:1em;
    background:var(--ast-global-color-1);
    color:white;
    text-decoration:none !important;
    text-align: center;
    font-weight:600;
  }
  .meeting_action_form a.close, div.modal_message a.modal_button.more {
    border:2px solid var(--ast-global-color-1);
    background:white;
    color:var(--ast-global-color-1);
  }
  .meeting_action_form label {
    font-weight: 600;
    color: var(--ast-global-color-1);
    padding: 1em 0 0.5em 0;
    display: inline-block;
  }
  .meeting_action_form textarea {
    font-weight: 600;
    color: var(--ast-global-color-3);
    background:white;
    padding: 0.5em 1em;
    margin-bottom:0;
    display: inline-block;
    border-radius:8px;
    border:2px solid var(--ast-global-color-1);
  }
  
  .uagb-svg-wrapper svg {
    width: 17px;
    height: 17px;
    transform: rotate(0deg);
    box-sizing: content-box;
    fill: var(--ast-global-color-1);
    filter: drop-shadow( 0px 0px 0px #00000070 );
  }
  .uagb-svg-wrapper.mini {
  }
  .uagb-svg-wrapper.mini svg, svg.info {
    fill:white;
    width: 15px;
    vertical-align: top;
    margin-top: 4px;
    margin-left: 5px;
  }
  .uagb-svg-wrapper.yes svg, .uagb-svg-wrapper.no svg {
    width:20px;
    height:20px;
    padding:0 0.5em;
  }
  .uagb-svg-wrapper.yes svg {
    fill:green;
  }
  .uagb-svg-wrapper.no svg {
    fill:red;
  }
  
.blocker {
  background-color: rgba(0,0,0,0.25);
}

.modal {
  background: #ffffff;
  border-radius: 8px;
  box-shadow:2px 2px 6px rgba(0,0,0,0.1);
  width:40vw;
  max-width:40vw;
  min-height:30vh;

}
#program_modal {
  width: 800px;
  max-width:100%;
  min-height: 80vw;
}
.modal_button, .modal_button:hover, .modal_button:active {
  background: var(--ast-global-color-1);
  border-radius: 4px;
  padding: 0.5em 0.75em;
  color: white;
  font-weight: bold;
}
  
  .modal_message {
    padding:1em 0.5em;
  }
  .modal_message h3 {
    padding:0 0 0.5em;
  }
  .modal_message h5 {
    padding:0 0 1em;
  }
  .modal_message .partner_text h3 {
    margin-bottom: 0;
    padding: 0;
  }
  
  .form_buttons { display:block; margin-top:1em; clear:both; }
  
label.error.fail-alert, div#alert-message {
display:none;
border: 0px solid red;
border-radius: 4px;
font-size:0.9em;
line-height: 1;
padding: 0.25em 0.5em;
background: #ffe6eb;
color:Red;
font-weight:600;
}
div#alert-message {
  display:inline;
  border-radius: 0;
  border-top: 2px solid #f5f5f5;
  border-bottom: 2px solid #f5f5f5;
  padding: 0.75em 2em;
  line-height: 3em;
}




@media screen and (max-width: 1200px) {
 .days {
    gap:2em;
  }
}

@media ( max-width: 767px ) {  
}

@media screen and (max-width: 860px) {
  .tools_show, .tools_filter {
    border-radius:1em;
#    width:100% !important;
    width:100%;
    border:0px solid white;
    margin-bottom:0.5em;
  }

 .days {
    gap:2em;
  }
  .timeslot, .buttons { padding: 1em 1.5em; }

  #program_modal {
    width: 90vw;
  }

}

@media screen and (max-width: 767px) {
  .timeslot, .buttons { padding: 1em 1em; }
}

@media ( max-width: 550px ) {  
  .meeting {}
  .timeslot_wrapper { width:80vw; }
  .timeslot, .buttons { padding: 0.5em 5vw; }
}