body { 
	font-family: Arial; 
	padding: 0;
	margin: 0;
}

header{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 16px 0;
}

header a{
	margin-right: 16px;
}

#calendar { 
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 16px;
}

h1, h2, h3{
	text-align: center; 
	margin: 0;
	color: #165c80;
}

legend{
    font-size: 1em !important;
    margin: 0 !important;
}

.form-container{
	max-width: 600px;
	width: 100%;
	margin: 16px auto;
}

#msg{ 
	margin-top:15px; 
	font-weight:bold; 
}

.ok{ 
	color:green;
}

.err{ 
	color:red;
}

.form-label, .form-control{
	width: 100%;
}

.date-time-container{
	display: flex;
	gap: 8px;
}

.date-time-container input{
	width: calc(100% / 3);
}

.fc-day-today{
	background-color: rgba(22, 92, 128, 0.35)!important;
}

.event-online .fc-daygrid-event-dot, .event-online .fc-list-event-dot{
	border-color: #FF0000!important;
}

.fc-daygrid-event-dot, .fc-list-event-dot{
	border-color: #165c80!important;
}

div.fc .fc-button-primary{
	background-color: #2288ad!important;
	border-color: #2288ad!important;
}

div.fc .fc-button-primary:hover{
	background-color: #165c80!important;
	border-color: #165c80!important;
}

.fc div.fc-header-toolbar.fc-toolbar{
	margin-bottom: 16px;
}

.fc-event-title {
	white-space: normal !important;
	overflow: visible !important;
}

.fc-daygrid-event {
	white-space: normal !important;
	height: auto !important;
	min-height: 18px;
}

.fc-event {
	white-space: normal !important;
}

.fc-event-main-frame {
	white-space: normal !important;
}

.fc-event{
	flex-wrap: wrap;
}

.fc-event .fc-event-title{
	width: 100%;
	margin-left: 16px;
	font-size: 14px;
	line-height: 1.2em;
	overflow: hidden !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.modal__container {
  background-color: #fff;
  padding: 30px;
  max-width: 1080px;
  width: auto;
  max-height: 100vh;
  border-radius: 4px;
  overflow-y: auto;
  box-sizing: border-box;
}

.modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal__title {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 1.25;
  color: #165c80;
  box-sizing: border-box;
}

.modal__close {
  background: transparent;
  border: 0;
  cursor: pointer;
}

.modal__header .modal__close:before { content: "\2715"; }

.modal__content {
  margin-top: 2rem;
  margin-bottom: 2rem;
  line-height: 1.5;
  color: rgba(0,0,0,.8);
}

.event-container{
	display: flex;
	gap: 16px;
}

.event-container > div{
	width: calc(50% - 8px);
}

.event-container img{
	width: 100%;
}

.modal__content h2{
	text-align: center;
	color: #165c80;
	line-height: 1.2em;
	margin-bottom: 8px;
}

.modal__content p{
	margin-top: 0;
}

.modal__btn {
  font-size: .875rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: .5rem;
  padding-bottom: .5rem;
  background-color: #e6e6e6;
  color: rgba(0,0,0,.8);
  border-radius: .25rem;
  border-style: none;
  border-width: 0;
  cursor: pointer;
  -webkit-appearance: button;
  text-transform: none;
  overflow: visible;
  line-height: 1.15;
  margin: 0;
  will-change: transform;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  transition: -webkit-transform .25s ease-out;
  transition: transform .25s ease-out;
  transition: transform .25s ease-out,-webkit-transform .25s ease-out;
}

.modal__btn:focus, .modal__btn:hover {
  -webkit-transform: scale(1.05);
  transform: scale(1.05);
}

.modal__btn-primary {
  background-color: #00449e;
  color: #fff;
}

@keyframes mmfadeIn {
	from { opacity: 0; }
	  to { opacity: 1; }
}

@keyframes mmfadeOut {
	from { opacity: 1; }
	  to { opacity: 0; }
}

@keyframes mmslideIn {
  from { transform: translateY(15%); }
	to { transform: translateY(0); }
}

@keyframes mmslideOut {
	from { transform: translateY(0); }
	to { transform: translateY(-10%); }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

h2.fc-toolbar-title::first-letter, .fc-list-day-cushion a.fc-list-day-side-text::first-letter{
  text-transform: uppercase;
}

@media(max-width: 1024px){
	.fc-daygrid-event-dot{
		display: none;
	}
	
	.fc-event .fc-event-title, .fc-event .fc-event-time{
		margin-left: 4px!important;
	}
}

@media(max-width: 768px){
	.date-time-container{
		flex-direction: column;
	}
	
	.date-time-container input{
		width: 100%;
	}
	
	.event-container{
		justify-content: center;
		flex-direction: column-reverse;
	}
	
	.event-container > div{
		width: 100%;
	}
	
	.event-container > div:first-child{
		display: flex;
		justify-content: center;
	}
	
	.event-container img{
		max-width: 400px!important;
	}
}

@media(max-width: 461px){
	.fc-header-toolbar{
		flex-direction: column;
	}
	.fc h2.fc-toolbar-title{
		margin-bottom: 8px!important;
	}
}