/* Index

1. Normalise
2. Typography
3. Structure
4. Elements

*/

/* 1. =Normalise
   ========================================================================== */

  /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

  /* Document
     ========================================================================== */

  /**
   * 1. Correct the line height in all browsers.
   * 2. Prevent adjustments of font size after orientation changes in
   *    IE on Windows Phone and in iOS.
   */

  html {
    line-height: 1.15; /* 1 */
    -ms-text-size-adjust: 100%; /* 2 */
    -webkit-text-size-adjust: 100%; /* 2 */
  }

  /* Sections
     ========================================================================== */

  /**
   * Remove the margin in all browsers (opinionated).
   */

  body {
    margin: 0;
  }

  /**
   * Add the correct display in IE 9-.
   */

  article,
  aside,
  footer,
  header,
  nav,
  section {
    display: block;
  }

  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */

  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }

  /* Grouping content
     ========================================================================== */

  /**
   * Add the correct display in IE 9-.
   * 1. Add the correct display in IE.
   */

  figcaption,
  figure,
  main { /* 1 */
    display: block;
  }

  /**
   * Add the correct margin in IE 8.
   */

  figure {
    margin: 1em 40px;
  }

  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */

  hr {
    box-sizing: content-box; /* 1 */
    height: 0; /* 1 */
    overflow: visible; /* 2 */
  }

  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */

  pre {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }

  /* Text-level semantics
     ========================================================================== */

  /**
   * 1. Remove the gray background on active links in IE 10.
   * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
   */

  a {
    background-color: transparent; /* 1 */
    -webkit-text-decoration-skip: objects; /* 2 */
  }

  /**
   * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */

  abbr[title] {
    border-bottom: none; /* 1 */
    text-decoration: underline; /* 2 */
    text-decoration: underline dotted; /* 2 */
  }

  /**
   * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
   */

  b,
  strong {
    font-weight: inherit;
  }

  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */

  b,
  strong {
    font-weight: bolder;
  }

  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */

  code,
  kbd,
  samp {
    font-family: monospace, monospace; /* 1 */
    font-size: 1em; /* 2 */
  }

  /**
   * Add the correct font style in Android 4.3-.
   */

  dfn {
    font-style: italic;
  }

  /**
   * Add the correct background and color in IE 9-.
   */

  mark {
    background-color: #ff0;
    color: #000;
  }

  /**
   * Add the correct font size in all browsers.
   */

  small {
    font-size: 80%;
  }

  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */

  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }

  sub {
    bottom: -0.25em;
  }

  sup {
    top: -0.5em;
  }

  /* Embedded content
     ========================================================================== */

  /**
   * Add the correct display in IE 9-.
   */

  audio,
  video {
    display: inline-block;
  }

  /**
   * Add the correct display in iOS 4-7.
   */

  audio:not([controls]) {
    display: none;
    height: 0;
  }

  /**
   * Remove the border on images inside links in IE 10-.
   */

  img {
    border-style: none;
  }

  /**
   * Hide the overflow in IE.
   */

  svg:not(:root) {
    overflow: hidden;
  }

  /* Forms
     ========================================================================== */

  /**
   * 1. Change the font styles in all browsers (opinionated).
   * 2. Remove the margin in Firefox and Safari.
   */

  button,
  input,
  optgroup,
  select,
  textarea {
    font-family: sans-serif; /* 1 */
    font-size: 100%; /* 1 */
    line-height: 1.15; /* 1 */
    margin: 0; /* 2 */
  }

  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */

  button,
  input { /* 1 */
    overflow: visible;
  }

  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */

  button,
  select { /* 1 */
    text-transform: none;
  }

  /**
   * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
   *    controls in Android 4.
   * 2. Correct the inability to style clickable types in iOS and Safari.
   */

  button,
  html [type="button"], /* 1 */
  [type="reset"],
  [type="submit"] {
    -webkit-appearance: button; /* 2 */
  }

  /**
   * Remove the inner border and padding in Firefox.
   */

  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
  }

  /**
   * Restore the focus styles unset by the previous rule.
   */

  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
  }

  /**
   * Correct the padding in Firefox.
   */

  fieldset {
    padding: 0.35em 0.75em 0.625em;
  }

  /**
   * 1. Correct the text wrapping in Edge and IE.
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove the padding so developers are not caught out when they zero out
   *    `fieldset` elements in all browsers.
   */

  legend {
    box-sizing: border-box; /* 1 */
    color: inherit; /* 2 */
    display: table; /* 1 */
    max-width: 100%; /* 1 */
    padding: 0; /* 3 */
    white-space: normal; /* 1 */
  }

  /**
   * 1. Add the correct display in IE 9-.
   * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */

  progress {
    display: inline-block; /* 1 */
    vertical-align: baseline; /* 2 */
  }

  /**
   * Remove the default vertical scrollbar in IE.
   */

  textarea {
    overflow: auto;
  }

  /**
   * 1. Add the correct box sizing in IE 10-.
   * 2. Remove the padding in IE 10-.
   */

  [type="checkbox"],
  [type="radio"] {
    box-sizing: border-box; /* 1 */
    padding: 0; /* 2 */
  }

  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */

  [type="number"]::-webkit-inner-spin-button,
  [type="number"]::-webkit-outer-spin-button {
    height: auto;
  }

  /**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */

  [type="search"] {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
  }

  /**
   * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
   */

  [type="search"]::-webkit-search-cancel-button,
  [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */

  ::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
  }

  /* Interactive
     ========================================================================== */

  /*
   * Add the correct display in IE 9-.
   * 1. Add the correct display in Edge, IE, and Firefox.
   */

  details, /* 1 */
  menu {
    display: block;
  }

  /*
   * Add the correct display in all browsers.
   */

  summary {
    display: list-item;
  }

  /* Scripting
     ========================================================================== */

  /**
   * Add the correct display in IE 9-.
   */

  canvas {
    display: inline-block;
  }

  /**
   * Add the correct display in IE.
   */

  template {
    display: none;
  }

  /* Hidden
     ========================================================================== */

  /**
   * Add the correct display in IE 10-.
   */

  [hidden] {
    display: none;
  }

/* 2. =Typography
  ========================================================================== */

  body {
    color: #fff;
    font-family: "Bookman Old Style", Cambria, "Hoefler Text", Utopia, "Liberation Serif", "Nimbus Roman No9 L Regular", Times, "Times New Roman", serif;
    font-size: 1.2em;
    background-color: #222;
  }

  h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    padding-top: 1em;
    font-family: Raleway,"Helvetica Neue","Lucida Grande",Arial,Verdana,sans-serif;
    margin-bottom: 2em;
  }

  h1 {
    font-size: 1.3em;
    margin-bottom: 1.3em;
    line-height: 1.3em;
    font-family: Raleway,"Helvetica Neue","Lucida Grande",Arial,Verdana,sans-serif;
  }

  @media only screen and (min-width: 800px) {
    h1 {
      font-size: 1.5em;
      margin-bottom: 1.7em;
      line-height: 1.7em;
    }
  }

  h2 {
    font-size: 1.3em;
    line-height: 1.3em;
    text-align: left;
  }

  @media only screen and (min-width: 800px) {
    h2 {
      font-size: 1.5em;
      line-height: 1.7em;
      text-align: left;
    }
  }

  p {
    line-height: 1.5em;
    font-size: 1.0em;
    margin-top: 0;
  }

    p.required {
      font-size: 1.em;
      line-height: 1.2em;
      font-family: Raleway,"Helvetica Neue","Lucida Grande",Arial,Verdana,sans-serif;
      font-weight: bold;
    }

    p a {
      color: inherit;
      text-decoration: underline;
    }

          p a:hover,
          p a:visited,
          p a:focus,
          p a:active {
            color: #c8ae63;
          }

    .contact-wrap {
        font-size: 0.8em;
        line-height: 1.2em;
        font-family: Raleway,"Helvetica Neue","Lucida Grande",Arial,Verdana,sans-serif;
        font-weight: bold;
    }

    .contact-wrap label {
      font-family: Raleway,"Helvetica Neue","Lucida Grande",Arial,Verdana,sans-serif;
      font-weight: bold;
    }

/* 3. =Structure
  ========================================================================== */

  * {
    box-sizing: border-box;
  }

  .clearfix:after {
    content: "";
    display: table;
    clear: both;
  }

  .wrap {
    overflow: hidden;
  }

  .logo-wrap {
    display: block;
    width: 100%;
    position: absolute;
    top: 40%;
    margin: 0 auto;
  }

    .logo-wrap.max-width-529px {
      display:block;
    }

    .logo-wrap.min-width-530px {
      display: none;
    }

    .logo-wrap img {
      max-width: 100%;
    }


  .banner {
     width: 100%;
     min-height: 100vh;
     background-position: top center;
     background-size: cover;
     display: flex;

   }

     .banner .inner {
       padding: 5%;
       background-color: rgba(32,32,32);
       background-color: rgba(32,32,32,.8);
       max-width: 90%;
       -webkit-box-flex: 1;
       -webkit-flex: 1 0 90%;
       -ms-flex: 1 0 90%;
       flex: 1 0 90%;
       border-left: 5px solid #c8ae63;
       transform: translate(-90%);
       -webkit-transform: translate(-90%);
       display: flex;
       justify-content: center;
       flex-direction: column;
       min-height: 100vh;
     }

     .banner:nth-of-type(odd) .inner {
       border-left: none;
       border-right: 5px solid #c8ae63;
       margin-left: 10%;
       transform: translate(50%);
       -webkit-transform: translate(50%);
     }

       .banner .inner.come-in {
         -webkit-transition-duration: 1s;
         transition-duration: 1s;
         transform: translate(0%);
         -webkit-transform: translate(0%);
       }

        .banner:nth-of-type(odd) .inner.come-in {
          transform: translate(-0%);
          -webkit-transform: translate(-0%);
        }


        .banner .inner.come-in .inner-content h1,
        .banner .inner.come-in .inner-content h2,
        .banner .inner.come-in .inner-content p {
          -webkit-animation-delay: 3s;
          animation-delay: 3s;
          -webkit-transition-duration: 3s;
          transition-duration: 3s;
        }

        .banner .inner.come-in .inner-content h1,
        .banner .inner.come-in .inner-content h2,
        .banner .inner.come-in .inner-content p {
          animation:3s ease 0s normal forwards 1 innerfadein;
          -webkit-animation:3s ease 0s normal forwards 1 innerfadein;
          opacity:1
        }

          @keyframes innerfadein{
              0%{opacity:0}
              100%{opacity:1}
          }

          @-webkit-keyframes innerfadein{
              0%{opacity:0}
              100%{opacity:1}
          }


  .home-banner {
    background-image: url("../media/shpm-page-banner-mini.jpg");
    text-align: center;
    min-height: 100vh;
    opacity: 1;
    border: none;
  }

    .home-banner a.next {
      position: absolute;
      bottom: 5%;
      left: 48%;
      display: block;
      margin: 0 auto;
    }

    .shpm-banner {
      background-image: url("../media/london-residential-properties_mini.jpg");
    }

    .discreet-and-extensive-banner {
      /*background-image: url("../media/old-english-mansion_mini.jpg");*/
      background-image: url("../media/157185709_mini.jpg");
    }

    .first-class-service-banner {
      background-image: url("../media/first-class-service-banner_mini.jpg");
    }

    .client-focused-banner {
      background-image: url("../media/497148697_mini.jpg");
    }

  .contact-banner {
    background-color: #222;
    display: block;
    min-height: 0;
  }

    .contact-banner > p:first-child {
      max-width: 80%;
      margin: 0 auto;
      padding: 5%;
      text-align: center;
    }

    .contact-wrap {
      text-align: center;
    }

      .error-alert {
        margin-bottom: 50px;
      }

      .form-error p {
        margin-bottom: 20px;
      }

      .contact-wrap .form-100-percent {
        width: 100%;
        display: block;
        text-align: center;
        clear: both;
        padding: 2% 5% 5%;
      }

      .contact-wrap .form-left,
      .contact-wrap .form-right {
        width: 100%;
        padding: 0 5% 0%;
        text-align: center;
      }

      .contact-wrap label {
          display: block;
          margin-bottom: 10px;
          text-align: left;
      }

        .contact-wrap label span.required {
          font-size: 1.3em;
          padding-left: 5px;
          padding-right: 5px;
        }

      .contact-wrap input {
          display: block;
          border-radius: 0;
          border: solid 1px #444;
          padding: 10px;
          margin-bottom: 25px;
          width: 100%;
          background-color: #333;
          color: #fff;
      }

      .contact-wrap textarea {
          display: block;
          width: 100%;
          min-height: 230px;
          margin-bottom: 20px;
          padding: 5px;
          background-color: #333;
          color: #fff;
          border: solid 1px #444;
      }

      .contact-wrap input[type="submit"] {
        display: inline-block;
        width: auto;
        background-color: #222;
        border: solid 2px #c8ae63;
        color: #c8ae63;
        padding: 10px;
        text-decoration: none;
        margin: auto;
        cursor: pointer;
      }

      .contact-wrap input[type="submit"]:hover {
        background-color: #c8ae63;
        border: solid 2px #222;
        color: #222;
        padding: 10px;
        text-decoration: none;
        margin: auto;
      }

    .name_error,
    .email_error,
    .message_error {
      display: none;
    }

    .footer {
      background-color: #000;
      text-align: center;
      display: block;
      padding: 5%;
      border-bottom: 20px solid #c8ae63;
    }

      .footer img {
        max-width: 90%;
        margin-bottom: 30px;
      }

      .footer p {
        font-size: 0.9em;
      }


@media only screen and (min-width: 530px) {

      .logo-wrap.max-width-529px {
        display:none;
      }

      .logo-wrap.min-width-530px {
        display:block;
      }

      .logo-wrap {
    	  display: block;
    	  width: 522px;
    	  height: 106px;
    	  position: absolute;
    	  top: 50%;
    	  left: 50%;
    	  margin: -53px auto auto -261px;
    	}

      	.logo-wrap img {
      		-webkit-animation: fadein 4s; /* Safari, Chrome and Opera > 12.1 */
      			 -moz-animation: fadein 4s; /* Firefox < 16 */
      				-ms-animation: fadein 4s; /* Internet Explorer */
      				 -o-animation: fadein 4s; /* Opera < 12.1 */
      						animation: fadein 4s;
      	}

        	@keyframes fadein {
        			from { opacity: 0; }
        			to   { opacity: 1; }
        	}

        	/* Firefox < 16 */
        	@-moz-keyframes fadein {
        			from { opacity: 0; }
        			to   { opacity: 1; }
        	}

        	/* Safari, Chrome and Opera > 12.1 */
        	@-webkit-keyframes fadein {
        			from { opacity: 0; }
        			to   { opacity: 1; }
        	}

        	/* Internet Explorer */
        	@-ms-keyframes fadein {
        			from { opacity: 0; }
        			to   { opacity: 1; }
        	}

        	/* Opera < 12.1 */
        	@-o-keyframes fadein {
        			from { opacity: 0; }
        			to   { opacity: 1; }
        	}

    	.l1,.l2,.l3,.l4 {
    	  position: absolute;
    	  background: transparent;
    	  width: 0px;
    	  height: 0px;
    	}

      	.l1 {
      	  top: 0;
      	  left: 0;
      	  width: 522px;
      	  height: 2px;
          animation: name duration timing-function delay iteration-count direction fill-mode play-state;
          -webkit-animation: l1 0.6s ease-in-out 0.0s 1 forwards; /* Safari 4+ */
          -moz-animation:    l1 0.6s ease-in-out 0.0s 1 forwards; /* Fx 5+ */
          -o-animation:      l1 0.6s ease-in-out 0.0s 1 forwards; /* Opera 12+ */
          animation:         l1 0.6s ease-in-out 0.0s 1 forwards; /* IE 10+, Fx 29+ */
      	}

      	.l2 {
      	  right: 0;
      	  top: 0;
      	  height: 106px;
      	  width: 2px;
          -webkit-animation: l2 0.6s ease-in-out 0.6s 1 forwards; /* Safari 4+ */
          -moz-animation:    l2 0.6s ease-in-out 0.6s 1 forwards; /* Fx 5+ */
          -o-animation:      l2 0.6s ease-in-out 0.6s 1 forwards; /* Opera 12+ */
          animation:         l2 0.6s ease-in-out 0.6s 1 forwards; /* IE 10+, Fx 29+ */
      	}

      	.l3 {
      	  bottom: 0;
      	  right: 0;
      	  width: 522px;
      	  height: 2px;
          -webkit-animation: l3 0.6s ease-in-out 1.2s 1 forwards; /* Safari 4+ */
          -moz-animation:    l3 0.6s ease-in-out 1.2s 1 forwards; /* Fx 5+ */
          -o-animation:      l3 0.6s ease-in-out 1.2s 1 forwards; /* Opera 12+ */
          animation:         l3 0.6s ease-in-out 1.2s 1 forwards; /* IE 10+, Fx 29+ */
      	}

      	.l4 {
      	  left: 0;
      	  bottom: 0;
      	  height: 106px;
      	  width: 2px;
          -webkit-animation: l4 0.6s ease-in-out 1.8s 1 forwards; /* Safari 4+ */
          -moz-animation:    l4 0.6s ease-in-out 1.8s 1 forwards; /* Fx 5+ */
          -o-animation:      l4 0.6s ease-in-out 1.8s 1 forwards; /* Opera 12+ */
          animation:         l4 0.6s ease-in-out 1.8s 1 forwards; /* IE 10+, Fx 29+ */
      	}

        @keyframes l1 {
      	  0%    { width: 0; background: #c8ae63; }
      	  100%  { width: 522px; background: #c8ae63; }
      	}

          @-moz-keyframes l1 {
        	  0%    { width: 0; background: #c8ae63; }
        	  100%  { width: 522px; background: #c8ae63; }
        	}

          @-webkit-keyframes l1 {
        	  0%    { width: 0; background: #c8ae63; }
        	  100%  { width: 522px; background: #c8ae63; }
        	}

          @-ms-keyframes l1 {
        	  0%    { width: 0; background: #c8ae63; }
        	  100%  { width: 522px; background: #c8ae63; }
        	}

          @-o-keyframes l1 {
        	  0%    { width: 0; background: #c8ae63; }
        	  100%  { width: 522px; background: #c8ae63; }
        	}

        @keyframes l2 {
          0%    { height: 0; background: #c8ae63; }
          100%  { height: 106px; background: #c8ae63; }
        }

          @-moz-keyframes l2 {
            0%    { height: 0; background: #c8ae63; }
        	  100%  { height: 106px; background: #c8ae63; }
          }

        	@-webkit-keyframes l2 {
        	  0%    { height: 0; background: #c8ae63; }
        	  100%  { height: 106px; background: #c8ae63; }
        	}

          @-ms-keyframes l2 {
            0%    { height: 0; background: #c8ae63; }
        	  100%  { height: 106px; background: #c8ae63; }
          }

          @-o-keyframes l2 {
            0%    { height: 0; background: #c8ae63; }
        	  100%  { height: 106px; background: #c8ae63; }
          }

        @keyframes l3 {
          0%    { width: 0; background: #c8ae63; }
          100%  { width: 522px; background: #c8ae63; }
        }

            @-moz-keyframes l3 {
              0%    { width: 0; background: #c8ae63; }
          	  100%  { width: 522px; background: #c8ae63; }
            }

          	@-webkit-keyframes l3 {
          	  0%    { width: 0; background: #c8ae63; }
          	  100%  { width: 522px; background: #c8ae63; }
          	}

            @-ms-keyframes l3 {
              0%    { width: 0; background: #c8ae63; }
          	  100%  { width: 522px; background: #c8ae63; }
            }

            @-o-keyframes l3 {
              0%    { width: 0; background: #c8ae63; }
          	  100%  { width: 522px; background: #c8ae63; }
            }

          @keyframes l4 {
            0%    { height: 0; background: #c8ae63; }
            100%  { height: 106px; background: #c8ae63; }
          }

            @-moz-keyframes l4 {
              0%    { height: 0; background: #c8ae63; }
              100%  { height: 106px; background: #c8ae63; }
            }

          	@-webkit-keyframes l4 {
          		0%    { height: 0; background: #c8ae63; }
          		100%  { height: 106px; background: #c8ae63; }
          	}

            @-ms-keyframes l4 {
              0%    { height: 0; background: #c8ae63; }
          		100%  { height: 106px; background: #c8ae63; }
            }

            @-o-keyframes l4 {
              0%    { height: 0; background: #c8ae63; }
          		100%  { height: 106px; background: #c8ae63; }
            }

            .banner .inner .inner-content h1,
            .banner .inner .inner-content h2,
            .banner .inner .inner-content p {
              transform: translateY(50px);
              -webkit-transform: translateY(50px);
            }

            .banner .inner.come-in .inner-content h1,
            .banner .inner.come-in .inner-content h2,
            .banner .inner.come-in .inner-content p {
              transform: translateY(-50px);
              -webkit-transform: translateY(-50px);
            }
  }


  @media only screen and (min-width: 800px) {

      .contact-wrap .form-left,
      .contact-wrap .form-right {
        width: 50%;
        float: left;
      }

      .banner .inner {
        max-width: 70%;
        -webkit-box-flex: 1;
        -webkit-flex: 1 0 70%;
        -ms-flex: 1 0 70%;
        flex: 1 0 70%;
        border-left: 20px solid #c8ae63;
      }

      .banner:nth-of-type(2n+1) .inner {
        margin-left: 30%;
        border-right: 20px solid #c8ae63;
      }

  }


  @media only screen and (min-width: 1000px) {

    .banner .inner {
      max-width: 50%;
      -webkit-box-flex: 1;
      -webkit-flex: 1 0 50%;
      -ms-flex: 1 0 50%;
      flex: 1 0 50%;
    }

    .banner:nth-of-type(2n+1) .inner {
      margin-left: 50%;
    }

  }
