/* Homepage - Rotator */
.homeRotator { position: relative; padding: 0; width: 100%; height: calc(100vh - 300px); min-height: 300px; max-height: 500px; max-width: 100%; }

/* Homepage - Quick Links */
.quickLinksContainer { width: calc(100% - 40px); max-width: 1440px; margin: 0 auto; }
.quickLinks { padding: 0 0 20px; display: flex; flex-wrap: wrap; width: 100%; margin: -100px 0 0; }
.ql { width: calc(16.666% - 20px); margin: 10px; }
.ql a { display: block; text-align: center; font-weight: 700; text-decoration: none; padding: 25px 0 15px; color: #0F1910; font-size: 17px; }
.ql a i { font-size: 50px; line-height: 100px; display: block; margin: 0 auto 10px; width: 100px; height: 100px; text-align: center; border-radius: 50%; background: #1599A8; border: 3px solid #063C50; position: relative; }
.ql a i:after { top: -3px; left: -3px; padding: 3px; box-shadow: 0 0 0 3px #FFF; opacity: 0; -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); transform: scale(1); opacity: 1; }
.ql a:hover i { background: #063C50; border: 3px solid #1599A8; color: #FFF; }
/* .ql a:hover i:after { top: -5px; left: -5px; padding: 5px; box-shadow: 0 0 0 3px #95C241; } */
.ql a i:after { pointer-events: none; position: absolute; width: 100%; height: 100%; border-radius: 50%; content:''; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; }
.ql a i:before { speak: none; font-size: 50px; line-height: 100px; display: block; -webkit-font-smoothing: antialiased; }

@media screen and (max-width: 1080px) { 
  .quickLinksContainer { max-width: 600px; }
  .ql { width: calc(33.333% - 20px); }
}

@media screen and (max-width: 540px) { 
    .ql { width: calc(50% - 20px); }
    .ql a { padding: 25px 0 0; }
}

/* Home - Calendar */
.homeCalendar { padding: 0 0 40px; }
.homeCalendar h2 { text-align: center; font-size: 48px; line-height: 48px; font-weight: 400; text-transform: uppercase; letter-spacing: 2px; }
.homeCalendarLink { width: calc(100% - 40px); max-width: 1190px; margin: 20px auto 0; text-align: right; }
.homeCalendarLink a { color: #063C50; font-weight: 700; text-decoration: none; }

/* Home - TTK */
.homeTTK { background: #ECF7FA; padding: 20px 0 20px; }
.homeTTK h2 { text-align: center; font-size: 48px; line-height: 48px; font-weight: 400; text-transform: uppercase; letter-spacing: 2px; }
.homeNews { width: calc(100% - 40px); max-width: 1200px; margin: 20px auto 0; }

.homeEvents { width: calc(100% - 20px); max-width: 1200px; display: flex; margin: -10px auto; flex-wrap: wrap; }
.homeEvents.servicePage { width: calc(100% + 20px); margin: -10px; }
.homeEvent { width: calc(50% - 20px); margin: 10px; box-shadow: 0 0 10px rgba(15, 25, 16, .2); display: flex; }

.homeEventDate { width: 90px; text-align: center; }
.homeEventDateContainer { background: #C4DD95; padding: 10px 0; color: #063C50; }
.homeEventDay { font-size: 38px; font-weight: 600; font-family: 'Poppins', sans-serif; line-height: 38px; }
.homeEventMonth { text-transform: uppercase; font-size: 17px; }
.homeEventInfo { width: calc(100% - 150px); padding: 15px 45px 15px 15px; line-height: 22px; min-height: 110px; position: relative; }
.homeEventInfo a { display: block; font-family: 'Poppins', sans-serif; font-size: 24px; line-height: 28px; font-weight: 700; text-decoration: none; margin: 0 0 10px; color: #063C50; }
.homeEventInfo i { font-size: 15px; }
.homeAgenda { position: absolute; right: 5px; top: 15px; }
.homeAgenda a i { font-size: 30px; line-height: 30px; }

@media screen and (max-width: 800px) { 
    .homeEvent { width: calc(100% - 20px); }
    .homeEventInfo { min-height: 0; }
    .homeEvent.event7, .homeEvent.event8 { display: none; }
    .homeTTK h2 { font-size: 34px; line-height: 42px; }
}

/* Homepage - News */
.homeNewsItems { width: calc(100% + 20px); margin: 0 -10px; padding: 0 0 20px; display: flex; }
.homeNewsItem { width: calc(33.33% - 20px); margin: 10px; background-color: #000000; }
.homeNewsItem.item3 { display: none; }
.homeNewsItem a { position: relative; display: block; }
.homeNewsPhoto { width: 100%; padding: 0 0 100%; background-size: cover; background-position: center center; margin: 0 0 100px; }
.homeNewsSpacer { position: absolute; background: #0F1910; height: 101px; width: 100%; bottom: -100px; }
.homeNewsDetails { position: absolute; bottom: -100px; padding: 10px; position: absolute; width: calc(100% - 20px); }
.homeNewsDepartment, .homeNewsHeadline, .homeNewsReadMore { display: inline-block; width: 100%; }
.homeNewsDepartment { color: #7ED1E1; text-transform: uppercase; font-weight: 700; font-size: 22px; text-decoration: none; position: relative; letter-spacing: 0.5px; }
.homeNewsHeadline { color: #FFF; font-size: 28px; line-height: 32px; margin: 12px 0; font-weight: 600; font-family: 'Poppins', sans-serif; }
.homeNewsReadMore { color: #FFF; font-size: 16px; font-weight: 700; }
.homeNewsReadMore::after { content: ''; position: absolute; width: 100%; transform: scaleX(0); height: 2px; bottom: -2px; left: 0; background-color: #7ED1E1; transform-origin: bottom right; transition: transform 0.5s ease-out; }
.homeNewsItem a:hover .homeNewsReadMore::after { transform: scaleX(1); transform-origin: bottom left; }

.homeNewsButtons { margin: 0 0 20px; text-align: center; }
.homeNewsButtons a.button { font-size: 20px; background: #7ED1E1; margin: 4px 6px; padding: 6px 20px; }

@media screen and (max-width: 1000px) { 
    .homeNewsItems { flex-wrap: wrap; }
    .homeNewsItem { width: calc(50% - 20px); }
    .homeNewsItem.item3 { display: block; }
}
@media screen and (max-width: 700px) { 
    .homeNewsItem { width: 400px; margin: 0 auto 20px; }
    .homeNewsItem.item3 { display: none; }
}

/* Homepage - About */
.homeAbout { width: calc(100% - 40px); max-width: 1000px; margin: 60px auto; text-align: center; font-size: 20px; line-height: 32px; }
.homeAbout h2 { text-align: center; font-size: 48px; line-height: 48px; font-weight: 400; text-transform: uppercase; letter-spacing: 2px; }

/* Homepage - CTA */
.homeCTA { background-size: cover; background-position: center center; padding: 160px 0; }
.homeCTAContent { width: calc(100% - 40px); max-width: 1200px; margin: 0 auto; color: #FFF; font-size: 20px; line-height: 34px; }
.homeCTAContentText { max-width: 1000px; }
.homeCTATagline { text-transform: uppercase; font-size: 20px; font-weight: 700; }
.homeCTAContent h3 { margin: 10px auto; font-size: 46px; line-height: 54px; font-weight: 700; }
.homeCTAContent a.button { font-size: 24px; padding: 10px 15px; font-weight: 400; margin-top: 40px; background: #C4DD95; }

@media screen and (max-width: 600px) { 
    .homeCTA { padding: 80px 0; }
}