/* Google fonts import */
@import url('https://fonts.googleapis.com/css2?family=Hachi+Maru+Pop&family=Lora:wght@500&family=Roboto+Slab:wght@300&display=swap');

/* variables for colors used */
:root {
  --themeBlue: #75A2BD;
  --themeGreen: #52C50D; 
  --purpleShadow: #CBAEC4;
  --welcomeText: #f2f2f2;
  --linksWhite: #fafafa;
  --textboxBg: #eef4f7;
  --transparentNavbar: rgba(0,0,0,0.2);
  --testimonialText: #313437;
  --testimonialParagraghText: #7d8285;
  --contactButtonHover: #5C89A4;
  --calendarEventBorder: #164255;
  --togglerColor: #F4F0E0;
}

/* ------------Fonts------------ */

*{
    font-family: 'Lora', serif;
}

h1, h2, h3, h4{
    color: var(--themeBlue);
}

h1, h2, h3{
    text-align: center;
}

h2{
    font-size: 32px;
    padding-top: 20px;
    padding-bottom: 20px;
}

p{
    padding-left: 10%;
    padding-right: 10%;
    font-size: 20px;
}

.page-content p{
    line-height: 26pt;
}

/* Reduce paragraph and headings with for mobile devices */
@media screen and (max-width:570px) {
    p{
        padding-left: 0%;
        padding-right: 0%;
    }
    .location-info h4{
        padding-left: 0%;
        padding-right: 0%;
    }
}

@media screen and (min-width:570px) {
    .location-info h4{
        padding-left: 10%;
        padding-right: 10%;
    }
}

/* ------------Navbar section------------ */

a#brand, a.nav-link{
    color: white;
    padding: 0;
    text-shadow: 2px 2px 4px black;
    font-size: 20px;
}

.navbar-light .navbar-nav .nav-link,
.navbar-light .navbar-nav .nav-link {
    color: white;
}

.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover{
    color: var(--themeGreen);
}

.nav-item {
    text-align: center;
}

.navbar-toggler{
    background-color: var(--togglerColor);
}

@media screen and (max-width:991px) {
    .navbar{
        height: 65px;
        line-height: 65px;
    }
    a.nav-link{
        height: 50px;
        line-height: 50px;
    }
    a#brand, a.nav-link {
    text-shadow: 2px 2px 4px black;
    }

    #navbarNav{
        background-color: var(--themeBlue);
    }
    .nav{
        padding-top: 0; 
        padding-bottom: 0;
    }
}

/* Navbar Reappear */
/* Source: https://codepen.io/albizan/pen/mMWdWZ */
.nav {
    width: 100%;
    height: 100px;
    position: fixed;
    text-align: center;
    z-index: 1030;
    padding-bottom: 20px;
    -webkit-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

@media screen and (min-width:991px) {
    .nav {
        padding-top: 20px;
        line-height: 100px;
    }
}

a#brand:hover{
    color: var(--themeGreen);
} 

@-webkit-keyframes inM {
    50% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(45deg);
    }
}

@keyframes inM {
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(45deg);
    }
}

@-webkit-keyframes outM {
    50% {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(45deg);
    }
}

@keyframes outM {
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(45deg);
    }
}

@-webkit-keyframes inT {
    0% {
        -webkit-transform: translateY(0px) rotate(0deg);
    }
    50% {
        -webkit-transform: translateY(9px) rotate(0deg);
    }
    100% {
        -webkit-transform: translateY(9px) rotate(135deg);
    }
}

@keyframes inT {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(9px) rotate(0deg);
    }
    100% {
        transform: translateY(9px) rotate(135deg);
    }
}

@-webkit-keyframes outT {
    0% {
        -webkit-transform: translateY(0px) rotate(0deg);
    }
    50% {
        -webkit-transform: translateY(9px) rotate(0deg);
    }
    100% {
        -webkit-transform: translateY(9px) rotate(135deg);
    }
}

@keyframes outT {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(9px) rotate(0deg);
    }
    100% {
        transform: translateY(9px) rotate(135deg);
    }
}

@-webkit-keyframes inBtm {
    0% {
        -webkit-transform: translateY(0px) rotate(0deg);
    }
    50% {
        -webkit-transform: translateY(-9px) rotate(0deg);
    }
    100% {
        -webkit-transform: translateY(-9px) rotate(135deg);
    }
}

@keyframes inBtm {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-9px) rotate(0deg);
    }
    100% {
        transform: translateY(-9px) rotate(135deg);
    }
}

@-webkit-keyframes outBtm {
    0% {
        -webkit-transform: translateY(0px) rotate(0deg);
    }
    50% {
        -webkit-transform: translateY(-9px) rotate(0deg);
    }
    100% {
        -webkit-transform: translateY(-9px) rotate(135deg);
    }
}

@keyframes outBtm {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-9px) rotate(0deg);
    }
    100% {
        transform: translateY(-9px) rotate(135deg);
    }
}

/* class implemented on scroll */
.affix {
    padding-top: 0;
    padding-bottom: 0;
    background-color: var(--themeBlue);
    height: 65px;
    line-height: 65px;
}

/* ------------Carousel------------ */

#carousel-item{
    width: 100%;
}

@media screen and (max-width:570px) {
    .carousel-image{
        width: auto !important;
        height: calc(100vh - 50px);
        background-position: center !important;}
    .text{
        bottom: 0px;
    }
}

@media screen and (min-width:570px) {
    .carousel-image{
        width: 100% !important;
    }
}

.carousel-image{
    margin-bottom: 10px;
}

/* Welcome text */
.text {
    color: var(--togglerColor);
    font-size: 50px;
    padding: 8px 12px;
    position: absolute;
    bottom: 45%;
    width: 100%;
    text-align: center;
    text-shadow: 2px 2px 4px black;
    font-style: italic; 
}

/* Reduce bottom border for better positioning on mobile devices */
@media screen and (max-width: 570px){
    .text {
        bottom: 30% !important;
    }
}

/*------------ Footer------------ */

#footer-social {
    text-align: center;
}

.list-inline.social-links {
    margin-bottom: 0;
}

.social-links {
    padding-bottom: 15px;
}

.social-links li a i {
    width: 40px;
    height: 40px;
    padding: 12px 0;
    border-radius: 50%;
    font-size: 20px;
    line-height: 15px;
    text-align: center;
    color: var(--linksWhite);
    background: var(--themeBlue);
    transition: all 0.35s ease-in-out;
    -moz-transition: all 0.35s ease-in-out;
    -webkit-transition: all 0.35s ease-in-out;
    -o-transition: all 0.35s ease-in-out;
    margin: 20px 20px 15px 20px;
}

.social-links li a i:hover {
    background: var(--themeGreen);
}

footer {
    background-color: white;
    padding: 25px;
}

/* ------------Google Maps API------------ */

div#map {
    min-height: 360px;
}

@media screen and (min-width:570px) {
    div#map {
        min-height: 400px;
    }
}

div#map2 {
    min-height: 360px;
}

div#filter{
    min-height: 360px;
    border: 5px solid black;
}

.float-container {
    padding: 20px;
}

.float-child {
    width: 100%;
    float: left;
    padding: 0px;
}  

/* Design map markers buttons to look like a link */
/* Source: https://stackoverflow.com/questions/1367409/how-to-make-button-look-like-a-link */
.map-button{ 
    background: none!important;
    border: none;
    padding: 0!important;
    padding: 0!important; 
    font-family: arial, sans-serif;
    color: #069;
    text-decoration: underline;
    cursor: pointer;
}

/* Mobile container positioning setting */
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .container {
        margin: 0;
    }
}

/* ------------Testimonials------------ */
/* Source: https://epicbootstrap.com/snippets/testimonials */

.testimonials-clean {
    color: var(--testimonialText);
    background-color: var(--textboxBg); 
}

.testimonials-clean p {
    color: var(--testimonialParagraghText);
}

@media (max-width:767px) {
    .testimonials-clean h2 {
        margin-bottom:25px;
        padding-top:25px;
        font-size:24px;
    }
}

.testimonials-clean .intro {
    font-size:16px;
    max-width:500px;
    margin:0 auto;
}

.testimonials-clean .intro p {
    margin-bottom:0;
}

.testimonials-clean .people {
    padding:50px 0 20px;
}

.testimonials-clean .item {
    margin-bottom:32px;
}

@media (min-width:768px) {
    .testimonials-clean .item {
        height:220px;
    }
}

.testimonials-clean .item .box {
    padding:30px;
    background-color:white;
    position:relative;
}

.testimonials-clean .item .box:after {
    content:'';
    position:absolute;
    left:30px;
    bottom:-24px;
    width:0;
    height:0;
    border:15px solid transparent;
    border-width:12px 15px;
    border-top-color:white;
}

.testimonials-clean .item .author {
    margin-top:28px;
    padding-left:25px;
}

.testimonials-clean .item .name {
    font-weight:bold;
    margin-bottom:2px;
    color:inherit;
}

.testimonials-clean .item .title {
    font-size:13px;
}

.testimonials-clean .item .description {
    font-size:15px;
    margin-bottom:0;
}

.testimonials-clean .item img {
    max-width:40px;
    float:left;
    margin-right:12px;
    margin-top:-5px;
}

/* ------------Welcome Image------------ */

.welcome-img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}

/* ------------Contact------------ */

.btn-info{
    background-color: var(--themeBlue);
    border-color: var(--themeBlue);
}

.btn-info:hover{
    background-color: var(--contactButtonHover);
    border-color: var(--contactButtonHover);
}

/* ------------Location info based off of map------------ */

.filter{
    padding: 20px;
}

/* to ensure url doesn't overflow beyond textbox */
a{
    overflow-wrap: break-word;
}

/* updated using JS on button click */
.location-info{
    display: none;
}

.location-image{
    width:100%;
    display: none;
    margin-bottom: 15px;
    border-radius: 0.5em;
}

@media screen and (max-width:768px) {
    .location-image{
        margin-left: auto;
        margin-right: auto;
    }
    .filter-checkboxes{
        margin-left: auto;
        margin-right: auto;
    }
}

.location-images{
    padding-left: 0px;
    padding-right: 0px;
}

/* ------------Evo-Calendar------------ */

.event-title button{
    color: var(--themeGreen);
    border: 1px solid var(--calendarEventBorder);
    border-radius: 15px;
    background-color: rgb(22 66 85);
    display: block;
}

@media screen and (max-width: 425px){
    .calendar-events {
        height: 200%;
        -webkit-transition: all .3s ease;
        -o-transition: all .3s ease;
        transition: all .3s ease;
    }
}

.royal-navy .calendar-sidebar>.calendar-year{
    background-color: var(--themeBlue);
}

.royal-navy .calendar-sidebar>.month-list>.calendar-months{
    background-color: var(--themeBlue);
}

.royal-navy .calendar-events{
    background-color: var(--themeBlue);
}

.royal-navy .calendar-sidebar{
    background-color: var(--themeBlue);
}

.royal-navy .calendar-sidebar>.month-list{
    background-color: var(--themeBlue);
}

.royal-navy #eventListToggler {
    background-color: var(--themeGreen);
    -webkit-box-shadow: 0 5px 10px -3px var(--themeGreen);
    box-shadow: 0 5px 10px -3px var(--themeGreen);
}

.royal-navy .calendar-sidebar>span#sidebarToggler {   
    background-color: var(--themeGreen);
    -webkit-box-shadow: 0 5px 10px -3px var(--themeGreen);
    box-shadow: 0 5px 10px -3px var(--themeGreen);
}

.royal-navy th[colspan="7"] {
    color: var(--themeBlue);
    font-weight: 400;
}

.calendar-events>.event-header>p {
    font-weight: 400;
}

/* to centre align bars in toggle button */
.bars{
    margin-top: -8px;
}

@media screen and (max-width:570px) {
    .location-info{
        background-color: var(--textboxBg);
        border: 1px solid var(--themeBlue);
        border-radius: 0.5em;
        padding: 5px;
    }
}