html{position:relative;min-height:100%;font-family:Helvetica, Arial, sans-serif;}body{background-color:rgb(243, 243, 244);color:rgb(51, 51, 51);font:0.8125em/1.5em Arial, Helvetica, sans-serif;margin:0px;min-height:100%;}header{height:91px;width:951px;margin:0px auto;padding:30px 0px 0px;}a:link{color:rgb(0, 102, 136);font-weight:bold;text-decoration:none;}#skipnav{position:absolute;top:-80px;left:0px;transition:top 1s ease-out 0s;background-color:rgb(255, 255, 255);padding:20px 15px;border-width:3px 1px 1px;border-style:solid;border-color:rgb(22, 205, 142) rgb(225, 225, 225) rgb(225, 225, 225);border-image:initial;border-radius:0px 0px 3px 3px;box-shadow:rgb(209, 208, 208) 0px 8px 6px -6px;color:rgb(39, 87, 174);z-index:100;}header h1:before{content: '';background: url(/images/sprite.svg) -14px -23px no-repeat;background-size: 107px 75px;height: 54px;width: 77px;position: absolute;top: -1px;left: 0;}h1, h2, h3, h4, h4{line-height:1.2em;font-style:normal;font-weight:bold;}header h1{font-size:1.8em;margin:8px 0px 3px 0px;padding:0px 0px 0px 88px;position:relative;font-weight: normal;}header h2{font-size:1.079em;margin:0px;padding:0px 0px 0px 88px;font-style:normal;font-weight:normal;text-transform: uppercase;}#topmenu{background-color:rgb(233, 237, 243);height:46px;top:0px;left:0px;width:100%;position:absolute;text-align:right;}#topmenu dl{display:inline-block;font-size:0.84em;vertical-align:middle;}#topmenu dl dt{display:none;}#topmenu dl dd{display:inline;margin:0px;}#topmenu form{display:inline-block;position:relative;vertical-align:middle;margin:0px 10px 0px 0px;}#query{border:1px solid rgb(204, 204, 204);border-radius:10px;padding:3px 10px;}#search-btn{text-indent:-9999px;border:none;width:20px;height:20px;padding:0px;margin:0px;position:absolute;top:3px;right:9px;background:url("/images/sprite.svg") -68px -22px / 730% no-repeat;}.main_menu--button{display:none;position:absolute;}.button--blue{color:#ffffff!important;font-weight:normal!important}nav ul{list-style:none;float:right;margin:-30px 0px 0px;}ul li{margin:10px 0px;}nav ul li{display:inline-block;margin:0px;position:relative;border-width:1px 1px 2px;border-style:solid;border-color:transparent transparent rgb(243, 243, 244);border-image:initial;padding:0px 5px;}header nav a:link, header nav a:visited{color:rgb(51, 51, 51);z-index:1000;position:relative;height:30px;display:block;padding:0px;}nav ul .menu-heading{border-bottom:none;height:24px;text-align:center;line-height:24px;margin:-6px 0px 0px 20px;padding:3px 15px;border-radius:3px;}nav ul .menu-heading > a > nav ul li .icon{fill:rgb(196, 196, 196);float:right;width:25px;height:20px;margin:6px 5px 0px 0px;}nav ul li > ul{display:none;float:none;margin:-9px -46px 0px 0px;padding:15px 0px;position:absolute;width:250px;background-color:rgb(255, 255, 255);border-radius:3px 0px 3px 3px;border:1px solid rgb(234, 234, 234);line-height:1;text-align:left;right:28%;top:34px;z-index:100;}nav ul li.services > ul{margin:-4px -30px 0px 0px;}nav ul li ul li{border-bottom:2px solid white;}nav ul li > ul li{display:list-item;height:auto;color:rgb(51, 51, 51);font-weight:bold;margin:0px;position:relative;}header > nav > ul > li > ul > li > a:link, header > nav > ul > li > ul > li > a:visited{height:auto;padding:10px;}nav ul li > ul li a{padding:10px;display:block;}.myNFC{background-color:rgb(202, 71, 31);}li.myNFC.menu-heading > a:link, li.myNFC.menu-heading > a:visited{color:rgb(255, 255, 255);font-weight:normal;}nav ul .myNFC > a > svg.icon{fill:rgb(255, 255, 255);margin:5px 0px 0px 8px;}svg.icon.insuranceIcon{width:35px;height:30px;margin:2px 0px 0px;}main{max-width:980px;margin:10px auto 0px;min-height:415px;padding:0px 20px;display:block;position:relative;overflow:hidden;}#NFCDateTime{font-weight:bold;font-style:italic;font-size:0.84em;text-align:right;padding:5px 15px;clear:both;}footer{background-color:rgb(38, 51, 64);color:rgb(204, 204, 204);border-top:6px solid rgb(53, 80, 110);clear:both;padding:20px 0px;overflow:hidden;display:table;width:100%;}footer ul{list-style:none;width:25%;margin:0px auto;overflow:hidden;padding:0px 40px;display:table-cell;}footer a:link, footer a:visited{color:rgb(204, 204, 204);font-size:0.84em;font-weight:normal;}



.full-view header {
    max-width: 100%;
    width: auto;
    height: auto;
    padding: 1rem 2rem 1rem 2rem;
}

.full-view #topmenu, .full-view #main_menu {
    display: none;
}
.calendar_view {
    max-width: 100%;
    padding: 0 2rem;
    background-color: #ffffff;
}

.calendar__timeline__icon {
    color: #ffffff;
    font-weight: bold;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.timeline:before {
    background: #26a9f5;
}

.timeline__icon {
    background: #047cc1;
    box-shadow: 0 0 0 6px #26a9f5;
    width: 60px;
    height: 60px;
    left: 20px;
}

.timeline .timeline__label {
    margin: 0 0 15px 0;
}

.timeline__label .heading--label {
    margin: 1rem 0 0;
}

.timeline__label p {
    margin: 0;
}

.calendar__timeline__events {
    list-style: none;
    margin: 0 0 0 7rem;
    padding: 0;
}

.card, .card p {
    font-size: 1rem;
}

.schedule--two-column {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: min-content 1fr;    /* later if this doesn't work try 100vh */
    /* IE Fix */
	display: -ms-grid;
    -ms-grid-columns: 1fr;
    -ms-grid-rows: min-content 1fr;
    height: 100%;
}

.schedule__controls {
    grid-row-start: 1;
    /* IE Fix */
	-ms-grid-row: 1;
}

.schedule__main {
    grid-row-start: 2;
    /* IE Fix */
	-ms-grid-row: 2;
    /*padding-bottom: 2rem;*/
	height: 100vh;
}

.calendar__heading {
    flex-shrink: 0;
}

.calendar__heading__container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 1rem 0;
}

.calendar__add-event-button {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-indent: -9999px;
    padding: 0;
    margin: auto;
    width: 100%;
    background: none;
    z-index: 1;
    transition: .3s ease background;
}

.calendar__add-event-button:hover {
    background-color: #e4f8ff;
}

.calendar__buttons, .calendar__toggle {
    display: flex;
    align-items: center;
    margin: 0 0 0 2rem !important;
}

.calendar__toggle {
    list-style: none;
    padding: 0;
    margin-left: auto !important;
}

.calendar__toggle li {
    margin: 0;
}

.toggle-button {
    border: 1px solid #e1e1e1;
    border-radius: 0;
    color: #626262;
    padding: .6rem 1.1rem;
    transition: .3s ease border, .3s ease background, .3s ease color;
}

.toggle-button {
    border-radius: 6px 0 0 6px;
}

.calendar__toggle li:last-child .toggle-button {
    border-radius: 0 6px 6px 0;
}

.toggle-button[aria-pressed="true"] {
    color: #ffffff !important;
    background-color: #047cc1;
    border-color: #047cc1;
}

.toggle-button:hover, .toggle-button:focus {
    border-color: #047cc1;
    color: #047cc1;
}

.calendar__button__icon {
    width: 30px;
    height: 30px;
    fill: #7d7d7d;
}

.calendar__button {
    display: flex;
    align-items: center;
}

.calendar__button {
    display: flex;
    align-items: center;
    background-color: #efefef;
    width: 35px;
    height: 35px;
    border-radius: 90%;
    margin: 0 .2rem;
    padding: 0;
    justify-content: center;
    position: relative;
    color: #ffffff;
    transition: ease background .3s, color .3s;
}

.calendar__button__text {
    background-color: rgba(51, 51, 51, 0.76);
    color: #ffffff;
    font-size: .8rem;
    line-height: .8rem;
    white-space: nowrap;
    padding: .45rem .5rem;
    border-radius: 5px;
    position: absolute;
    bottom: -37px;
    transition: .3s ease transform;
    transform-origin: center;
    transform: scale(0);
    z-index: 1;
}

.calendar__button:hover .calendar__button__text, .calendar__button:focus .calendar__button__text {
    transform: scale(1);
}

.calendar__button:hover, .calendar__button:focus {
    background-color: #d8d7d7;
}

.heading--small {
    font-size: 1.2rem !important;
    font-weight: normal !important;
    line-height: 1.5rem;
    margin: 20px 0;
    color: #4c535b;
}

.calendar {
    display: flex;
    width: 100%;
    align-items: flex-start;
    justify-content: space-between;
    height: 100%;
    flex-wrap: wrap;
}

.calendar__row {
    display: flex;
    width: 100%;
    align-items: flex-start;
    justify-content: space-between;
    position: relative;
}

.calendar__row__items {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
}

.calendar__row__events {
    display: flex;
    width: 100%;
    height: 100%;
}

.calendar__row__events__container {
    width: calc(100%/7);
    padding: 40px .5rem .5rem;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}

.calendar__event {
    width: 100%;
    position: relative;
    z-index: 10;
    padding: .5rem .5rem .5rem .8rem;
    background-size: 40px 40px;
    background-image: linear-gradient(135deg, rgba(62, 62, 62, 0.05) 25%, transparent 25%, transparent 50%, rgba(62, 62, 62, 0.05) 50%, rgba(62, 62, 62, 0.05) 75%, transparent 75%, transparent);
    background-color: #ececec;
    border: 1px solid #d4d4d4;
    color: #474747;
    margin: 0 0 .5rem;
    border-radius: 10px;
    text-decoration: none;
    text-align: left;
    height: auto;
    display: flex;
    font-size: .8rem;
    align-items: center;
    transition: .3s ease color, .3s ease background, .3s ease border;
}

.calendar__event:before {
    content: '';
    box-shadow: 0 10px 10px -8px #6d6d6d;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    border-radius: 3px;
    opacity: 0;
    z-index: 100000000;
    transition: .3s ease opacity;
}

.calendar__event:hover:before, .calendar__event:focus:before {
    opacity: 1;
}

.calendar__event:hover, .calendar__event:focus {
    background-image: linear-gradient(135deg, rgba(62, 62, 62, 0.15) 25%, transparent 25%, transparent 50%, rgba(62, 62, 62, 0.15) 50%, rgba(62, 62, 62, 0.15) 75%, transparent 75%, transparent);
    background-color: #1a73e8;
    color: #ffffff;
    border-color: #1a73e8;
}

.calendar__event:hover svg, .calendar__event:focus svg {
    fill: #ffffff;
}

.calendar__event__title {
    display: flex;
    align-items: center;
    font-weight: bold;
    overflow: hidden;
}

.calendar__event__icon, .calendar__event svg {
    width: 25px;
    height: 25px;
    margin: .1rem .5rem .1rem 0;
    flex-shrink: 0;
    fill: #989898;
}

.calendar__row__weekday, .calendar__day {
    border: 1px solid #eaeaea;
    width: calc(100%/7);
    text-align: center;
    padding: .5rem;
    /*height: 100%;*/
    position: relative;
}

.calendar__date {
    text-decoration: none;
    position: relative;
    z-index: 10;
    cursor: default;
	border: none;
}

.calendar__date--today {
    color: #fff;
    background-color: #1a73e8;
    border-radius: 90%;
    padding: .5rem;
    font-weight: bold;
}

.calendar__day--overflow-day {
    color: #6b6b6b;
    background-color: #f9f9f9;
}

.calendar__row__weekday {
    font-weight: bold;
    color: #525252;
}

.calendar__body {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    height: 100%;
}

.calendar__event__property {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    margin-bottom: 1rem;
}

.calendar__event__property--location {
    align-items: center;
}

.calendar__event__property .icon {
    margin: 0 1rem 0 0;
    fill: #767676;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
}

@media print {
    .calendar__buttons {
        display: none;
    }
}