/*  

Notes 

Headings = Newsreader
Curvy headings = Serendipity
Paragraph = Lora

Light - bg = #F8F7F3
Dark -bg = #E9E6DF
Light-white = #F5F5F5 

*/

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

[class*=grid-], [class*=grid_], [class~=grid] {
    margin: 0;
  }


  /*  Font family - imported */


 .newsreader-font {
  font-family: "Newsreader", serif;
  font-weight: 400;
 } 

 .curvy-font {
  font-family: serendipity;
  font-weight: 100;
}


  * {
    padding: 0;
    margin:0;
    box-sizing: border-box;
  }
 
  body, html {
    color: rgb(60,60,65);
    font-family: "Lora", serif;
  }

  .overflow-x {
    overflow-x: hidden;
  }
  
  
  img {
    max-width:100%;
  }
  
  a {
    text-decoration: none;
    color: inherit;
  }


    /* header and footer section  */
header {  padding: 1% 5%; }

nav a {
  padding: 0.25rem 0.5rem;
  display: inline-block;
  text-decoration: none;
  color: #355743;
}

nav a:hover {
color: #fecf68;
/* border-bottom: 2px solid #FCBA6E; */
transition: 0.5s;
}

footer a:hover {
  color: #fecf68;
  transition: 0.5s;
  }

footer a {
  text-decoration: none;
  color: #E9EBED;
}


  .inline-block { display: inline-block; }
  
  


/* ---------- Negative Space Utility Classes  ------------------ */ 

.capped-width-wide      { max-width: 1400px; margin: auto; }
.capped-width           { max-width: 1200px; margin: auto; }
.capped-width-narrow    { max-width: 1000px; margin: auto; }
.capped-width-v-narrow  { max-width: 700px;  margin: auto; }


.tall-100 { min-height: 100vh; }
.tall-90  { min-height: 90vh; }
.tall-80  { min-height: 80vh; }
.tall-70  { min-height: 70vh; }
.tall-60  { min-height: 60vh; }
.tall-50  { min-height: 50vh; }
.tall-40  { min-height: 40vh; }

/* Padding Utility Classes */ 
.padded-sm { padding: 2.5%; }
.padded    { padding: 5%;   }
.padded-lg { padding: 10%;  }

.padded-05 { padding: 0.5rem; }
.padded-1  { padding: 1rem; }
.padded-2  { padding: 2rem; }

.padded-t  { padding-top: 5%; }
.padded-b  { padding-bottom: 5%; }
.padded-l  { padding-left: 5%; }
.padded-r  { padding-right: 5%; }

.padded-tb  { padding-top: 5%; padding-bottom: 5%; }
.padded-lr  { padding-left: 5%; padding-right: 5%; }

.padded-t-1 { padding-top: 1rem; }
.padded-b-1 { padding-bottom: 1rem; }
.padded-l-1 { padding-left: 1rem; }
.padded-r-1 { padding-right: 1rem; }

.padded-t-2 { padding-top: 2rem; }
.padded-b-2 { padding-bottom: 2rem; }
.padded-l-2 { padding-left: 2rem; }
.padded-r-2 { padding-right: 2rem; }

.padded-t-0 { padding-top: 0; }
.padded-b-0 { padding-bottom: 0; }
.padded-l-0 { padding-left: 0; }
.padded-r-0 { padding-right: 0; }

/* Margin Utility Classes */ 

.margin-t { margin-top: 5%; }
.margin-b { margin-bottom: 5%; }
.margin-l { margin-left: 5%; }
.margin-r { margin-right: 5%; }

.margin-t-05 { margin-top: 0.5rem; }
.margin-b-05 { margin-bottom: 0.5rem; }
.margin-l-05 { margin-left: 0.5rem; }
.margin-r-05 { margin-right: 0.5rem; }

.margin-t-1 { margin-top: 1rem; }
.margin-b-1 { margin-bottom: 1rem; }
.margin-l-1 { margin-left: 1rem; }
.margin-r-1 { margin-right: 1rem; }

.margin-t-2 { margin-top: 2rem; }
.margin-b-2 { margin-bottom: 2rem; }
.margin-l-2 { margin-left: 2rem; }
.margin-r-2 { margin-right: 2rem; }

.margin-t-0 { margin-top: 0; }
.margin-b-0 { margin-bottom: 0; }
.margin-l-0 { margin-left: 0; }
.margin-r-0 { margin-right: 0; }

.margin-tb { margin-top: 5%; margin-bottom: 5%; }
.margin-lr { margin-left: 5%; margin-right: 5%; }

.flex-end { justify-content: flex-end; }

.z-0 { position: relative; z-index: 0; }
.z-1 { position: relative; z-index: 1; }
.z-2 { position: relative; z-index: 2; }
.z-3 { position: relative; z-index: 3; }


  /* ------------- Utility Classes --------------  */

  
    .left     {  text-align: left;     }
    .right    {  text-align: right;    }
    .centered {  text-align: center;   }
    .caps   { text-transform: uppercase; }
  
    /* text and background colors  */


    .light-bg      {  background-color: #f8f7f3;     }
    .dark-bg     {  background-color: #355743;  }
    .light-white-bg  {  background-color: #f5f5f5;             }
  
    .light-text   { color: white; }
    .green-text { color: #355743; }

    .font-main { font-family: "Newsreader", serif;}

  
    .flex-flip:nth-child(2n){  flex-direction: row-reverse; }
  
      /* General typography */
  
      h2, h3, h4, h5, h6 {
      line-height: 1;
      margin-bottom: 0.8rem;
      }
  
      h2  { font-size: 2.2rem;  }
      h3  { font-size: 1.8rem;  }
      h4  { font-size: 1.4rem;  }
      p   { font-size: 1rem;  }
  
      p, ul {
       margin-bottom: 0.8rem;
      }
  
      /* this makes sure that the last element in any container doesn't have margin-bottom */
      h2:last-child,
      h3:last-child,
      h4:last-child,
      h5:last-child,
      h6:last-child,
      p:last-child {
      margin-bottom:0;
      }
  
      hr { /* this is a line element */
      border: none;
      border-bottom: 2px solid;
      width: 4rem;
      margin-bottom: 1rem;
      }

      ul { margin-left: 1rem; }
      li { padding-left: .5rem;}
      .italic { font-style: italic; }

      .underline { 
        text-decoration: underline 1px;
        text-underline-offset: 0.4em;
                  }

    .home-banner-hr {
      border: none;
      border-bottom: 1px solid;
      width: 60rem;
      margin-bottom: 1rem;
    }

    .home-banner-hr-second {
      border: none;
      border-bottom: 1px solid;
      width: 85rem;
      margin-bottom: 1rem;
      margin-top: 3rem;
    }
  
  
      /* Unique Typography Styles */
      .text-xs   { font-size: 1.5rem; line-height: 0.9; } 
      .text-s   { font-size: 2.5rem; line-height: 0.9; } 
      .text-m   { font-size: 3.5rem; line-height: 0.9; } 
      .text-l, .text-lg  { font-size: 5vw; line-height: 1;}
      .text-xl  { font-size: 7vw;  }
      .text-xxl { font-size: 10vw; }

      .text-w-100 { font-weight: 100; }
      .text-w-200 { font-weight: 200; }
      .text-w-300 { font-weight: 300; }
      .text-w-400 { font-weight: 400; }
      .text-w-500 { font-weight: 500; }
      .text-w-600 { font-weight: 600; }
      .text-w-700 { font-weight: 700; }
      .text-w-800 { font-weight: 800; }

      .big-bold { font-size: 10.5vh;}

      .logo {
        font-weight: 700;
        text-decoration: none;
      }
  
      .emphasis {
        font-size: 1.2rem;
      }

      .banner-title {
        line-height: 0.8;
        font-size: 8vw;
        margin: 0;
      }
      
      .banner-subtitle { 
        position: relative;
        line-height: 1;
        top: 0.5rem;
        font-size: 2.5rem;
      }
  
      .relative {
        position: relative;
      }
  

      .fas {
        display: block;
        text-align: center;
        margin-bottom: 2rem;
        font-size: 3rem;
      }
      /* Button & Link Styles */
  
  
      a:hover {
          color:#fecf68;
      }
      /* We have created lots of different button styles, you probably don't need to have quite this many styles depending on your site */
  
      .second-button {
        color: #fff;
        text-decoration: none;
        background-color: #355743;
        border: 2px solid #355743;
        padding: 0.3rem 1.7rem 0.3rem 1.7rem;
        
      }
     
  
      .button:hover {
        color: rgb(60, 60, 60);
      }
  
      .button.inverted {   /* this is for a button on a dark background */
        border: 2px solid white;
        color: white;
      }
  
      .button.inverted:hover {
        color: #e67e22;
        border-color: #e67e22;
      }
  
      .button-solid {
        background-color: #e67e22;
        border-color: #e67e22;
        color: white;
      }
  
      .button-solid:hover {
        background-color: rgb(60, 60, 60);
        border-color: rgb(60, 60, 60);
      }

      .subtle-button {
        font-weight: 100;
      }
  
    

      /*  background images  */

      .bg-image {
        background-color: #f3f3f3;
        background-size: cover;
        background-position: center; 
        background-repeat: no-repeat;
        background-image: url('/images/placeholder.jpg');
    }

    .bg-homebanner { 
  
      background-image: url('/images/placeholder-andri.jpg'); 
      background-position: 50% 60%; 
      background-size: cover;
    }

    .bg-about {
      background-image: url('/images/andri-4.JPG'); 
      background-position: 50% 60%; 
      background-size: cover;
    }

    .bg-partner {
      background-image: url('/images/andri-2.JPG'); 
      background-position: 50% 60%; 
      background-size: cover;
    }

    .bg-banner {
      background-image: url('/images/banner-image.jpg'); 
      background-position: 50% 80%; 
      background-size: cover;
    }

    .bg-highlights-1 { 
      background-color: #E9EBED; /* set a fall-back color while images are loading */
      background-size: cover;
      background-position: center; 
      background-image: url('/images/andri-8.webp');
      background-repeat: no-repeat;
    }

    .bg-highlights-2 { 
      background-color: #E9EBED; /* set a fall-back color while images are loading */
      background-size: cover;
      background-position: center; 
      background-image: url('/images/andri-4.jpg');
      background-repeat: no-repeat;
    }

    .bg-highlights-3 { 
      background-color: #E9EBED; /* set a fall-back color while images are loading */
      background-size: cover;
      background-position: center; 
      background-image: url('/images/andri-7.webp');
      background-repeat: no-repeat;
    }

    .bg-highlights-4 { 
      background-color: #E9EBED; /* set a fall-back color while images are loading */
      background-size: cover;
      background-position: center; 
      background-image: url('/images/andri-11.webp');
      background-repeat: no-repeat;
    }

    .bg-partner1 { 
      background-color: #E9EBED; /* set a fall-back color while images are loading */
      background-size: cover;
      background-position: center; 
      background-image: url('/images/company-1.png');
      background-repeat: no-repeat;
    }

    .bg-partner2 { 
      background-color: #E9EBED; /* set a fall-back color while images are loading */
      background-size: cover;
      background-position: center; 
      background-image: url('/images/banner-image.jpg');
      background-repeat: no-repeat;
    }

    .bg-partner3 { 
      background-color: #E9EBED; /* set a fall-back color while images are loading */
      background-size: cover;
      background-position: center; 
      background-image: url('/images/banner-image.jpg');
      background-repeat: no-repeat;
    }

    .bg-partner4 { 
      background-color: #E9EBED; /* set a fall-back color while images are loading */
      background-size: cover;
      background-position: center; 
      background-image: url('/images/banner-image.jpg');
      background-repeat: no-repeat;
    }

   
    
    .bg-fixed {background-attachment: fixed;}
    .bg-sticky {
      position: sticky; 
      top: 2rem;
    }
  

    .landscape-wide{ padding-bottom: 45% ; }
    .landscape     { padding-bottom: 66% ; }
    .portrait-tall { padding-bottom: 155%; }
    .portrait      { padding-bottom: 125%; }
    .square        { padding-bottom: 100%; }
    
    /* Background Position */
    .bg-pos-t { background-position: top; }
    .bg-pos-b { background-position: bottom; }
    .bg-pos-l { background-position: left; }
    .bg-pos-r { background-position: right; }
    
    .box-shadow {
      box-shadow: 41px 41px 0 #E3DBD8;
    }
    
    .box-shadow-left {
        box-shadow: 20px 20px 0 #E3DBD8;
        margin-left: -30rem;
      }

    /* ------------ Specific Images & Elements   ----------------------- */

.gallery > [class*=col] {
  border: 0.5rem solid white;
}

.gallery > [class*=col] [class*=col] + [class*=col] {
  border-top: 1rem solid white;
}


      


/* Miscelaneous elements  */      


.card {
  /* padding: 2rem; */
  margin: 0.2rem;
  border-radius: 5px;
  background-color:#F7F5F4;;
  /* box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 10px 10px -5px rgba(0, 0, 0, 0.2); */
 }


.fixed {
  background-attachment: fixed;
}


hr.short {
  border: 1px solid #fff;
  width: 2rem;
  margin: 1rem 0;
}

hr.short.center {
  margin:auto;
  margin: 1rem auto;
}

.bump-left {
  margin-left: -10vw;
  position: relative; 
}
.bump-right {
  margin-right: -10vw;
  position: relative; 
}

.bump-up {
  margin-top: -10vh;
  position: relative; 
}

.text-overflow {
  white-space: nowrap;
  max-width: 70vw;
}

.columns-3 {
  column-count: 3;
  column-gap: 5%;
}

.columns-2 {
  column-count: 2;
  column-gap: 5%;
}

.quote-mark {
  position: absolute;
  top: -3rem;
  left: -7rem;
  font-size: 15rem;
  font-family: serif;
  font-weight: bold;
} 



/* Back to top  */

.back-to-top a {
  padding: 0.3em 0.3rem 0.1rem 0.3rem;
  display: block;
  color: #7D7878;
  text-decoration: none;
  text-align: right;
  line-height: 1;
  transition: .5s all;
  font-size: 16px;
  transition: 0.5s all;
  border: 1px solid;
}


.back-to-top  {
  position: fixed;
  bottom:1rem;
  right: 1rem;
  z-index: 2;
}

.back-to-top a:hover {
  color: #FCBA6E;
  border-color: #FCBA6E;
}

/* Slcik Slider w/ images for hightlights of the week section */
.slider-container {
  padding: 5%;
}

.slider-item {
  padding: 0.25rem;
}

.slider-item:first-child {
  display: block;
}

.slick-next {
  right: 10px;
}

.slick-prev {
  left: 10px;
}

.slick-next::before, .slick-prev::before {
    font-family: inherit;
    font-size: 20px;
    line-height: 1;
    opacity: .75;
    color: rgb(90,90,90);
}

.slick-dots {
  left: 0;
  bottom: 10px;
  /*  Without this the padding on the parent affects the centering of the dots. Do not delete.    */
}

.slick-dots li,
.slick-dots li button {
  width: 10px;
}

.slick-dots li button::before {
  color: teal;
}

.slick-dots li.slick-active button::before {
  color: teal; 
}


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


button, input, select, textarea {
  font-family:  'Manrope', serif;
  font-size: 100%;
  box-sizing: border-box;
  -webkit-appearance: none;
}

input,
textarea {
  border-style: solid;
  border: 2px solid #355743;
  padding: 0.8em;
  display: block;
  width: 100%;
  font-size: 1rem;
  /* vertical-align: top; */
}

input:focus,
textarea:focus {
  outline: none;
  border-color: #DBD3C2;
}

textarea {
  min-height: 6rem;
}

input[type="submit"] {
  width: auto;
  display: block;
}

/* // Work with me form */

.enquiry input {
  font-family:  'Manrope', serif;
}


.floating-input {
  position: relative;
  padding-top: 1rem;
  margin-bottom: 3rem;
}

.input-text {
  font-size: 1.1rem;
  line-height: 1.2;
  display: block;
  margin: 0;
  width: 100%;
  border: none;
  border-bottom: 2px solid rgb(95,90,90);
  transition: all 0.5s;
  padding: 0.7rem 0 0.5rem;
  background-color: rgba(0,0,0,0);
}

.enquiry textarea {
  resize: none;
}

.input-text:focus {
  border-color: #DBD3C2;
}

.input-label {
  display: block;
  position: absolute;
  top:0;
  font-family: font-family: 'Manrope', serif; 
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 1px;
  color: rgb(90,90,90);
}

.input-text:placeholder-shown + .input-label {
  /* While the placeholder is visible, we want to hide the label. */
  visibility: hidden;
  z-index: -1;
}

.input-text:not(:placeholder-shown) + .input-label,
.input-text:focus:not(:placeholder-shown) + .input-label {
  /**
   * While the placeholder is not shown - i.e. the input has a value - we want
   * to animate the label into the floated position.
   */
  visibility: visible;
  z-index: 1;
  opacity: 1;
  /**
   * These props will be added in the demo once variables are defined:
   *
   * transform
   * transition
   *
   * They will give the label floated positioning and styling.
   */
}

.vertical-form-text {
  transform: translateX(-50%) translateY(-50%) rotate(-90deg);
  font-size: 3.3rem;
  position: absolute;
  white-space: nowrap;
}

.basics-text {
    left: 40%; 
    bottom: 50%;
}


.button-solid {
 background-color: #355743;
 color: #EDE8E4;
 border: none;
 padding: 0.8rem 2.5rem 0.6rem;
}

.button-solid:hover {
 background-color: #EDE8E4;
 color: #4B5658;
}

.contact-page a {
 text-decoration: none;
 color: #DBD3C2;
 font-size: 16px;
 margin-top: 3rem;
}

/* Contact form ends  */












  /* ------------ Responsive Styles ----------------------- */

/* General CSS Responsive Styles (Apply everywhere unless overriden) */ 

.xs-show, 
.sm-show,
.md-show {
	display: none; 
}

.inline { 
  display: inline-block;
  vertical-align: top;
}



@media(max-width:567px) {
  .masonry {
    column-count: 1;
  }
  .instagram-handle {
    font-size: 24px;
  }
  .logo{
    font-size: 24px;
    }
  .h2 {
    font-size: 16px;
  }
}
/* XL Screens  */

@media(min-width: 1800px) {
  .text-l,
  .text-xl,
  .text-xxl { font-size: 7rem; }

  .large-text-screen {
    font-size: 5rem;
  }

  .medium-text-lscreen {
    font-size: 3rem;
  }
}


/* ------- MD Media Query (64em / 1024px) --------------- */ 
/* - Styles added here will apply at devices smaller than 576px, or zoomed in equivalent */ 

@media(max-width:64em) {

	.md-show { display: block; }
	.md-hide { display: none;  }

  .md-margin-b-0 { margin-bottom: 0; }
  .md-padded-b-0 { padding-bottom: 0; }

  .md-flex-1 { order: 1; }
  .md-flex-2 { order: 2; }
  .md-flex-3 { order: 3; }

}

/* ------- SM Media Query (48em / 768px) --------------- */ 
/* - Styles added here will apply at devices smaller than 768px, or zoomed in equivalent */ 


@media(max-width:48em) {

	.sm-show { display: block; }
	.sm-hide { display: none;  }

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

  .sm-padded     { padding: 5%; }
  .sm-padded-1   { padding: 1rem; }
  .sm-padded-05  { padding: 0.5rem; }

  .sm-padded-0   { padding: 0; }
  .sm-padded-t-0 { padding-top: 0; }
  .sm-padded-b-0 { padding-bottom: 0; }
  .sm-margin-t-0 { margin-top: 0; }
  .sm-margin-b-0 { margin-bottom: 0; }

  .sm-padded-r-0 { padding-right: 0;}
  .sm-padded-l-0 { padding-left: 0;}

  .sm-margin-b-1 { margin-bottom: 1rem; }
  .sm-margin-b-2 { margin-bottom: 2rem; }

  .sm-landscape-wide{ padding-bottom: 45% ; }
  .sm-landscape     { padding-bottom: 66% ; }
  .sm-portrait-tall { padding-bottom: 175%; }
  .sm-portrait      { padding-bottom: 125%; }
  .sm-square        { padding-bottom: 100%; }
  .sm-no-bg-image   { background-image: none!important; }
  .sm-no-bg-image::after {background: none }
  .sm-no-border { border: none!important; }

  .sm-flex-flip { flex-direction: row-reverse; }
  .sm-flex-1 { order: 1; }
  .sm-flex-2 { order: 2; }
  .sm-flex-3 { order: 3; }

  .banner-title { font-size: 15vw;}
  .sm-text-dark { color: var(--dark-text); }
  .text-l { font-size: 8vw; }
  .text-m { font-size: 3rem; }
  .columns-3, .columns-2 { column-count: 1;}
  .sm-bump-up {
    margin-top: -10vh;
    position: relative; 
  }

  .sm-overlay-dark::after {
    background-color:rgba(0, 0, 0, 0.4);
  }

  .masonry {
    column-count: 2;
  }

  

}

/* ------- XS Media Query (36em / 576px) --------------- */ 
/* - Styles added here will apply at devices smaller than 576px, or zoomed in equivalent */ 

@media(max-width:36em) {

		.xs-show { display: block; }
		.xs-hide { display: none;  }

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

    .xs-padded     { padding: 5%; }

    .xs-margin-b-1 { margin-bottom: 1rem; }
    .xs-margin-b-2 { margin-bottom: 2rem;} 
    .xs-margin-t-2 { margin-top: 2rem; }

    .xs-padded-b-0 { padding-bottom: 0;}
    .xs-padded-r-2 { padding-right: 2rem; }
    .xs-padded-l-2 { padding-left: 2rem; }

    .xs-square { padding-bottom: 100%; }

    .xs-text { font-size: 0.8rem;}
    .xs-text-eng { font-size: 0.7rem;}
    .xs-text-small { font-size: 1.5rem;}
    .xs-medium {font-size: 2.3rem;}

    .xs-tall-100 { min-height: 100vh; }
    .xs-tall-90  { min-height: 90vh; }
    .xs-tall-80  { min-height: 80vh; }
    .xs-tall-70  { min-height: 70vh; }
    .xs-tall-60  { min-height: 60vh; }
    .xs-tall-50  { min-height: 50vh; }
    .xs-tall-40  { min-height: 40vh; }

    .text-m,
    .text-l, 
    .text-xl { font-size: 2.2rem; }
    .subtle-heading-xs {
      font-weight: 300;
      font-family: 'Martel', serif; 
    }

    .banner-title { font-size: 12vw;}

    .quote-mark {
      font-size: 3rem;
      top: 0;
      left: 0;
    }

    .slick-next::before, .slick-prev::before {
      font-family: inherit;
      font-size: 20px;
      line-height: 1;
      opacity: .0;
      color: rgb(90, 90, 90);
}

    .xs-bg-fixed {background-attachment: scroll;}




