/* 
*  CSS TABLE OF CONTENTS
*   
*  1.0 - Foundational/Global body and html styling
*  2.0 - Header/Primary Navigation
*  3.0 - Secondary Navigation
*  4.0 - Homepage Content
*  5.0 - Footer
*  6.0 - Places and Events styling
*  7.0 - Transport and Food styling
*  8.0 - Hotels and Travel Tips styling
*/

/*** 1.0 - foundational body/html styling ***
*******************************************************************************************************************************************************************************************************************************************************
 * foundational body/html styling *********************************************************************************************************************************************************************************************************************
*******************************************************************************************************************************************************************************************************************************************************
/

/* The document uses Kanit google fonts with a dark navy background. It is centered with consistent padding*/
body,
html {
  font-family: 'Open Sans', sans-serif;
  height: 100%;
  margin: 0 auto;
  background-color: #fff;
  color: rgb(36, 36, 36);
}

/*1rem equals the font size of the html element (which for most browsers has a default value of 16px
headers are bold to stand out*/
h1 {
  text-align: center;
  font-weight: bold;
  font-size: 3.5rem;
}

/*h2 headings are used quite commonly on the page and I did want to make them too big*/
h2 {
  font-weight: bold;
  font-size: 1.3rem;
}

/*lists by default have no styling with margins removed*/
ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

/*change font size if screen is small*/
@media only screen and (max-width: 1010px) {

  p {
    font-size: 24px;
  }
}

/*** 2.0 - Header/Primary Navigation ***
*******************************************************************************************************************************************************************************************************************************************************
 * primary navigation *********************************************************************************************************************************************************************************************************************************
******************************************************************************************************************************************************************************************************************************************************/

/*Header uses a fixed hero image to be displayed above the main content */
.homepageHeader {
  display: block;
  width: 100%;
  /* Full width */
  margin-bottom: 20px;

}

/*This header is an alternative to the homepage one without the large background*/
.alternativeHeader {
  display: block;

  width: 100%;
  /* Full width */
  margin-bottom: 20px;
}



/*primary navigation This navigation menu is created with list and is styled to match main content for consistency*/
.nav {
  background-color: #fff;
  border-width: 0.5px 0;
  border-bottom: 1px solid rgb(146, 131, 131);
  margin: 0;
  padding-left: 10px;
  font-size: 17.6px;
  font-family: 'Roboto', sans-serif;
  font-weight: 900;
}

/* the image has a negative margin value to align with the below menu */
.nav img {
  margin-left: -31px;
  width: 270px;
  max-width: 330px;
  min-width: 50px;
}

.nav ul{
  margin-left: 30px;
}

.nav li{
  padding: 10px 0px 10px 0px;
  font-size: 17.6px;
  font-family: 'Roboto', sans-serif;
  font-weight: 900;
}

.nav a {
  display: inline-block;
}

/*active link, unvisited link, visited link, selected link  with no text decoration*/
.nav a:link,
a:hover,
a:active, 
a:visited{
  text-decoration: none;
}

/* visited link, selected link */
.nav a:visited,
a:active,
a:link {
  color: #000;
}

/* mouse over link, affects dropdown menus */
.nav li a:hover {
  color: #727272;
}

/* The container <div> - needed to position the dropdown content */
.dropdown {
  margin-left: 10px;
  position: relative;
  display: inline-block;
}

/* unvisited link, visited link, selected link  */
.dropdown a:hover{
  color: #727272;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

 /* Links inside the dropdown */
 .dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
  }

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
  display: block;
}

/*change navigation if screen is small*/
@media only screen and (max-width: 1010px) {

  ul.nav li {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 37px;
  }
  /* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
  display: none;
}
}



/*** 3.0 - Secondary Navigation ***
*******************************************************************************************************************************************************************************************************************************************************
 * Secondary Navigation *******************************************************************************************************************************************************************************************************************************
*******************************************************************************************************************************************************************************************************************************************************
/

/* Secondary navigation menu */

.secondarynav ul {
  font-size: 1.3rem;
  font-family: 'Roboto', sans-serif;
  margin-top: 17.6px;
  font-weight: 500;

}

/*if media screen is small enlarge font for p element*/
@media screen and (max-width: 1010px) {
  .secondarynav ul {
    font-size: 37px;
  
  }

}

/*The text and image icon are aligned using display flex and align-items center*/

.secondarynav li {
  list-style: none;
  width: 80%;
  display: flex;
  align-items: center;
}

.secondarynav a {
  color: #000;
  text-decoration: none;
  padding: 0.25rem;
  display: block;
  letter-spacing: 0.0625em;
}

.secondarynav a:link {
  color: #000;
}

/* mouse over link */
.secondarynav a:hover {
  color: #727272;
}

/* selected link */
.secondarynav a:active {
  color: blue;
}

.secondarynav img {

  width: 25%;
  min-width: 15px;
  max-width: 25px;
  vertical-align: top;
}

/* Two column layout */


/*** 4.0 - Homepage ***
*******************************************************************************************************************************************************************************************************************************************************
 * Homepage main content ******************************************************************************************************************************************************************************************************************************
*******************************************************************************************************************************************************************************************************************************************************
*/

/*Video acts as a banner*/
#video {
    width: 100%;
}

/*The main content utilises flexbox for a responsive layout*/
.flex-container {
  margin: 0 auto;
  max-width: 1250px;
  min-width: 50px;
  padding-left: 52px;
  padding-right: 52px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
}

.flex-container p {
  min-width: 20px;
}


/*specific pixel size and line height is used here so this paragraph stands out a little more, width is also adjusted*/
#introParagraph {
  margin: 0 auto;
  text-align: center;
  /*font-size: 1.4rem;*/
  line-height: 1.6;
  width: 67%;

}

/*font in each section is a little bit bigger than standard to help so users can quickly navigate to the relevant area of the site*/
section {
  padding: 5px;
}

section img {
  padding-right: 20px;
}


/*this link utilizes inline-flex to size the background of the button to an appropriate size, 
align items is used so the arrow is alligned with the text*/
.thumnbnailLink {
  font-size: 0.7rem;
  color: #fff;
  background-color: #000;
  padding: 17px 58px 17px 58px;
  display: inline-flex;
  align-items: center;

}

/*When you hover over this thumbnail it changes colour*/
.thumnbnailLink:hover {
  color: #fff;
  background-color: rgb(90, 90, 90);

}

/*if media screen is small enlarge the font*/
@media screen and (max-width: 1010px) {
    .thumnbnailLink {
      font-size: 17.6px
    }
  }

/*sections in the content on the main page alternate between having the image on the left and right*/
.imgLeft {
  float: left;
  width: 450px;
  max-width: 450px;
  min-width: 20px;

}

/*sections in the content on the main page alternate between having the image on the left and right, this has padding to the left to create space with text*/
.imgRight {
  float: right;
  width: 450px;
  max-width: 450px;
  min-width: 20px;
  padding-left: 20px;

}

/*horizontal rule is used to divide the different types of content here*/
hr.rounded {
  border-top: 6px solid #fff;
  border-radius: 5px;
}

/*css for the two short reviews on the homepage*/
.main {
  margin-left: -12px;
  display: flex;
  flex-direction: row;

}

.main article {
  padding: 10px;
  width: 70%;
  max-width: 90%;
}

.main img {
  width: 100%;
  max-width: 750px;
  min-width: 50px;
}

/*if media screen is small enlarge the font and change the direction the flexbox to column*/
@media screen and (max-width: 1010px) {
  .main {
    flex-direction: column;
    font-size: 19.6px;
  }
}


/*font in each section is a little bit bigger than standard to help so users can quickly navigate to the relevant area of the site*/

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



/*footer was created at the beginning and was left as a placeholder until I created content for it, the background color is different to stand out from the main content*/
footer {
  position: static;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: #19110b;
  color: white;
  text-align: left;
}

/*primary navigation This navigation menu is created with list and is styled to match main content for consistency*/
.bottom {
  margin: 0;
  padding-left: 10px;
  padding-bottom: 16px;
  font-family: 'Roboto', sans-serif;
  font-weight: 300;

}

.bottom li {
  display: inline;
  font-size: 17.6px;
}

.bottom a {
  display: inline-block;
  padding: 10px 60px 10px 10px;
}

/*active link, unvisited link, visited link, selected link with no decoration */
.bottom a:link,
a:visited,
a:hover,
a:active {
  text-decoration: none;
}


/* unvisited link, visited link, selected link  */
.bottom a:link,
a:hover,
a:active {
  color: #fff;
}

/* visited link */
.bottom a:visited {
  color: #fff;
}

/* mouse over link */
.bottom a:hover {
  color: #000;
}


/*horizontal rule is used to divide the different types of content here*/
.bottomRule {
  border-top: 6px solid #fff;
  border-radius: 5px;
}

/* the image is aligned with the footer menu */
.bottom img {
  padding-top: 40px;
  margin-left: 5px;
  width: 100px;
  max-width: 100px;
  min-width: 30px;
}



/*If the screen is small change the size of the footer font to be larger*/
@media screen and (max-width: 1010px) {
  .bottom li {
    font-size: 19.6px;
  }
}


/*** 6.0 - Places and Events ***
*******************************************************************************************************************************************************************************************************************************************************
 * The Places and Events pages use similar styling ****************************************************************************************************************************************************************************************************
*******************************************************************************************************************************************************************************************************************************************************

/*opening paragraph and header for main content*/
.preamble{
  text-align: center;
  padding-left: 16px;
  padding-right: 16px;
  margin-left: 16px;
  margin-right: 16px;
}

/*this class is for the places and events content and is responsive to the window/screen size*/
.placesgallery {
  display: flex;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 1rem;
}

/*This is the styling for information the individual places or events*/
.places {
  width: 500px;
  margin: 1rem 0.25rem;
  padding: 1rem;
  font-size: 24px;
}

.places img {
  display: block;
  max-width: 80%;
  margin: 0.5rem auto;
}

.places h3 {
  color: #000;
  text-align: center;
}

/*this link style changes background color when hovered*/
.tickets {
    font-size: 0.7rem;
    color: #fff;
    background-color: #19110b;
    padding: 17px 58px 17px 58px;
    display: inline-flex;
    align-items: center;
  
  }

  .tickets a {
    text-decoration: none;
  }
  
  /*When you hover over this thumbnail it changes colour*/
  .tickets:hover {
    color: #fff;
    background-color: rgb(65, 53, 45);
  
  }
  
  /*if media screen is small enlarge the font*/
  @media screen and (max-width: 1010px) {
      .tickets {
        font-size: 17.6px;
        text-align: center;
        width: 30%;
        display: block;
        margin: 0.5rem auto;
      }
    }

/*** 7.0 - Food and Transport ***
*******************************************************************************************************************************************************************************************************************************************************
 * The Food and Transport pages use similar styling ***************************************************************************************************************************************************************************************************
*******************************************************************************************************************************************************************************************************************************************************
*/

/*I have a large monitor so I need to change the min height of the wrapper to fit the screen*/
.pagewrapper {
  width: 90%;
  min-height: calc(100vh - 180px);
  margin: 0.5rem auto;
}

/*This is the column for the navigation*/
.leftColumn {
  margin-left: -24px;
  display: inline-block;
  margin-right: 30px;
  width: 25%;
  vertical-align: top;
}

/*This is the column for the main content*/
.rightColumn {
  display: inline-block;
  width: 70%;
  vertical-align: top;
  padding-left: 19px;
  padding-right: 16px;
  
}

/*This is a separate class for the main header in the rightColumn*/
.rightColumnHeader {
  font-family: 'Roboto', sans-serif;
  text-align: left; 
  font-size: 1.8rem;
  margin-top: 18px;
  vertical-align: top;
  width: 2%;
  display: flex;
}

/*This is for the images of the main content*/
.rightColumn img {
  width: 80%;
  max-width: 500px;
  min-width: 50px;
}

/*This is to match the width of any images*/
.rightColumn p {
  width: 80%;
  max-width: 500px;
}

.rightColumn ul {
  width: 80%;
  max-width: 500px;

}

/*Styling links in this section*/

.rightColumn a {
  text-decoration: none;
}

.rightColumn a:hover{
  color:#727272;
}

.rightColumn a:link, a:visited, a:active{
  color:#000000;
}

/*This is styling for the icons in the hotel details list*/
#brandIcons {
  width: 100px;
  display: inline-block;
  max-width: 103px;
  min-width: 30px;
}

/*if media screen is small enlarge font for p, h1, li elements and change the width, padding and margin*/
@media screen and (max-width: 1010px) {
  .leftColumn {
    width: 90%;
    margin-left: 0px;
  }
  .rightColumn {
    width: 100%;
    margin-left: 0px;
    padding-right: 0px;
    padding-left: 0px;
  }
  .rightColumn p {
    font-size: 17.6px;
  }

  .rightColumn li {
    font-size: 17.6px;
  }
}
/*** 8.0 - Hotels and Travel Tips ***
*******************************************************************************************************************************************************************************************************************************************************
 * Hotels and Travel Tips styling *********************************************************************************************************************************************************************************************************************
*******************************************************************************************************************************************************************************************************************************************************
*/

/*This is the wrapper for the content stretch to fit 80% of screen but the full height*/
.singleWrapper {
  margin: 0 auto;
  margin-top: 30px;
  min-height: calc(100vh - 180px);
  width: 80%;
  max-width: 650px;
}

/*This is for the images of the content*/
.singleWrapper img {
  width: 100%;
  max-width: 650px;
  min-width: 50px;
}

/*This is to match the width of any images*/
.singleWrapper p {
  max-width: 650px;
  min-width: 50px;
}

/*This is styling for the icons in the hotel details list*/
#hotelIcons {
  vertical-align: baseline;
  width: 100%;
  max-width: 103px;
  min-width: 30px;
}