  /* 
  Personal Website Style Sheet
  Filename: styles.css
  
  Author: Winson Low Zi Cai
  Date: 07-Nov-2018    
  */
   
  /* reset styles / /*MUST INCLUDE RESET STYLES!*/
  body, a, figure, ul, article{
    border: 0;
    padding: 0;
    margin: 0;
  }

	/* banner/logo at the top of page*/
  .banner figure img{
    display: block;
    position: absolute;
    z-index: 1;
    margin: 15px 0;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
  }
	/* navigation bar */
	nav.navbar{
		background-color: #192d4f;
		font-size: 1.4em;
		position: sticky;
		top: 0;
		min-width: 465px;
	}

	nav.navbar ul{
		list-style-type: none;
	}

	nav.navbar li{
		display: inline-block;

	}

	nav.navbar a{
    color: white;
		display: inline-block;
		padding: 12px 16px;
	}

	nav.navbar a:link{
    color: white;
		text-decoration: none;
	}

	nav.navbar a:visited{
		color: white;
	}

	nav.navbar a:hover, nav.navbar a:focus {
	background-color: #30579b;
	}

	/* highlight section of navbar currently on */
	.selected{
		color: white;
		background-color: #30579b;
	}

	/* dropdown list */
	.dropdown .dropbtn {
    font-size: 1em;  
    border: none;
    outline: none;
    color: white;
    background-color: #192d4f;
    font-family: inherit;
    padding: 12px 16px;
	}

	.selected .dropdown .dropbtn{
		background-color: #30579b;
	}

	nav.navbar a:hover, .dropdown:hover .dropbtn {
	 color: white;
    background-color: #30579b;
	}

	.dropdown-content {
    display: none;
    position: absolute;
    background-color: white;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
	}

	.dropdown-content a:link{
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
	}

  nav.navbar ul li div.dropdown div.dropdown-content a{
    color: black;
  }

	nav.navbar ul li div.dropdown div.dropdown-content a:visited{
	  color: black;
	}

	nav.navbar ul li div.dropdown div.dropdown-content a:hover{
	  color: white;
	}

	.dropdown:hover .dropdown-content {
    display: block;
	}

	/* contents within the body*/
	body{
		background-repeat: no-repeat;
		background-attachment: fixed;
		background-size: cover;
		background-image: url("images/background.png");
		font-family: "Roboto";
	}

	/* for home page */
  .leftcolumn{
    float: left;
    width: 59%;
    padding-left: 10%;
    padding-bottom: 10px;
  }
  
  .rightcolumn{
    position: sticky;
    float: left;
    width: 19.7%;
    margin-left:1em;
    padding-right: 10%;
    top: 3.25em;
  }  
  
	/* for other pages */
	article{
    padding-right: 10%;
    padding-left: 10%;
    width: 80%;
  }

	.card {
    background-color: white;
    padding: 0.3em 1.3em;
    margin-top: 1em;
    overflow: auto;
    clear: both;
    border-radius: 5px;
  }

  .center{
    display: block;
    margin-left: auto;
    margin-right: auto;
  }

    /* content within home */
  figcaption{
    text-align: center;
    font-style: italic;
  }

  .leftcolumn img{
    height: 70%;
    width: 70%;
  }

  #zo2017:before {
  	content: "";
  	display:block;
  	height: 3.2em; 
  	margin: -3.2em 0 0; 
  	visibility: hidden;
	}

	#zo2016:before {
  	content: "";
  	display:block;
  	height: 3.2em; 
  	margin: -3.2em 0 0; 
  	visibility: hidden;
	}

	#ilr2018:before {
  	content: "";
  	display:block;
  	height: 3.2em; 
  	margin: -3.2em 0 0; 
  	visibility: hidden;
	}

	/* about page */
  #djabout{
    display: inline-block;
    width: 66%;
    text-align: justify;
    float: left;
    margin-left: 17px;
  }

    
  #me{
    width: 31%;
    display: inline-block;
    float: left;
    overflow: hidden;
  }

  #me img{
  	width: 97%;
  	height: 97%;
  }

  #me figcaption table{
    width: 100%;
  }

  .abtlist{
 	  margin: 1em;
 	  padding-left: 2em;
  }

    /* services page */
	#nightlife:before {
	  content: " ";
  	display: block;
  	height: 3.2em; 
  	margin: -3.2em 0 0;
  	visibility: hidden;
	}

	#parties:before {
	  content: " ";
  	display: block;
  	height: 3.2em; 
  	margin: -3.2em 0 0;
  	visibility: hidden;
	}

	#bookingcal:before {
	  content: " ";
  	display: block;
  	height: 3.2em; 
  	margin: -3.2em 0 0;
  	visibility: hidden;
	}

    /* mobile contact page; social buttons */
  #mobilecontacts ul{
    list-style-type: none;
    height: 110px;
  }

  #mobilecontacts li{
  	display: inline-block;
  	height: 100px;
  	width: 25%;
  	text-align: center;
  	float: left;
  	margin:0;
  	padding:0;
  	font-size: 1.6em;
  }

  #mobilecontacts a{
  	color: white;
  	background-color: black;
  	display: block;
  	margin: 1px;
  	line-height: 100px;
  	text-decoration: none;
  	border-radius: 7px;
  }
  #mobilecontacts .fb a:hover{
  	background-color: #3b5998;
  }
  #mobilecontacts .ig a:hover{
  	background-color: #DD2A7C;
  }
  #mobilecontacts .tt a:hover{
  	background-color: #38A1F3;
  }
  #mobilecontacts .em a:hover{
  	background-color: #D44638;
  }
    /* contact page; social buttons */
  #contacts ul{
    list-style-type: none;
    height: 110px;
  }

  #contacts li{
    display: inline-block;
    height: 100px;
    width: 25%;
    text-align: center;
    float: left;
    margin:0;
    padding:0;
    font-size: 1.6em;
  }

  #contacts a{
    color: white;
    background-color: black;
    display: block;
    margin: 1px;
    line-height: 100px;
    text-decoration: none;
    border-radius: 7px;
  }
  #contacts .fb a:hover{
    background-color: #3b5998;
  }
  #contacts .ig a:hover{
    background-color: #DD2A7C;
  }
  #contacts .tt a:hover{
    background-color: #38A1F3;
  }
  #contacts .em a:hover{
    background-color: #D44638;
  }

    /* contact form */
  .contactform {
    border-radius: 7px;
    background-color: #f2f2f2;
    padding: 20px;
    margin: 10px 0px;
	}

	input[type=text], select, textarea {
    width: 100%; 
    padding: 12px; 
    border: 1px solid lightgrey; 
    border-radius: 6px; 
    box-sizing: border-box; 
    margin-top: 6px; 
    margin-bottom: 16px; 
    resize: vertical 
	}

	input[type=submit] {
    background-color: #192d4f;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 7px;
    cursor: pointer;
	}

	input[type=submit]:hover {
    background-color: #30579b;
	}

	/* other pages */
	#etc{
		color: white;
		padding-left: 1em;
	}

  .red{
    color: red;
  }

  .itallic{
    font-style: italic;
  }

  input.error{
    border: 1px red inset;
  }

  *::selection{
    background: #ffb7b7;
  }

    /* footer */
  footer{
    margin-top: 1em;
    background-color: #192d4f; 
	  font-style: italic;
	  text-align: right;
	  color: white;
	  clear: both;
	  padding: 5px;
  }

	/* print styles */
  @media screen and (min-width: 320px), print{
   nav.navbar, div.banner{
      display: none;
    }
    header {
      background: #192d4f;
      color: black;
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 50px;
      padding: 5px 20px;
    }
    .sticky {
      position: fixed;
      top: 0;
      width: 100%;
    }
    .sticky + .leftcolumn{
      padding-top: 102px;
    }
    /* mobile hamburger */
    .hamburger{
      display: flex;
      align-items: center;
    }
    .hamburger_button{
      width: 3rem;
      background: transparent;
      border: none;
      cursor: pointer;
      padding-top: 0;
      padding-bottom: 0;
    }
    .hamburger_button:focus{
      outline: none;
    }
    .hamburger_button-bar{
      width: 100%;
      height: 0.2rem;
      background: white;
      display: block;
      margin: 0.6rem 0;
    }
    /* mobile nav */
    .mobilenav{
      text-decoration: none;
      position: fixed;
      top: 0;
      background: rgba(90, 90, 90, 0.9);
      width: 80vw;
      height: 100vh;
      color: white;
      display: flex;
      justify-content: center;
      text-align: center;
      transform: translateX(-100%);
      transition: transform 500ms ease-out;
    }
    .mobilelinks{
      padding-top: 60px;
      width: 100%;
      list-style: none;
      margin: 0;
      font-size: 2em;
    }
    .mobilelink{
      padding-top: 6px;
      padding-bottom: 6px;
      border-top: 1px solid black;
    }
    .mobilelink a:link{
      padding: 6px 33%;
      color: white;
      text-decoration: none;
    }
    .mobilelink a:visited{
      color: white;
    }
    .closex{
      color: inherit;
      background: transparent;
      border: 0;
      font-size: 100%;
      padding: 0 30%;
    }
    .open{
      display: flex;
      transform: translateX(0);
    }
    div.leftcolumn{
      float: left;
      width: 90%;
      padding: 0 5%;
      text-align: justify;
    }
    div.rightcolumn{
      display: none;
    }
    div.leftcolumn img{
      width: 100%;
    }
    article{
      padding: 0 5%;
      width: 90%;
    }
    #me{
      width: 100%;
    }
    #me figcaption{
      font-size: 68%;
    }
    #djabout{
      margin: 0;
      width: 100%;
    }
    .fotorama__nav-wrap{
      display: none;
    }
    #contacts{
      display: none;
    }
    #nightlife:before {
    content: " ";
    display: block;
    height: 0em; 
    margin: 0em 0 0;
    visibility: hidden;
  }
  }

  @media screen and (min-width: 448px), print{
    div.leftcolumn img{
      width: 90%;
    }
    #me{
      width: 360px;
    }
    #me figcaption{
      font-size: 97%;
    }
    .contactform{
      width: 80%;
      margin-left: auto;
      margin-right: auto;
    }
  }

  @media screen and (min-width: 720px), print{
    div.leftcolumn img{
      width: 80%;
    }
    #djabout{
      display: inline-block;
      width: 66%;
      text-align: justify;
      float: left;
      margin-left: 17px;
    }
    #me{
      width: 31%;
      display: inline-block;
      float: left;
      overflow: hidden;
    }
    #me img{
      width: 97%;
      height: 97%;
    }
    #me figcaption{
      text-align: justify;
    }
    #mobilecontacts{
      display: none;
    }
    #contacts{
      display: initial;
    }
    .contactform{
      width: 70%;
    }
  }

  @media screen and (min-width: 1280px), print{
    html {
      scroll-behavior: smooth;
    }
    header, .mobilenav, .hamburger{
      display: none;
    }
    nav.navbar, div.banner{
      display: inherit;
    }
    div.leftcolumn{
      display: inline-block;
      padding: 0;
      float: left;
      font-size: 1.15em;
      width: 58.5%;
      padding-left: 10%;
      padding-bottom: 10px;
    }
    div.rightcolumn{
      display: inline-block;
      position: sticky;
      float: left;
      width: 19%;
      margin-left: 2.5%;
      padding-right: 10%;
      top: 3.25em;
    }
    div.leftcolumn img{
      width: 70%;
    }
    div.card{
      font-size: 1.1em;
    }
    .contactform{
      width: 65%;
    }
    #nightlife:before {
    content: " ";
    display: block;
    height: 3.2em; 
    margin: -3.2em 0 0;
    visibility: hidden;
  }
  }
	
