

/* FONTS */



@import url(http://fonts.googleapis.com/css?family=Lato:300,400,700); /* font-fmaily:'Lato'; */

@import url(http://fast.fonts.net/cssapi/431f1eba-f06c-4274-bfa4-37ea97306d4e.css); /* font-family:'HelveticaNeueW01-55Roma'; */



/* DEFAULT */



*,

*:before,

*:after

{ padding:0px; border:0px; margin:0px; transition:all 0.25s ease-in-out; }

html

{ height:100%; }

body

{ height:100%; background:#252424; font-family:'Lato', sans-serif; font-size:10px; color:#FFF; -webkit-text-size-adjust:100%; -webkit-font-smoothing:antialiased; }

header, main, footer, nav, section, article, aside

{ display:block; margin:auto; }

h1, h2, h3, p, b, a

{ font-weight:300; }

b

{ font-style:normal; color:#DB5427;}

a

{ text-decoration:none; color:#DB5427; }

a:hover,

a.active

{ color:#DB5427 !important; }

a:focus

{ color:#DB5427; }

a:active

{ color:#DB5427; }

hr

{ display:block; width:80%; height:1px; background:#BFBFBF; padding:0px; border:0px; margin:20px auto;  }

label

{ display:inline-block; height:36px; font-size:18px; font-weight:400; line-height:36px; vertical-align:top; cursor:pointer; }

input[type=text],

input[type=number],

input[type=email],

input[type=tel],

select,

textarea

{ display:inline-block; background:#FFF; height:36px; padding:0px 10px; font-family:'Lato'; font-size:16px; line-height:36px; color:#252424; vertical-align:top; }

input[type=text]:hover,

input[type=number]:hover,

input[type=email]:hover,

input[type=tel]:hover,

select:hover,

textarea:hover

{ background:#DDD; }

select

{ padding-right:0px; cursor:pointer; }

select option

{ padding-right:10px; }

textarea

{ height:155px; line-height:31px; }

input[type=submit]

{ display:inline-block; width:auto; height:36px; background:none; font-family:'Lato'; font-size:24px; font-weight:300; line-height:36px; color:#DB5427; cursor:pointer; }



/* COMMON */



.fl

{ float:left; }

.fr

{ float:right; }

.container

{ overflow:hidden; position:relative; margin:auto; }

.icon

{ width:50px; height:50px; vertical-align:top; }

.submit

{ display:inline-block; position:relative; height:36px; margin:auto; line-height:36px; }

.submit input

{ position:relative; z-index:100; padding-left:51px; }

.submit:before

{ content:''; display:inline-block; position:absolute; top:0px; left:0px; width:36px; height:36px; background:url(../images/submit-white.png) no-repeat center top; background-size:cover; margin-right:15px; vertical-align:top; }

.submit:hover input,

.submit.active input,

.submit.alt input

{ color:#DB5427; }

.submit:hover:before,

.submit.active:before,

.submit.alt:before

{ background-image:url(../images/submit-ft.png); }

.submit.alt:hover:before,

.submit.alt.active:before

{ background-image:url(../images/submit-white.png); }

.submit.alt:hover input

{ color:#FFF !important; }

.submit input.error

{ color:#CFC !important; }

.submit input.sent

{ color:#0C0 !important; }

.play

{ display:inline-block; margin:auto; font-size:40px; line-height:50px; text-align:center; color:#FFF; }

.play:before

{ content:''; display:inline-block; width:50px; height:50px; background:url(../images/play-white.png) no-repeat center top; background-size:cover; margin-right:15px; vertical-align:top; }

.play:hover,

.play.active,

.play.alt

{ color:#DB5427; }

.play:hover:before,

.play.active:before,

.play.alt:before

{ background-image:url(../images/play-ft.png); }

.play.alt:hover:before,

.play.alt.active:before

{ background-image:url(../images/play-black.png); }

.play.alt:hover

{ color:#000 !important; }

.more

{ display:inline-block; margin:auto; font-size:16px; font-weight:400; line-height:30px; text-align:center; color:#FFF; }

.more:before

{ content:''; display:inline-block; width:30px; height:30px; background:url(../images/more-white.png) no-repeat center top; background-size:cover; margin-right:10px; vertical-align:top; }

.more:hover,

.more.active,

.more.alt

{ color:#DB5427; }

.more:hover:before,

.more.active:before,

.more.alt:before

{ background-image:url(../images/more-ft.png); }

.more.alt:hover:before,

.more.alt.active:before

{ background-image:url(../images/more-black.png); }

.more.alt:hover

{ color:#000 !important; }

.scroll

{ display:block; width:100px; margin:auto; font-size:15px; text-align:center; color:#FFF; }

.scroll:hover,

.scroll.active

{ color:#DB5427; }

.scroll:before

{ content:''; display:block; width:50px; height:50px; background:url(../images/scroll-white.png) no-repeat center top; background-size:cover; margin:0px auto 15px auto; }

.scroll:hover,

.scroll.active

{ color:#DB5427; }

.scroll.alt

{ color:#000; }

.scroll.alt:before

{ background-image:url(../images/scroll-black.png); }

.scroll:hover:before,

.scroll.active:before,

.scroll.alt:hover:before,

.scroll.alt.active:before

{ background-image:url(../images/scroll-ft.png); }



/* STYLES */



#wrapper, #body, #home

{ height:100%; } /* Force height for page load, removed by js on doc ready */



#wrapper

{ overflow:hidden; width:100%; min-height:100%; }



  #head

  { background:rgba(0, 0, 0, 0.2); position:fixed; top:0px; left:0px; z-index:9999; width:100%; height:65px; }

  #head nav

  { position:relative; z-index:9999; font-size:0px; }

  #head nav a

  { padding:0px 20px; font-family:'HelveticaNeueW01-55Roma'; font-size:12px; font-weight:400; line-height:65px; text-transform:uppercase; color:#FFF; }

  #head .logo

  { display:inline-block; height:65px; line-height:75px; }

  #head .logo img

  { height:23px; }

  #head .toggle

  { display:block; float:right; width:22px; height:65px; background:url(../images/toggle-white.png) no-repeat center; }

  #head .toggle.active

  { background-image:url(../images/toggle-ft.png); }

  #head:hover .background,

  #head.active .background

  { background:rgba(255, 255, 255, 0.2); }



  #body

  { width:100%; min-height:100%; }

  #body section

  { overflow:hidden; position:relative; width:100%; min-height:100%; background-repeat:no-repeat; background-position:center top; background-size:cover; padding-top:65px; }

  #body section header

  { position:relative; z-index:100; text-align:center; }

  #body section header p

  { padding-top:35px; font-size:18px; font-style:italic; color:#CCC; }

  #body section article

  { position:relative; z-index:100; text-align:center; }

  #body section footer

  { position:relative; z-index:100; }

  #body section .background

  { display:block; overflow:hidden; position:absolute; top:0; left:0; z-index:1; width:100%; height:100%; background:url() no-repeat center; background-size:cover; }

  #body section .background video

  { display:none !important; width:auto !important; height:auto !important; min-height:100%; min-width:100%; }



    #home .showreel

    { overflow:hidden; background:url() no-repeat center; background-size:cover; border:10px solid rgba(0, 0, 0, 0.26); margin:auto; text-align:left; }

    #home .showreel a

    { display:block; overflow:hidden; height:100%; }

    #home .showreel a:hover

    { background:rgba(255, 255, 255, 0.5); }



    #impact .col

    { display:block; overflow:hidden; position:relative; width:420px; height:212px; background:url() no-repeat center; background-size:cover; }

    #impact .col a

    { display:block; position:relative; height:100%; color:#FFF; }

    #impact .col a:hover

    { background:rgba(0, 0, 0, 0.3); }

    #impact .col .play

    { display:block; position:relative; z-index:999; height:100%; padding-top:70px; }

    #impact .col .text

    { display:block; position:absolute; bottom:0%; left:0px; z-index:100; width:100%; background:rgba(219, 84, 39, 0.8); color:#FFF !important; }

    #impact .col .text h3

    { display:block; font-size:17px; font-weight:700; line-height:50px; text-transform:uppercase; }

    #impact .col .text p

    { display:none; padding:0px 20px 20px 20px; text-align:left; }

    #impact .parvalux-electric-motors

    { background-image:url(../images/impact-parvalux-electric-motors.png); }

    #impact .dorset-orthopaedic

    { background-image:url(../images/impact-dorset-orthopaedic.png); }

    #impact .urdang-academy

    { background-image:url(../images/impact-urdang-academy.png); }



    #services

    { background-size:initial !important; color:#4A4A4A; }

    #services header

    { background:#FFF; }

    #services header p

    { padding-top:15px !important; color:#B2B2B2; }

    #services article

    { background:#FFF; }

    #services footer

    { background:#FFF; }

    #services .devices

    { display:block; position:absolute; left:50%; z-index:999; }

    #services .col

    { overflow:hidden; position:relative; vertical-align:top; }

    #services .col h3

    { display:block; font-weight:400; text-transform:uppercase; color:#DB5427; }

    #services .col p

    { display:block; font-size:16px; font-weight:400; }

    #services .col hr

    { width:25%; margin:15px auto 30px auto; }



    #about article p

    { padding-top:45px; }

    #about article p:first-child

    { padding-top:0px; }

    #about article hr

    { width:40%; background:#DB5427; margin:50px auto 70px auto; }

    #about .team

    { display:block; margin:auto; font-size:0px; }

    #about .team li

    { display:inline-block; border:4px solid transparent; border-radius:4px; margin:2px; }

    #about .team li a

    { display:block; background:#FFF; }

    #about .team li img

    { opacity:0.5; }

    #about .team li:hover

    { border-color:#DB5427; }

    #about .team li:hover img

    { opacity:1; }

    #about .team

    {}

    #about .team

    {}



    #contact article p:first-child

    { padding-top:0px; }

    #contact article form

    { display:block; overflow:hidden; position:relative; background:rgba(0, 0, 0, 0.5); font-size:0px; text-align:left; }

    #contact article form h3

    { display:block; font-size:30px; color:#DB5427; }

    #contact article form p

    { padding-top:23px; vertical-align:top; }

    #contact article form p label

    { width:85px; }

    #contact article form p input[type=submit]

    { width:auto; }



    #contact .submit

    { margin-top:30px; }



  #foot

  { font-size:0px; }

  #foot p

  { overflow:hidden; font-size:13px; }

  #foot p span

  { display:block; }

  #foot a

  { color:#FFF; padding:0px 5px; }



/* MOBILE */

@media (min-width:0px) {



  /* DEFAULT */



  h1

  { font-size:22px; }

  h2

  { font-size:30px; }

  h3

  { font-size:30px; }

  p

  { font-size:18px; }



  /* COMMON */

  

  .container

  { width:280px; }



  /* STYLES */



  #head

  {}

  #head nav

  { display:none; background:rgba(0, 0, 0, 0.8); }

  #head nav a

  { display:none; }

  #head nav a.mobile

  { display:block; }

  #head nav a:hover

  { background:rgba(255, 255, 255, 0.2); }



  #body

  {}

  #body section header br

  { display:none; }

  #body section .background video

  { display:none; }



    #home

    { background-image:url(../images/backgrounds/home-mobile.jpg); }

    #home header

    { padding:35px 0px; }

    #home footer

    { padding:35px 0px 40px 0px; }

    #home .background

    { /*background-image:url(../images/backgrounds/home-mobile.gif) !important;*/ }

    #home .showreel

    { width:280px; height:195px; background-image:url(../images/home-showreel-mobile.png); border-width:10px; }

    #home .showreel a

    { padding:20px 15px; font-size:22px; }

    #home .showreel .play

    { margin-top:20px; font-size:29px; line-height:36px; }

    #home .showreel .play:before

    { width:36px; height:36px; }

    #home .scroll

    { display:none; }

    #home .scroll.mobile

    { display:block; }



    #impact,

    #services,

    #about

    { display:none; }



    #contact

    { background-image:url(../images/backgrounds/contact-mobile.jpg); }

    #contact header

    { padding:35px 0px 23px 0px; }

    #contact article

    { padding-bottom:80px; }

    #contact article p

    { padding:25px 26px 0px 26px; line-height:25px; }

    #contact article form

    { width:210px; padding:40px 35px; margin:80px auto 0px auto; }

    #contact article form p

    { display:block; width:100%; padding-left:0px; padding-right:0px; }

    #contact article form p input,

    #contact article form p textarea

    { width:190px; }



  #foot

  { padding:25px 0px; }

  #foot p

  { display:block; line-height:25px; text-align:center; }



}



/* SMALL TABLET */

@media (min-width:460px) {



  /* DEFAULT */



  h1

  { font-size:44px; }

  h2

  { font-size:44px; }

  h3

  { font-size:30px; }

  p

  { font-size:18px; }



  /* COMMON */

  

  .container

  { width:410px; }



  /* STYLES */



  #head

  {}



  #body

  {}



    #home .showreel

    { width:394px; height:274px; }

    #home .showreel a

    { padding:40px 35px; font-size:24px; }

    #home .showreel .play

    { margin-top:40px; }



    #contact article form

    { width:340px; }

    #contact article form p input,

    #contact article form p textarea

    { width:235px; }



}



/* TABLET */

@media (min-width:768px) {



  /* DEFAULT */



  h1

  { font-size:44px; }

  h2

  { font-size:58px; }

  h3

  { font-size:30px; }

  p

  { font-size:20px; }



  /* COMMON */

  

  .container

  { width:100%; min-width:720px; max-width:720px; }



  /* STYLES */



  #head

  {}

  #head nav

  { display:block !important; float:right; background:none; }

  #head nav a

  { display:inline-block !important; }

  #head nav a:hover

  { background:none; }

  #head .toggle

  { display:none !important; }



  #body

  {}



    #home

    { background-image:url(../images/backgrounds/home.jpg); }

    #home header

    { padding:60px 0px 60px 0px; }

    #home footer

    { padding:40px 0px 40px 0px; }

    #home .background

    { /*background-image:url(../images/backgrounds/home-tablet.gif) !important;*/ }

    #home .showreel

    { width:690px; height:384px; background-image:url(../images/home-showreel.png); border-width:15px; }

    #home .showreel a

    { padding:55px 50px; font-size:48px; }

    #home .scroll

    { display:block; }

    #home .scroll.mobile

    { display:none; }



    #impact

    { display:block; background-image:url(../images/backgrounds/impact.jpg); }

    #impact header

    { padding:135px 0px 160px 0px; }

    #impact footer

    { padding:35px 0px 120px 0px; }

    #impact .col

    { margin:30px auto; }



    #services

    { display:block; background-image:url(../images/backgrounds/services.jpg); }

    #services header

    { padding:80px 0px; margin-top:240px; }

    #services article

    { padding-bottom:110px; }

    #services footer

    { padding-bottom:110px; }

    #services .devices

    { top:90px; width:600px; margin-left:-300px; }

    #services .col

    { display:block; width:70%; margin:45px auto; }

    #services .col p

    { padding-bottom:30px; }



    #about

    { display:block; background-image:url(../images/backgrounds/about.jpg); }

    #about header

    { padding:180px 0px 35px 0px; }

    #about article

    { padding-bottom:180px; }

    #about footer

    { padding-bottom:110px; }

    #about .team

    { width:490px; }



    #contact

    { background-image:url(../images/backgrounds/contact.jpg); }

    #contact article form p input,

    #contact article form p textarea

    { width:230px; }



  #foot

  {}



  #foot

  { height:45px; padding:0px; }

  #foot p

  { display:inline-block; width:50%; line-height:45px; text-align:left; }

  #foot p span

  { float:right; }

  #foot p:last-child

  { text-align:right; }

  #foot a:last-child

  { padding-right:0px; }



}



/* DESKTOP */

@media (min-width:1280px) {



  /* DEFAULT */



  h1

  { font-size:44px; }

  h2

  { font-size:58px; }

  h3

  { font-size:30px; }

  p

  { font-size:20px; }

  

  /* COMMON */



  .container

  { width:960px; min-width:960px; max-width:960px; }



  /* STYLES */



  #head

  {}



  #body

  {}

  #body section header br

  { display:block; }

  #body section .background video

  { display:block !important; }



    #home .background

    { background:none !important; }

    #home .showreel

    { width:950px; height:529px; }



    #impact .col

    { display:inline-block; margin:0px 15px; }

    #impact .col:first-child

    { margin-left:0px; }

    #impact .col:last-child

    { margin-right:0px; }



    #services header

    { margin-top:490px; }

    #services header p

    { text-align:right; }

    #services .devices

    { top:260px; width:800px; margin-left:-400px; }

    #services .col

    { display:inline-block; width:260px; margin:0px 30px; }

    #services .col p

    { height:125px; padding:0px; }

    #services .col:first-child

    { margin-left:0px; }

    #services .col:last-child

    { margin-right:0px; }



    #about .team

    { width:810px; }



    #contact header

    { padding:110px 0px 35px 0px; }

    #contact article

    { padding-bottom:150px; }

    #contact article form

    { width:820px; padding:60px 50px 35px 60px; }

    #contact article form p input,

    #contact article form p textarea

    { width:270px; }

    #contact article form p.field:last-of-type

    { float:right; margin-top:-178px; text-align:right; }

    #contact article form p.field:last-of-type label

    { text-align:left; }

    #contact article form p.fr

    { text-align:right; }

    #contact article form p.fr label

    { text-align:left; }

    .g-recaptcha 
    
    { margin-top: 30px; width: 304px; margin: 50px auto 0 auto; } 


  #foot

  {}



}



/* Parallax */

.parallax-mirror,

.parallax-mirror *

{ transition:none !important; }

.parallax-mirror

{ z-index:1 !important; }



/* PrettyPhoto */

.pp_overlay,

.pp_overlay *,

.pp_default,

.pp_default *

{ transition:none !important; }

.pp_description,

.pp_details

{ font-size:16px !important; font-weight:400 !important; color:#DB5427; }

