/* FONTS 
============================== */
@font-face {
    font-family: 'Socialico';
    src: url('../fonts/Socialico.eot');
    src: url('../fonts/Socialico.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Socialico.ttf') format('truetype'),
        url('../fonts/Socialico.svg#Socialico') format('svg');
    font-weight: normal;
    font-style: normal;
}

.fm-hed {
    display: none;       
}

.hp-terms {
    display: none;
}

h2.text-center { font-family: "Open Sans", sans-serif; text-transform: uppercase; letter-spacing: -3px; font-weight: 800;}
p.text-center { font-family: "Open Sans", sans-serif; letter-spacing: -1px; font-weight: 300; color:#333;}

/* BODY 
============================== */
html {
    width: 100%; height: 100%;
}
body { height: 100%; font-family: "Open Sans",Helvetica,Arial,sans-serif;}

a { color: #333;  text-decoration: underline;}
a:hover { color: #333; text-decoration: none; }

::selection {
    background-color: rgba(0,0,0,0.6);
}
::-moz-selection {
    background-color: rgba(0,0,0,0.6);
}

/* COMMON
============================== */
.ico { 
    font-family: "Socialico"; font-weight: 400; font-style: normal; font-size: 50px;  color: #999; 	text-decoration: none;
    -webkit-transition: all .5s ease-in-out;
    -moz-transition: all .5s ease-in-out;
    -ms-transition: all .5s ease-in-out;
    -o-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
}

.ico:hover  { color: #000; }

.heading_line { border-bottom: 1px solid #ccc; display: block; height: 1px; margin: 10px auto 0; width: 85px; } 
.icon-works, .icon-time { display: block; margin: 10px auto; height: 64px; width: 100%; background: url('../image/icon-line.png') center center repeat-x; }
.icon-works img, .icon-time img { background: #f3f3f3; }
.icon-about, .icon-contact { display: block; margin: 10px auto; height: 64px; width: 100%; background:url('../image/icon-line2.png') center center repeat-x; }
.icon-about img, .icon-contact img { background: #DCDCDC; }

h2 {margin-top: 30px;}

/* HEADER
============================== */
.navbar { width: 100%; position: relative; margin: 0 0 20px; }
.navbar-inner { -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; border: none; border-bottom: 1px #ccc solid; background: #fff; 
                -webkit-box-shadow: none;
                -moz-box-shadow: none;
                box-shadow: none; }

.sticky-wrapper { z-index: 999; width: 100%; position: relative; margin: 0; }
.sticky-wrapper .navbar { margin-bottom: 0; }
.sticky-wrapper .navbar.stuck { position: fixed; top: 0; }

/* LOGO
============================== */
header img { float: left; margin-left: 10px; }

/* NAVIGATION
============================== */
.navbar ul.nav { padding-top: 15px; }
.navbar ul.nav li a { color:#333; position:relative; display:inline-block; font-weight: 800; text-decoration:none; font-size:12px; text-transform:uppercase; text-decoration:none; display:block;
                      -webkit-transition: all 300ms linear;
                      -moz-transition: all 300ms linear;
                      -o-transition: all 300ms linear;
                      -ms-transition: all 300ms linear;
                      transition: all 300ms linear;

                      background: none;
                      -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow:none;
}

.navbar ul.nav li.active a,
.navbar ul.nav li.active a:hover,
.navbar ul.nav li a:hover,
.navbar ul.nav li a.selected { color:#FFCC00; text-decoration: none;
                               background: none;
                               -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow:none;
}
/* HOME
============================== */
#home {
    width:100%; height:100%;
    background:url('../image/background/bg_home.jpg') no-repeat center center fixed; 
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-attachment : fixed;  /* IE FIX */
}

#home .container { width: 100%; } 
#home .containerblack {
    background-color: rgba(0,0,0,0.6);
    width: 100%;
    height: 350px;
    padding: 50px 0 50px 0; 
    margin: 150px auto 0 auto;
    position: relative;
}

ul.homenav.left {position: absolute; width: 200px; top: 120px; left: 50%; margin-left: -270px; }
ul.homenav.right {position: absolute; width: 200px; top: 120px; left: 50%; margin-left: 115px; }
ul.homenav li { list-style:none; display: inline-block; margin: 0 10px 0 10px;}
ul.homenav li a { color:#999; font-weight: 800; text-decoration:none; font-size:12px; text-transform:uppercase; text-decoration:none;
                  -webkit-transition: all 300ms linear;
                  -moz-transition: all 300ms linear;
                  -o-transition: all 300ms linear;
                  -ms-transition: all 300ms linear;
                  transition: all 300ms linear;
                  background: none;
                  -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow:none;
}
ul.homenav li a:hover{ color:#FFCC00; text-decoration: none;
                       background: none;
                       -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow:none;
}
/* BIG LOGO */
#home h1 { margin: 0 auto; text-align: center; } 

/* SLIDER */
#slider  { width: 100%; font-size: 38px; margin-top:20px; }
#slider .slide { width: 100%; height: 70px; font-weight: 300; line-height: 70px; color: #BFBFBF; text-align: center; letter-spacing: -1px;}
#slider .slide strong { font-weight: 800; color: #fff;}

/* ARROW DOWN */	
a#arrow_down {
    position: absolute; width: 300px; bottom: 10%; left: 50%; margin-left: -150px;
    padding: 20px;
    text-align: center;
    font-size: 26px;
    border: 3px solid #FFCC00;
    border-radius: 6px;
    box-shadow: 0 2px 1px rgba(0, 0, 0, 0.2), inset 0 2px 1px rgba(0, 0, 0, 0.2);
    background: transparent;
    text-decoration: none;
    text-transform: uppercase;
    color: #fff;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}	
a#arrow_down:hover { background-color: rgba(0,0,0,0.6); }


/* WORKS
============================== */
#works { padding: 60px 0 100px 0; background: #f3f3f3; border-bottom: 1px solid #e3e3e3; }
#works_items { padding-top: 30px; }

.og-grid {
    list-style: none;
    padding: 20px 0 20px 0;
    max-width: 1060px;
    margin: 0 auto;
    text-align: center;
    width: 100%;
}

.og-grid li {
    display: inline-block;
    margin: 10px 5px 0 5px;
    vertical-align: top;
    height: 250px;
}

.og-grid li a div {
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    background: rgba(41,41,41,0.6);
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-align-items: flex-end;
    -moz-align-items: flex-end;
    -ms-align-items: flex-end;
    align-items: flex-end;
    text-align: left;
    padding: 20px;
    color: #fff;
    opacity: 0;
    -moz-opacity: 0;
    filter:alpha(opacity=0);
    -webkit-transition: opacity 180ms ease-in-out;
    -moz-transition: opacity 180ms ease-in-out;
    -o-transition: opacity 180ms ease-in-out;
    transition: opacity 180ms ease-in-out;
}

.og-grid li a:hover div {
    opacity: 1;
    -moz-opacity: 1;
    filter:alpha(opacity=100);
}


.og-grid li > a,
.og-grid li > a img {
    border: none;
    outline: none;
    display: block;
    position: relative;
}

.og-grid li.og-expanded > a::after {
    top: auto;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-bottom-color: #292929;
    border-width: 15px;
    left: 50%;
    margin: -20px 0 0 -15px;
}

.og-expander {
    position: absolute;
    background: #292929;
    top: auto;
    left: 0;
    width: 100%;
    margin-top: 10px;
    text-align: left;
    height: 0;
    overflow: hidden;
}

.og-expander-inner {
    padding: 50px 30px;
    height: 100%;
}

a.og-next {
    position: absolute;
    display: block;
    width: 40px;
    height: 30px;
    top: 25px;
    right: 80px;
    text-indent: -6000px;
    background: url(../image/next.png) no-repeat 0 0;
}
a.og-prev {
    position: absolute;
    display: block;
    width: 40px;
    height: 30px;
    top: 25px;
    right: 130px;
    text-indent: -6000px;
    background: url(../image/prev.png) no-repeat 0 0;
}

.og-close {
    position: absolute;
    width: 40px;
    height: 40px;
    top: 20px;
    right: 20px;
    cursor: pointer;
}

.og-close::before,
.og-close::after {
    content: '';
    position: absolute;
    width: 100%;
    top: 50%;
    height: 1px;
    background: #888;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.og-close::after {
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.og-close:hover::before,
.og-close:hover::after {
    background: #333;
}

.og-fullimg,
.og-details {
    width: 50%;
    float: left;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.og-fullimg img {
    box-shadow: 0 5px 35px rgba(0,0,0,.65);
    -moz-box-shadow: 0 5px 35px rgba(0,0,0,.65);
    -webkit-box-shadow: 0 5px 35px rgba(0,0,0,.65);
}

.og-details {
    padding: 0 40px 0 20px;
}

.og-fullimg {
    text-align: center;
}

.og-fullimg img {
    display: inline-block;
    max-height: 90%;
    max-width: 90%;
}

.og-details h3 {
    font-size: 42px;
    padding: 20px 0 10px;
    margin-bottom: 10px;
    color: #fff;
    font-family: "Open Sans", sans-serif;
    font-weight: 800;
    letter-spacing: -2px;
}

.og-details p {
    font-weight: 400;
    font-size: 16px;
    line-height: 22px;
    color: #999;
}

.og-details a {
    font-weight: 400;
    font-size: 16px;
    display: inline-block;
    margin: 30px 0 0;
    outline: none;
    padding: 10px;
    text-align: center;
    border: 3px solid #FFCC00;
    border-radius: 6px;
    box-shadow: 0 2px 1px rgba(0, 0, 0, 0.2), inset 0 2px 1px rgba(0, 0, 0, 0.2);
    background: transparent;
    text-decoration: none;
    text-transform: uppercase;
    color: #fff;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}	

.og-details a:hover {
    background-color: rgba(0,0,0,0.6);
    text-decoration: none;
}

.og-details ul.thumbs {
    margin-left: 0;
    max-width: 450px;
}

.og-details ul.thumbs li {
    margin: 5px 5px 0 0;
    height: 80px;
}

.og-details ul.thumbs a {
    padding: 0;
}

.og-details ul.thumbs a img {
    border: 2px solid #292929!important;
    padding: 1px;
    height: 80px;
    width: 80px;
}

.og-details ul.thumbs a.active img {
    border: 2px solid #dcdcdc!important;
    padding: 1px;
}

.og-loading {
    width: 50px;
    height: 50px;
    background: url('../image/ajax-loader.gif') center center no-repeat;
    position: absolute;
    top: 25%;
    left: 50%;
    margin: -25px 0 0 -25px;
}

.og-details a[href="#"] {
    display:none;
}
.og-details ul.thumbs a[href="#"] {
    display:block;
}

/* ABOUT
============================== */
#about { padding: 60px 0 100px 0; background: #f3f3f3; border-bottom: 1px solid #e3e3e3; }

/* PERSON */
.person 		{ width: 100%; background: #fff; margin-bottom: 8px; padding-bottom: 8px; position: relative; text-align: center; }
.person h2 			{ font-size: 16px; margin: 5px 0; letter-spacing: -1px;}
.person .position 	{ display: inline-block; padding: 3px 5px; background: #FFCC00; color: #fff; font-size: 14px; text-transform: uppercase; }
.person ul a,
.person ul a:hover	{ text-decoration: none; }
.person p a { font-size:12px; }
.person ul { margin-top: 20px; }


/* ABOUT
============================== */
#timeline { padding: 60px 0 100px 0; background: #f3f3f3; border-bottom: 1px solid #e3e3e3; }
#timeline a { color: #FFCC00; }
#timeline a:hover { color: #dcdcdc; text-decoration: none; }


#services { padding: 60px 0 100px 0; background: #f3f3f3; border-bottom: 1px solid #e3e3e3; }
#services a { color: #FFCC00; }
#services a:hover { color: #dcdcdc; text-decoration: none; }

/* CONTACT
============================== */
#contact { padding: 60px 0 100px 0; background: #f3f3f3; border-bottom: 1px solid #e3e3e3; }
#contact .row { padding-top: 40px; }

#contact form { margin: 20px 0; }
#contact h3 { letter-spacing: -2px; }
#contact .span3 {margin-left: 60px;}

#contact form input,
#contact form textarea{
    -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
    width:100%; padding:4px 8px; border:1px solid #FFF; box-shadow:none;
    -moz-transition:all .3s ease-in-out;
    -ms-transition:all .3s ease-in-out;
    -o-transition:all .3s ease-in-out;
    -webkit-transition:all .3s ease-in-out;
    transition:all .3s ease-in-out;
}

/* INPUT -> HEIGHT */
#contact form input{ height:40px; resize: none; }

/* TEXTAREA -> HEIGHT */
#contact form textarea{ min-height:120px; resize: vertical; }

/* INPUT & TEXTAREA -> NOTHING  */
#contact form input:required, 
#contact form textarea:required			{ box-shadow:inherit;} 

/* INPUT & TEXTAREA -> VALID */
#contact form input:required:valid,
#contact form textarea:required:valid	{ border-color:#66A6FF; color:#66A6FF; }

/* INPUT & TEXTAREA -> INVALID */
#contact form input:focus:invalid,
#contact form textarea:focus:invalid	{color:#ec7e7e; border-color:#ec7e7e; box-shadow:0 0 2px rgba(236,126,126,0.7);} 

/* BUTTON */
#contact form .btn{
    width:100%; padding: 4px 8px; height:40px; background:#555; color:#FFF;
    -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; text-shadow: none;
    transition:all .3s ease-in-out;
    -moz-transition:all .3s ease-in-out;
    -ms-transition:all .3s ease-in-out;
    -o-transition:all .3s ease-in-out;
    -webkit-transition:all .3s ease-in-out;
}	

/* BUTTON -> HOVER */
#contact form .btn:hover{ background:#FFCC00; color:#FFF; }




.container p.lead {max-width:600px; margin: 0 auto;}
.container p.lead.marginer {margin: 0 auto 50px auto;}
.container p.lead.twocolumns1 {max-width:474px; text-align:left; float:left; margin: 0 0 50px 0;}
.container p.lead.twocolumns2 {max-width:474px; text-align:left; float:left; margin: 0 0 50px 94px;}
.clear {clear:both;}

.container.txtblock {background:#23231F url('../image/background/bg_block1.jpg') left center no-repeat; width:100%; padding: 80px 0 80px 0; border-bottom: 1px solid #e3e3e3;}
.container.txtblock p.lead {background: url('../image/icon-apos.png') 0px 12px no-repeat; color:#CCCCCC; font-weight: 300; font-size: 28px; line-height: 52px; letter-spacing: -1px; max-width:900px; margin: 0 auto; text-align: left; font-family: 'Merriweather', Georgia, serif; padding: 0 0 0 100px;}
.container.txtblock a {color:#fff; font-weight: 400;}
.container.txtblock a:hover {color:#FFCC00; text-decoration:none;}
.container.txtblock.nrtwo {background:#23231F url('../image/background/bg_block3.jpg') left center no-repeat;}
.container.txtblock.nrthree {background:#23231F url('../image/background/bg_block2.jpg') left center no-repeat;}

/* SOCIAL
============================== */
#social { background: #fff; padding: 40px 0; }
#social ul { margin: 0; }
#social ul li { padding: 20px; }
#social a,
#social a:hover { text-decoration: none; }

/* FOOTER
============================== */
footer  { width: 100%; padding: 20px 0; background: #333; text-align: center; }

footer p { display: inline-block; width: 100%; padding: 3px 0px 0px; color: #fff; font-size: 14px;}
footer a { margin-left: 0px;}

/* =============================================================== */
/* Media Queries
================================================================ */


@media screen and (max-width: 830px) {
    .og-expander h3 { font-size: 32px; }
    .og-expander p { font-size: 13px; }
    .og-expander a { font-size: 12px; }

}

@media screen and (max-width: 650px) {
    .og-fullimg { display: none; }
    .og-details { float: none; width: 100%; }

}

@media (min-width:1200px){
    .container {width:1042px}
    .container p.lead.twocolumns1 {max-width:474px;}
    .container p.lead.twocolumns2 {max-width:474px;}
    .span3 {width: 250px;}
}
@media (max-height:700px){
    #home .containerblack {margin-top: 50px;}
    #slider  { font-size: 28px; }
    #slider .slide { height: 50px; line-height: 50px;}
}
@media (max-height:400px){
    #home .containerblack {margin-top: 0px!important;}
    a#arrow_down {display:none;}
}

@media only screen and (min-width: 980px) and (max-width: 1199px) {
    .container p.lead.twocolumns1 {max-width:423px;}
    .container p.lead.twocolumns2 {max-width:423px;}
}

@media only screen and (max-width: 979px) {
    #home .containerblack {margin-top: 50px;}
    #slider  { font-size: 28px; }
    #slider .slide { height: 50px; line-height: 50px;}
    .container p.lead.twocolumns1 {max-width:315px;}
    .container p.lead.twocolumns2 {max-width:315px;}
    .container.txtblock p.lead {font-size: 22px; line-height: 40px; padding-right: 20px; margin-left: 10px;}
}

@media only screen and (max-width: 767px) {
    body {padding-right: 0;padding-left: 0;}
    .cbp_tmtimeline > li .cbp_tmlabel p {padding: 10px 20px 10px 20px;}
}

@media only screen and (max-width: 650px) {
    ul.homenav.left {display:none; }
    ul.homenav.right {display:none; }
}

@media only screen and (min-width: 480px) and (max-width: 767px) {
    .container p.lead.twocolumns1 {max-width:750px; padding-left:20px; padding-right:20px;}
    .container p.lead.twocolumns2 {max-width:750px; padding-left:20px; padding-right:20px; margin-left:0px; margin-bottom:10px;}
    .container.txtblock p.lead {font-size: 16px; line-height: 30px; padding-right: 20px; margin-left: 10px;}
    #slider  { font-size: 20px; }
    #slider .slide { height: 32px; line-height: 32px;}
    #works, #about, #timeline, #contact {padding-left:10px; padding-right:10px;}
}

@media only screen and (min-width: 626px) and (max-width: 767px) {
    .span3 {width: 240px; float: left; margin-right: 30px; margin-bottom: 30px; }
}
@media only screen and (min-width: 526px) and (max-width: 625px) {
    .span3 {width: 190px; float: left; margin-right: 30px; margin-bottom: 30px; }
}
@media only screen and (min-width: 251px) and (max-width: 525px) {
    .span3 {width: 250px; float: none; margin: 20px auto 0 auto!important; padding:0; }
    .row {padding-left:0px!important; }
}
@media only screen and (max-width: 250px) {
    .span3 {float: none; margin: 20px auto 0 auto!important; padding:0; }
    .row {padding-left:0px!important; }
}

@media only screen and (max-width: 479px) {
    .container p.lead.twocolumns1 {max-width:470px; padding-left:20px; padding-right:20px; font-size:16px; line-height:24px;}
    .container p.lead.twocolumns2 {max-width:470px; padding-left:20px; padding-right:20px; margin-left:0px; margin-bottom:10px; font-size:16px; line-height:24px;}
    #slider  { font-size: 18px; }
    #slider .slide { height: 30px; line-height: 30px;}
    #home .containerblack {height: 250px; padding: 30px 0 30px 0; margin-top: 30px;}
    a#arrow_down {width: 200px; margin-left: -100px; font-size: 16px;}
    .container.txtblock p.lead {font-size: 14px; line-height: 24px; padding-right: 20px;}
    .navbar, .sticky-wrapper {display:none;}
    #works, #about, #timeline, #contact {padding-left:10px; padding-right:10px;}
    #home {background:url('../image/background/bg_home.jpg') no-repeat center center scroll; -webkit-background-size: auto; -moz-background-size: auto; -o-background-size: auto; background-size: auto; background-attachment: scroll;}
}

