@import url('https://fonts.googleapis.com/css2?family=Young+Serif&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    margin: 0;
    background: rgba(0, 1, 5, 1);
    font-family: 'Lato', sans-serif;
    font-weight: 400;
}

/*Navigation styles (based on youtube tutorial of Kevin Powell)*/
header {
    background-color: #DDE3FD;
    text-align: center;
    position: fixed;
    z-index: 99;
    width: 100%;
}

nav {
    position: absolute;
    text-align: left; 
    top: 100%;
    left: 0; 
    background-color:rgba(0, 1, 5, 1);
    width: 100%;
    display: none;
}

nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
    background-color: rgba(0, 1, 5, 1);
}

nav li {
    margin-bottom: 1em; 
    margin-left: 1em;
}

nav a {
    color: #ffffff;
    text-decoration: none; 
    font-size: 1.2rem;
    text-transform: uppercase;
}

nav a:hover {
    color: #ffffff;
}

.nav-toggle:checked~nav{
    display: block;
}

.nav-toggle {
    display: none;
}

.nav-toggle-label {
    position: absolute; 
    top: 0;
    left: 0;
    margin-right: 1em;
    height: 100%;
    display: flex;
    align-items: center;
}

.nav-toggle-label span,
.nav-toggle-label span::before,
.nav-toggle-label span::after {
    display: block;
    background: rgba(0, 1, 5, 1);
    height: 2px;
    width: 2em;
    position: relative;
}

.nav-toggle-label span::before,
.nav-toggle-label span::after {
    content: '';
    position: absolute;
}

.nav-toggle-label span::before {
    bottom: 7px;
}

.nav-toggle-label span::after {
    top: 7px;
}/*End of tutorial based code*/

main {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    top: 4rem;
    margin-bottom: 30px;
}

#budapest {
    height: 100vh;
    width: 100%;
    background: url("../images/Untitled\ design.png") no-repeat center center/cover;
    background-color: rgba(0, 1, 5, 1);
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin-bottom: -30px;
}

#text-overlay {
    position: relative;
    top: 50%;
    left: 50%; 
    transform: translate(-50%, -50%);
    color: #DDE3fD;
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    text-shadow: 2px 2px 4px rgba(0, 1, 5, 1);   
    padding: 20px;
}

.introduction {
    color: #DDE3FD;
    margin-top: 2rem;
    line-height: 1.4rem;
    font-size: 1.1rem;
    margin-bottom: 15px;
    padding: 20px;
}

.introduction h2 {
    text-decoration: underline;
    font-size: 2rem;
}

/*Chainbridge*/
.chainbridge {
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
}

.image,
.image-cb {
    flex: 1;
    object-fit: contain;
}

.image img {
    width: 50vh;
    height: auto;
    display: block;
}

.image-cb img {
    width: 50vh;
    height: auto;
    display: block;
}

.text {
    flex: 1;
    padding: 20px;
    margin-top: 2rem;
    color: #DDE3FD;
    line-height: 1.4em;
    font-size: 1.4em;
}

.text h2 {
    text-decoration: underline;
}

/*Parliament*/
.parliament {
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
}

.image-parl,
.image-parliament {
    flex: 1;
    object-fit: contain;
}

.image-parl img {
    width: 50vh;
    height: auto;
    display: block;
}

.image-parliament img {
    width: 50vh;
    height: auto;
    display: block;
}

.text-parl {
    flex: 1;
    padding: 20px;
    color: #DDE3FD;
    margin-top: 2rem;
    line-height: 1.4em;
    font-size: 1.4em;
}

.text-parl h2 {
    text-decoration: underline;
}

/*Castle*/
.castle {
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
}

.image-castle,
.image-buda {
    flex: 1;
    object-fit: contain;
}

.image-castle img {
    width: 50vh;
    height: auto;
    display: block;
}

.image-buda img {
    width: 50vh;
    height: auto;
    display: block;
}

.text-castle {
    flex: 1;
    padding: 20px;
    margin-top: 2rem;
    color: #DDE3FD;
    line-height: 1.4em;
    font-size: 1.4em;
}

.text-castle h2 {
    text-decoration: underline;
}

/*Matthias Church*/
.matthias-church {
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
}

.image-matt,
.image-matty {
    flex: 1;
    object-fit: contain;;
}

.image-matt img {
    width: 50vh;
    height: auto;
    display: block;
}

.image-matty img {
    width: 50vh;
    height: auto;
    display: block;
}

.text-matt {
    flex: 1;
    padding: 20px;
    margin-top: 2rem;
    color: #DDE3FD;
    line-height: 1.4em;
    font-size: 1.4em;
}
.text-matt h2 {
    text-decoration: underline;
}

/*Szimpla*/
.szimpla {
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
    
}

.szimpla-image,
.szimpla-tv {
    flex: 1;
    object-fit: contain;
}

.szimpla-image img {
    width: 50vh;
    height: auto;
    display: block;
}

.szimpla-tv img {
    width: 50vh;
    height: auto;
    display: block;
}

.szimpla-text {
    flex: 1;
    padding: 20px;
    margin-top: 2rem;
    color: #DDE3FD;
    font-size: 1.4em;
    line-height: 1.4em;
}

.szimpla-text h2 {
    text-decoration: underline;
}

/*Gellert Hotel*/
.gellert {
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
}

.gellert-image,
.gellert-hotel {
   flex: 1;
   object-fit: contain;
}

.gellert-image img {
    width: 50vh;
    height: auto;
    display: block;
}

.gellert-hotel img {
    width: 50vh;
    height: auto;
    display: block;
}

.gellert-text {
    flex: 1;
    padding: 20px;
    margin-top: 2rem;
    color: #DDE3FD;
    font-size: 1.4em;
    line-height: 1.4em;
}

.gellert-text h2 {
    text-decoration: underline;
}

/*Szechenyi*/
.szechenyi {
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
}

.szechenyi-image,
.szechenyi-pool {
    flex: 1;
    object-fit: contain;
}

.szechenyi-image img {
    width: 50vh;
    height: auto;
    display: block;
}

.szechenyi-pool img {
    width: 50vh;
    height: auto;
    display: block;
}

.szechenyi-text {
    flex: 1;
    padding: 20px;
    margin-top: 2rem;
    color: #DDE3FD;
    font-size: 1.4em;
    line-height: 1.4em;
}

.szechenyi-text h2 {
    text-decoration: underline;
}

/*Market*/
.market {
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
}

.market-image,
.market-two {
    flex: 1;
    object-fit: contain;
}

.market-image img {
    width: 50vh;
    height: auto;
    display: block;
}

.market-two img {
    width: 50vh;
    height: auto;
    display: block;
}

.market-text {
   flex: 1;
    padding: 20px;
    margin-top: 2rem;
    color: #DDE3FD;
    font-size: 1.4em;
    line-height: 1.4em;
}

.market-text h2 {
    text-decoration: underline;
}

/*Gallery (based on love running project)*/

#gallery {
    margin-top: 3.2rem;
}

/*#photo img {
    width: 100%;
    line-height: 1em;
    column-fill: balance;
}

#photo {
    line-height: 0;
}*/
#photo {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 0;
}

#photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/*Contact*/
.bg-image {
    width: 100%;
    height: 100vh;
    background: url("../images/dan-novac-SRxqOaWRK6g-unsplash.jpg") no-repeat center center/cover;
    overflow: scroll;
}

.contact {
    margin-top: 4rem;
    color: #DDE3FD;
    background-color: rgba(0, 1, 5, 0.7);
    padding: 20px;
    line-height: 1.4rem;
    font-size: 1.2rem;
}

.contact h2 {
    text-decoration: underline;
}

.subscribe {
    background-color: rgba(0, 1, 5, 0.7);
    color: #DDE3FD;
    padding: 20px;
    line-height: 1.4rem;
    font-size: 1.2rem;
    margin-bottom: 4rem;
}

.subscribe h2 {
    text-decoration: underline;
}
form {
    display: flex;
    flex-direction: column;
    max-width: 300px;
    margin: 0 auto;
    color: #DDE3FD;
    line-height: 1.4rem;
}

label {
    margin-bottom: 5px;
}

input[type="text"] {
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #DDE3FD;
    border-radius: 4px;
}

input[type="email"] {
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #091034;
    border-radius: 4px;
}

button[type="submit"] {
    padding: 10px;
    background-color: #193DF0;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.message {
    color: #091034;
    background: url("../images/bence-balla-schottner-VPETME4zVWM-unsplash.jpg") center center/cover;
    height: 100vh;
    width: 100%;
}

.sub-text {
    background-color: rgba(217, 221, 227, 0.85);
    margin-top: 4rem;
    font-size: 20px;
    line-height: 1.4em;
}

.message a {
    color: rgba(0, 1, 5, 1);
}

footer {
    position: fixed;
    background-color: #DDE3FD;
    bottom: 0;
    margin-top: -20px;
    width: 100%;
    overflow: hidden;
}

#social-media {
    text-align: center; 
    padding: 10px 0;
    display: flex;
    justify-content: space-evenly;
    list-style-type: none;
}

#social-media i {
    font-size: 160%;
    color: rgba(0, 1, 5, 1);
}


/*@media screen and (min-width: 576px) {
    Gallery based on love running code
    #photo {
        column-count: 2;
        column-gap: 0;
    }
        
}*/

@media screen and (min-width: 768px) {
    .image img,
    .image-cb img,
    .image-parl img,
    .image-parliament img,
    .image-castle img,
    .image-buda img,
    .image-matt img,
    .image-matty img,
    .szimpla-image img,
    .szimpla-tv img,
    .gellert-image img,
    .gellert-hotel img,
    .szechenyi-image img,
    .szechenyi-pool img,
    .market-image img,
    .market-two img {
        width: 75vh;
    }
}
    /*Gallery based on love running code*/
    /*#photo {
        column-count: 2;
        gap: 0;
    }

    .matt-bg {
        height: 395px;
    }
}*/

@media screen and (min-width: 992px) {
    .nav-toggle-label {
        display: none;
    }

    header {
        padding: 0 1rem;
        position: fixed;
        z-index: 99;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: baseline;
        display: flex;
        align-items: last baseline;
    }

    #budapest {
        align-self: center;
    }

    #text-overlay {
        opacity: 0;
        transition: opacity 0.5s;
        cursor: pointer;
        background-color: rgba(0, 1, 5, 1);
    }

    #text-overlay:hover {
        opacity: 1;
    }
/*Kevin Powell tutorial based code*/
    nav {
        all: unset;
        grid-column: 3 / 4;
        display: flex;
        align-items: flex-end;
        margin-right: 10px;

    }

    nav a {
        opacity: 1;
    }
    nav li a:hover{
        text-decoration: underline;
    }

    nav ul {
        display: flex;
        justify-content: space-evenly;
        align-items: last baseline;
    }/*End of tutorial based code snippet*/

    .message a:hover {
        color: #DDE3FD;
    }

    /*Chainbridge*/
.chainbridge {
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
}

.image,
.image-cb {
    width: 50%;
  height: auto;
  object-fit: contain;
  float: left;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  margin-bottom: 4rem;
  }

.image img {
    width: 91vh;
    height: auto;
    display: block;
    margin-top: 3rem;
}

.image-cb img {
    width: 91vh;
    height: auto;
    display: block;
    margin-top: 3rem;
}

.text {
    flex: 1;
    flex-direction:column;
    padding: 30px;
    margin-top: 6rem;
    color: #DDE3FD;
}

/*Parliament*/
.parliament {
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
}

.image-parl,
.image-parliament {
    width: 50%;
    height: auto;
    object-fit: contain;
    float: left;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    margin-bottom: 3rem;
}

.image-parl img {
    width: 91vh;
    height: auto;
    display: block;
    }

.image-parliament img {
    width: 91vh;
    height: auto;
    display: block;
    margin-bottom: 2px;
}
.text-parl {
    padding: 30px;
    color: #DDE3FD;
}

/*Castle*/
.castle {
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    min-height: 100vh;
    width: 100%
}

.image-castle,
.image-buda {
    width: 50%;
    height: auto;
    object-fit: contain;
    float: left;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    margin-bottom: 3rem;
}

.image-castle img {
    width: 91vh;
    height: auto;
    display: block;
}

.image-buda img {
    width: 91vh;
    height: auto;
    display: block
}

.text-castle {
    padding: 30px;
    color: #DDE3FD;
}

.text-castle h2 {
    margin-right: 75rem;
}

/*Matyas Templom*/
.matthias-church {
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
}

.image-matt,
.image-matty {
    width: 50%;
    height: auto;
    object-fit: contain;
    float: left;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    margin-bottom: 4rem;
}

.image-matt img {
    width: 91vh;
    height: auto;
    display: block;
}

.image-matty img {
    width: 91vh;
    height: auto;
    display: block;
}


.text-matt {
    padding: 30px;
    color: #DDE3FD;
}

/*Fun Places*/
.szimpla {
    flex-direction: column;
    color: #DDE3FD;
    font-size: 1.4em;
    line-height: 1.4em;
    overflow: hidden;
  }
  
  .szimpla-image,
  .szimpla-tv {
    width: 50%;
  height: auto;
  object-fit: contain;
  float: left;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  margin-bottom: 4rem;
  }

  .szimpla-image img {
    width: 91.1vh;
    height: auto;
    display: block;
  }
    
  
  .szimpla-tv img {
    width: 91vh;
    height: auto;
    display: block;
  }

  .szimpla-text {
    margin-top: 3rem;
    padding: 20px;
}

/*Gellert*/
.gellert {
    flex-direction: column;
    color: #DDE3FD;
    line-height: 1.4em;
    font-size: 1.4em;
  }
  
  .gellert-image,
  .gellert-hotel {
    width: 50%;
    height: auto;
    object-fit: contain;
    float: left;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
  }
  
  .gellert-image img {
    width: 90.8vh;
    height: auto;
    display: block;
  }

  .gellert-hotel img {
    width: 100.4vh;
    height: auto;
    display: block;
    margin-bottom: 3rem;
  }

  .gellert-text {
    padding: 30px;
}

/*Szechenyi*/
.szechenyi {
    flex-direction: column;
    color: #DDE3FD;
    line-height: 1.4em;
    font-size: 1.4em;
  }
  
  .szechenyi-image,
  .szechenyi-pool {
    width: 50%;
    height: auto;
    object-fit: contain;
    float: left;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
  }
  
  .szechenyi-image img {
    width: 90.7vh;
    height: auto;
    display: block;
    margin-top: 5rem;
    margin-bottom: 4rem;
  }

  .szechenyi-pool img {
    width: 91vh;
    height: auto;
    display: block;
    margin-top: 5rem;
    margin-bottom: 5rem;
  }

  .szechenyi-text {
    padding: 30px;
  }

/*Market*/
.market {
    flex-direction: column;
    color: #DDE3FD;
    line-height: 1.4em;
    font-size: 1.4em;
  }
  
  .market-image,
  .market-two {
    width: 50%;
    height: auto;
    object-fit: contain;
    float: left;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
  }
  
  .market-image img {
    width: 91vh;
    height: auto;
    display: block;
    margin-top: 5rem;
  }

  .market-two img {
    width: 91vh;
    height: auto;
    display: block;
    margin-top: 5rem;
    margin-bottom: 4rem;
  }

  .market-text {
   padding: 30px;
}

/*Gallery based on love running code*/
/*#photo {
    column-count: 4;
    gap: 0;
 }
 
 .basilica-night {
    height: 575px;
 }

 .lanzhid {
    height: 920px;
 }
 .matt-bg {
    height: 420px;
 }

 .fog {
    height: 1080px;
 }*/
 #photo {
 grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
}
}

@media screen and (width: 600px) {
            .image img,
            .image-cb img,
            .image-parl img,
            .image-parliament img,
            .image-castle img,
            .image-buda img,
            .image-matt img,
            .image-matty img,
            .szimpla-image img,
            .szimpla-tv img,
            .gellert-image img,
            .gellert-hotel img,
            .szechenyi-image img,
            .szechenyi-pool img,
            .market-image img,
            .market-two img {
                width: 62.5vh;
            }
        
          }
          @media screen and (width: 320px) {
          .image img,
            .image-cb img,
            .image-parl img,
            .image-parliament img,
            .image-castle img,
            .image-buda img,
            .image-matt img,
            .image-matty img,
            .szimpla-image img,
            .szimpla-tv img,
            .gellert-image img,
            .gellert-hotel img,
            .szechenyi-image img,
            .szechenyi-pool img,
            .market-image img,
            .market-two img {
                width: 66.4vh;
            }
        }

        @media screen and (width: 384px) {
            .image img,
            .image-cb img,
            .image-parl img,
            .image-parliament img,
            .image-castle img,
            .image-buda img,
            .image-matt img,
            .image-matty img,
            .szimpla-image img,
            .szimpla-tv img,
            .gellert-image img,
            .gellert-hotel img,
            .szechenyi-image img,
            .szechenyi-pool img,
            .market-image img,
            .market-two img {
                width: 60vh;
            }
        }

        @media screen and (width: 375px) {
            .image img,
            .image-cb img,
            .image-parl img,
            .image-parliament img,
            .image-castle img,
            .image-buda img,
            .image-matt img,
            .image-matty img,
            .szimpla-image img,
            .szimpla-tv img,
            .gellert-image img,
            .gellert-hotel img,
            .szechenyi-image img,
            .szechenyi-pool img,
            .market-image img,
            .market-two img {
                width: 60vh;
            }
        }

        @media screen and (width: 360px) {
            .image img,
            .image-cb img,
            .image-parl img,
            .image-parliament img,
            .image-castle img,
            .image-buda img,
            .image-matt img,
            .image-matty img,
            .szimpla-image img,
            .szimpla-tv img,
            .gellert-image img,
            .gellert-hotel img,
            .szechenyi-image img,
            .szechenyi-pool img,
            .market-image img,
            .market-two img {
                width: 60vh;
            }
        }

        @media screen and (width: 411px) {
            .image img,
            .image-cb img,
            .image-parl img,
            .image-parliament img,
            .image-castle img,
            .image-buda img,
            .image-matt img,
            .image-matty img,
            .szimpla-image img,
            .szimpla-tv img,
            .gellert-image img,
            .gellert-hotel img,
            .szechenyi-image img,
            .szechenyi-pool img,
            .market-image img,
            .market-two img {
                width: 60vh;
            }
        }

        @media screen and (width: 414px) {
            .image img,
            .image-cb img,
            .image-parl img,
            .image-parliament img,
            .image-castle img,
            .image-buda img,
            .image-matt img,
            .image-matty img,
            .szimpla-image img,
            .szimpla-tv img,
            .gellert-image img,
            .gellert-hotel img,
            .szechenyi-image img,
            .szechenyi-pool img,
            .market-image img,
            .market-two img {
                width: 60vh;
            }
        }