@import url('https://fonts.googleapis.com/css2?family=Mitr:wght@400;500&family=Roboto&display=swap');

* {
    margin: 0;
    padding: 0;
    border: none;
}

body {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    color: #161B29;
}

html, body {
    height: 100vh; /* allows for sizing of sections relative to viewport */
    width: 100vw;
    position: relative; /* allows for positioning of sections relative to viewport */
}

h1, h2, h3, h4 {
    font-family: 'Mitr', sans-serif;
    font-weight: 500;
}

img {
    background-color: #BD9792;
}
 
h1 {
    font-size: 4em;
}

h2 {
    font-size: 1.5em;
}

h3 {
    font-size: 1.2em;
}

p {
    font-size: 1em;
}

figcaption {
    font-size: 0.8em;
}

div.items-group a, a.tools, #submit {
    padding: 0.2rem;
    margin: auto 1rem;
    font-size: 1em;
    border-radius: 1rem;
    text-decoration: none;
}

/* Navbar, Nav Elements and Logo */
.bar {
    width: 100vw;
    height:50px;
    background-color: #493A48;
    color: #BD9792;
}

.navbar {
    position: fixed;
    width: 100vw;
    z-index: 2;
    height: 50px;
}

.navbar a {
    color:inherit;
    text-decoration: none;
}

.logo {
    font-size: 2em;
    margin-left: 1.5rem;
    order: 1;
    margin-bottom: 0.5rem;
}

#main-menu {
    letter-spacing: 0.1em;
    color: inherit;
}

#dummy-checkbox-label {
    display: none;
}

/* code copied from https://codepen.io/alvarotrigo/pen/XWejzjR   and modified. see Readme.md*/
.main-menu-items {
    order: 2;
    display: flex;
  }

  .navbar-container {
    display: flex;
    justify-content: space-between;
    height: fit-content;
    align-items: center;
  }
  /* end of copied and modified code */

.main-menu-items li {
    list-style-type: none;
    margin-right: 2rem;
    font-family: Mitr, sans-serif;
    font-weight: 500;
    font-size: 1.38em;
    float: left;
}
.navbar a:hover, .main-menu-items li:hover, .social-networks a:hover {
    color:cornsilk;
}

/* colour for call to action elements */
.call-to-action {
    color: cornsilk;
    background-color: #493A48;
    width:fit-content;
    border-radius: 2rem;
    padding: 0 1rem;
    border: #161B29 solid 2px;
}

.call-to-action:hover {
    color: #493A48;
    background-color: cornsilk;
    border: #161B29 solid 2px;
}

/* Generic Section attributes */
.section-wrapper {
    z-index: 0;
    width: 100vw;
    height: 80vh;
    position:relative;
    padding-top: 50px;
}

.section-content-outer-wrapper {
    width: 100%;
    height: 85%;
    display: flex;
    justify-content: space-between;
}

.section-content-left {
    width: 50%;
    display:flex block;
    justify-content: center;
    padding:2% 10%;
}

.items-group {
    padding: 1rem;
}

.section-content-right {
    height:100%;
    width: 50%;
    display: flex;
    position: relative;
}

.section-content-right-figure {
    height: 100%;
    width: 100%;
    position: absolute;
}

.section-content-right-img {
    width: 100%;
    height:100%;
    object-fit: cover;
    border-radius: 40% 0 0 40%;
}

.section-wrapper > h1 {
    text-align: center;
    margin-top: 1vh;
    letter-spacing: 0.2vw;
}

.text-right {
    text-align: right;
}

/* Enjoy Fire Section */
#enjoy-fire-content-wrapper {
    margin-top: 50px;
    display: inline-flex;
    flex-direction: row;
    justify-items: center;
    justify-content: space-around;
}

.enjoy-fire-items {
    padding-top: 5rem;
    width:fit-content;
}
.enjoy-fire-items a {
    text-decoration: none;
    color: inherit;
}

.enjoy-fire-items p {
    font-family:Mitr, sans-serif;
    font-weight: 500;
    font-size: 1em;
}

#enjoy-fire-items-left > div, #enjoy-fire-items-right > div {
    padding-top: 50px;
}

#enjoy-fire-items-left {
    width: fit-content;
    min-width: min-content;
    padding: 0 1rem;
}

#enjoy-fire-items-right {
    width: fit-content;
    min-width: min-content;
    padding: 0 1rem;
}

#hero-image-wrapper {
    width: 40rem;
    min-width: 40rem;
    height: 30rem;
    position:relative;
    overflow: hidden;
    border-radius: 20px;
}

#hero-img {
    width: 60rem;
    object-fit: cover;
    object-position: -6rem -10rem;
}

/* Light a Fire Section */
#lightfire {
    height: fit-content;
}

#lightfire-content-wrapper {
    display: inline-flex;
}

.lightfire-fig {
    width: 95%;
}

.lightfire-img {
    object-fit: contain;
    width:100%;
    border-radius: 0;
}

/* Lightfire-aside */
#lightfire-aside {
    width: 16.66%;
    height: 600px;
    margin-left: 2rem;
    top: 20%;
    position: sticky;
    float:left;
    overflow: hidden;
}

#lightfire-aside h2 {
    text-align: left;
}

#lightfire-aside-inner {
    width: 100%;
}

#lightfire-aside-inner li {
    list-style: none;
    font-family:Mitr, sans-serif;
    font-weight: 400;
    font-size: 0.9em;
    padding: 0.5rem 0.5rem 0 0;
}

#lightfire-aside-inner a {
    text-decoration: none;
    color: cornsilk;
}

div.lf-aside-cta > a {
    color: cornsilk;
}

div.lf-aside-cta:hover {
    color: #493A48;
}

#aside-fire-img-fig  {
    margin-top: 20px;
}

/* lightfire-article */
#lightfire-article {
    width: 80%;
    height: fit-content;
    margin-left: 3rem;
    margin-right: 2rem;
    display:grid;
    grid-template-columns: 1fr 1fr 1fr;
}

#lightfire-article > h2 {
    text-align: center;
    margin-top: 4em;
}

 #lightfire-article  p {
    padding:1em 0;
}

#lightfire-article section {
    padding: 1em 1em;
    border-bottom: #161B29 solid 2px;
}

/* 
Lightfire aside Contents link position offset adjusting for navbar.
Solution from Hrvoje Miljak/ Stack Overflow/ see Readme.md
*/
h3.navbar-offset {
    position: relative;
}

h3.navbar-offset span {
    position:absolute;
    top: -6vh;
}

/* Tools for fire Lighing Section */
.tools-wrapper-outer {
    position:relative;
    width: 100%;
    height: 30%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    justify-content: center;
    margin-top: 2%;
}

.tools-wrapper-inner {
    position: relative;
    width: 90%;
    margin: 0 2%;
    justify-content: center;
    text-align: center;
}

figure.tools {
    width: 100%;
    text-align: center;
}

img.tools {
    width: 80%;
    object-fit: contain;
    border-radius: 20%;
    border:#161B29 solid 2px;
}

h2.tools {
    margin-top: 0.5rem;
}

p.tools {
    margin: 0.5rem;
}

a.tools {
    margin-top: 0.5rem;
}

/* Responisble Fire Lighting Section */
#responsible-img {
    object-position: 0 75%;
}

#memories {
    z-index: 1;
    margin-top: 10%;
    margin-left: 60%;
}

#memories h2 {
    color:#BD9792;
    padding: 1%;
    font-size: 1.5em;
}

#responsible-content-left p {
    margin-bottom: 1rem;
}

/* Stay In Touch Section */
#stay-in-touch {
    height: 90%;
}

#stayintouch-content-outer-wrapper {
    height: 80%;
}

/* Form */
#form  legend {
    font-family:Mitr, sans-serif;
    font-weight: 500;
    margin-top: 10px;
}

#form input {
    border:#161B29 solid 1px;
}

.input-background-colour:hover {
    background-color: #BD9792;
}

/* Footer */
#footer {
    position: relative;
    bottom: 0px;
}

#footer-response {
    position: absolute;
    bottom: 0px;
}

.social-networks {
    display: flex;
    justify-content: center;
    justify-items: center;
}

.social-networks li {
    display: inline;
    padding: .5rem 8rem;
}

.social-networks a {
    color:inherit;
    text-decoration: none;
    font-size: 2em;
}

/* Response Page */
#response {
    height: 100vh;
}

#response-content-outer-wrapper {
    margin-top: 5%;
    position: absolute;
}

#left-content {
    padding-top: 11vw;
    padding-left: 15vw;
    padding-right: 0%;
}

#left-content * {
    width: fit-content;
}

/* Extra small devices (phones, 600px and down) in protrate */
@media only screen and (max-width: 600px) {
    h1 {
        font-size: 2em;
        padding: 0px;
    }

    .section-wrapper {
        height: 85vh;
    }
    
    .section-content-outer-wrapper {
        display: grid;
        grid-template-columns: 1fr;
    }

    .section-content-right {
        order: 1;
        width: 90%;
        height: 25vh;
        margin-left: 20px;
    }

    .section-content-left {
        order: 2;
        margin-top: 40px;
        width: 90%;
        display: grid;
        columns: 1;
    }

    .section-content-right-img {
        border-radius: 0;
    }

    .text-right {
        text-align: center;
    }

    /* Hamburger Menu code copied from https://codepen.io/alvarotrigo/pen/XWejzjR  and modified see Readme.md*/
    .navbar {
        opacity: 0.95;
    }
    
    .navbar-container input[type="checkbox"], .navbar-container .hamburger-lines {
        display: block;
    }
    
    .navbar-container {
        display: block;
        position: relative;
        height: 64px;
    }
    
    .navbar-container input[type="checkbox"] {
        position: absolute;
        display: block;
        height: 32px;
        width: 30px;
        top: 20px;
        left: 20px;
        z-index: 5;
        opacity: 0;
    }
    
    .navbar-container .hamburger-lines {
        display: block;
        height: 23px;
        width: 35px;
        position: absolute;
        top: 17px;
        left: 20px;
        z-index: 2;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    
    .navbar-container .hamburger-lines .line {
        display: block;
        height: 4px;
        width: 100%;
        border-radius: 10px;
        background: #BD9792;
    }
    
    .navbar-container .hamburger-lines .line1 {
        transform-origin: 0% 0%;
        transition: transform 0.4s ease-in-out;
    }
    
    .navbar-container .hamburger-lines .line2 {
        transition: transform 0.2s ease-in-out;
    }
    
    .navbar-container .hamburger-lines .line3 {
        transform-origin: 0% 100%;
        transition: transform 0.4s ease-in-out;
    }
    
    .navbar .main-menu-items {
        padding-top: 100px;
        background: #493A48;
        color: #BD9792;
        height: fit-content;
        max-width: 300px;
        transform: translate(-150%);
        display: flex;
        flex-direction: column;
        margin-left: -40px;
        padding-left: 50px;
        transition: transform 0.5s ease-in-out;
        box-shadow: 5px 0px 10px 0px #aaa;
    }
    
    .navbar .main-menu-items li {
        margin-bottom: 1.5rem;
        font-size: 1.5rem;
    }
    
    .logo {
        position: absolute;
        top: 5px;
        right: 15px;
        font-size: 1.8rem;
    }
    
    .navbar-container input[type="checkbox"]:checked ~ .main-menu-items {
        transform: translateX(0);
    }
    
    .navbar-container input[type="checkbox"]:checked ~ .hamburger-lines .line1 {
        transform: rotate(35deg);
    }
    
    .navbar-container input[type="checkbox"]:checked ~ .hamburger-lines .line2 {
        transform: scaleY(0);
    }
    
    .navbar-container input[type="checkbox"]:checked ~ .hamburger-lines .line3 {
        transform: rotate(-35deg);
    }
    /* end of copied code */

    /* Enjoy Fire Section (small screen) */
    #enjoy-fire-content-wrapper {
        margin-top: 50px;
        display: flex block;
    }

    #hero-image-wrapper {
        order: 1;
        border-radius: 0;
        width: 400px;
        height: 190px;
    }

    #hero-img {
        width: 400px;
        object-position: -15px -70px;
        object-fit: cover;
    }

    .enjoy-fire-items {
        padding-top: 5px;
    }

    .enjoy-fire-items p {
        font-size: 0.7em;
    }

    #enjoy-fire-items-left > div, #enjoy-fire-items-right > div {
        padding-top: 0px;
    }

    #enjoy-fire-items-left {
        padding: 0 30px;
    }
    
    #enjoy-fire-items-right {
        padding: 0 30px;
    }

    /* Light Fire Section small screen) */
    #lightfire-content-wrapper {
        display: block;
    }

    #lightfire-aside {
        display: flex block;
        width:100%;
        height: fit-content;
        position: relative;
    }

    #lightfire-aside h2, #lightfire-aside-inner {
        display: none;
    }

    #lightfire-article {
        grid-template-columns: 1fr;
    }

    /* Tools For Firelighting Section Small Screens */
    #tools {
        height: fit-content;
    }

    .tools-wrapper-outer {
        display: block;
    }

    .tools-wrapper-inner {
        width: 90%;
        margin-top: 1rem;
    }
    
    /* Responsible Fire Section */
    #responsible-fire-lighting {
        height: fit-content;
    }
    #memories {
        margin-top: 5%;
        margin-left: 65%;
    }

    #memories h2 {
        font-size: 0.8em;
        padding: 1%;
    }

    #stay-in-touch {
        height: fit-content;
        padding-bottom: 3rem;
    }

    /* Response Page */
    #left-content {
        margin: auto;
        padding-left: 0;
    }

    #footer {
        position: fixed;
        bottom: 0px;
    }

    .social-networks li {
        padding: .5rem 2rem;
    }
}

/* Mid range devices - unique code  */
@media only screen and (min-width: 601px) and (max-width: 1028px) {
    
    /* code copied from https://codepen.io/alvarotrigo/pen/XWejzjR */
    .bar input[type="checkbox"], .bar .hamburger-lines {
        display: none;
        }
    /* end of copied code */

    .section-content-left {
        margin: auto;
    }

     /* Enjoy Fire */
    /* Mid range hero image modification */
    #hero-image-wrapper {
        order: 1;
        border-radius: 2em;
        width: 30rem;
        min-width: 30rem;
        height: 17rem;
        margin:auto;
    }

    #hero-img {
        width: 34rem;
        object-position: 0 -5rem;
        object-fit: cover;
    }

    #enjoy-fire-content-wrapper {
        height: 90%;
    }

    .enjoy-fire-items {
        padding-top: 5rem;
        width:fit-content;
        margin: 10px auto 0 25vw;
    }

    /* Lightfire-aside */
    #lightfire-aside {
        display: none;
    }

    /* lightfire-article */
    #lightfire-article {
        grid-template-columns: 1fr 1fr;
    }

    /* Tools For Firelighting Section Small Screens */
    #tools {
        height: fit-content;
    }

    .tools-wrapper-outer {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .tools-wrapper-inner {
        width: 90%;
        margin-top: 1rem;
    }
}

/* Mid range and small devices - common code (phones, tablets etc 1028px and down) */
@media only screen and (max-width: 1028px) {

    /* Enjoy Fire Section */
    #enjoy-fire-content-wrapper {
        flex-direction: column;
        margin-top: 5px;
        overflow: hidden;
    }

    #enjoy-fire-items-left  > div, #enjoy-fire-items-right > div {
        padding-top: 0px;
    }

    #enjoy-fire-items-left {
        order: 2;
    }

    #enjoy-fire-items-right {
        order: 3;
    }

    .enjoy-fire-items {
        padding-top: 0px;
    }

    .enjoy-fire-items h2 {
        font-size: 1em;
    }

    #ef-lightfire {
        margin-top: 10px;
    }
}

/* Lower- Mid-range devices (portrait tablets, large phones etc beteween 601px and 959 px) */
@media only screen and  (min-width: 601px) and (max-width: 959px) {
    .navbar {
        height: 100px;
    }

    .logo {
        font-size: 1.4em;
    }

    .section-wrapper {
        padding-top: 100px;
        height: 73vh;
    }

    .section-content-outer-wrapper {
        height: 70%;
    }

    .section-content-left {
        padding: 1rem 1rem;
    }

    .items-group {
        padding: 0.2rem;
    }
    /* Stay In Touch Section */
    #stay-in-touch {
        height: 85%;
    }

    #stayintouch-content-outer-wrapper {
        height: 70%;
    }
}

/* Upper mid-range devices (Lanscape tablets, Laptops etc, beteween 960px and 1028 px) */
@media only screen and (min-width: 960px) and (max-width: 1028px) {
    .section-wrapper {
        padding-top: 50px;
        height: 82vh;
    }

    .section-content-outer-wrapper {
        height: 70%;
    }
}

/* Large devices (desktops, 1029px and up) */
@media only screen and (min-width: 1029px) {
    /* code copied from https://codepen.io/alvarotrigo/pen/XWejzjR */
    .bar input[type="checkbox"], .bar .hamburger-lines {
        display: none;
     }
    /* end of copied code*/
}
