/* ==========================================================================
   Default Style for all Screens 320px and above
   ========================================================================== */
@media only screen and (min-width: 320px) {
  html,
  body {
    overflow-x: hidden;
  }
  body {
    font-family: 'Open Sans', sans-serif;
    line-height: 150%;
    background-color: #000000;
  }
  h1,
  h2 {
    font-weight: normal;
  }
  a {
    text-decoration: none;
    -webkit-transition: color .3s ease;
    -moz-transition: color .3s ease;
    -o-transition: color .3s ease;
    -ms-transition: color .3s ease;
    transition: color .3s ease;
  }
  p {
    line-height: 140%;
  }
  a:hover,
  a:active,
  a:focus {
    outline: none !important;
  }
  a::-moz-focus-inner {
    border: 0 !important;
  }
  #wrapper {
    width: 1256px;
    margin: 0 auto;
  }
  #header {
    overflow: hidden;
  }
  #contact-info {
    background-color: #DC6F02;
    -webkit-box-shadow: inset 0 2px 6px rgba(0,0,0,.5);
    -moz-box-shadow: inset 0 2px 6px rgba(0,0,0,.5);
    box-shadow: inset 0 2px 6px rgba(0,0,0,.5);
    color: inset 0 2px 6px rgba(0,0,0,.5);
    font-size: 14px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    color: white;
  }
  #contact-info a {
    color: white;
  }
  #contact-info .phone,
  #contact-info .email {
    display: inline-block;
    padding: 10px 0 11px;
  }
  #contact-info .phone .icon,
  #contact-info .email .icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url("../img/sprites.png") no-repeat;
    vertical-align: middle;
  }
  #contact-info .phone .info,
  #contact-info .email .info {
    vertical-align: middle;
    margin-left: 5px;
  }
  #contact-info .email .icon {
    margin-left: 20px;
    background-position: -21px 0;
  }
  #contact-info .social {
    display: inline-block;
    padding: 8px 0 9px;
    float: right;
    margin-right: 20px;
  }
  #contact-info .social .icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    text-indent: -6000px;
    background: url("../img/sprites.png") no-repeat -49px 0;
    margin-left: 15px;
    opacity: 0.8;
  }
  #contact-info .social .icon:hover {
    opacity: 1;
  }
  #contact-info .social .icon.twitter {
    background-position: -79px 0;
  }
  #contact-info .social .icon.linkedin {
    background-position: -108px 0;
  }
  #contact-info .social .icon.instagram {
    background-position: -79px -27px;
  }
  #contact-info .social .icon.pinterest {
    background-position: -48px -27px;
  }
  #main-nav {
    background-color: #000;
  }
  #main-nav .menu .menu-item {
    float: left;
    margin-right: 58px;
  }
  #main-nav .menu .menu-item.current a {
    color: #ff7f00;
    border-bottom: 2px solid #ff7f00;
    padding-bottom: 28px;
  }
  #main-nav .menu .menu-item a {
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
    color: white;
    display: block;
    padding: 28px 0;
  }
  #main-nav .menu .menu-item a:hover {
    color: #ff7f00;
  }
  #logo {
    position: absolute;
    right: -20px;
    top: 7px;
  }
  #logo a {
    display: block;
    text-indent: -6000px;
    width: 134px;
    height: 57px;
    background: url("../img/sprites.png") no-repeat -149px -14px;
  }
  #visual {
    height: 499px;
    background: url("../img/slide-1.jpg") no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
  }
  #visual .heading {
    color: white;
    position: absolute;
    top: 47px;
    right: 20px;
  }
  #visual .heading .line {
    text-align: right;
    margin-top: 10px;
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.27), 1px 1px 1px rgba(0, 0, 0, 0.65);
  }
  #visual .heading .line.line-1 {
    font-size: 60px;
  }
  #visual .heading .line.line-1:before {
    content: '\201C';
    position: relative;
    left: -5px;
  }
  #visual .heading .line.line-2 {
    font-size: 32px;
    margin-top: -10px;
  }
  #visual .heading .line.line-2:after {
    font-size: 50px;
    content: '\201E';
    position: relative;
    top: -15px;
    left: 5px;
  }
  #visual .heading .line.line-3 {
    font-size: 12px;
    margin-right: 20px;
  }
  #visual .heading .line.line-3 .name {
    font-size: 14px;
  }
  #content {
    color: white;
    margin-top: -270px;
  }
  #content .main {
    width: 610px;
    float: left;
  }
  #content .main .scrollpane {
    padding-right: 10px;
  }
  #content .main .scrollpane.scroll {
    height: 510px;
  }
  #content .main .scrollpane:focus {
    outline: none;
  }
  #content .main .scrollpane p {
    color: #EEE;
    margin-bottom: 20px;
  }
  #content .main .scrollpane a {
    color: #ff7f00;
  }
  #content .main .scrollpane del {
    color: gray;
  }
  #content .main .scrollpane img {
    max-width: 600px;
  }
  #content .main .scrollpane ul {
    margin-bottom: 20px;
    padding-left: 40px;
  }
  #content .main .scrollpane ul li {
    list-style-type: disc;
  }
  #content .main .scrollpane ol {
    margin-bottom: 20px;
    padding-left: 40px;
  }
  #content .main .scrollpane ol li {
    list-style-type: decimal;
  }
  #content .main .scrollpane h1 {
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 20px;
  }
  #content .main .scrollpane h2,
  #content .main .scrollpane h3,
  #content .main .scrollpane h4,
  #content .main .scrollpane h5,
  #content .main .scrollpane h6 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 20px;
  }
  #content .main .scrollpane blockquote {
    color: #b3b3b3;
    font-size: 19px;
    font-family: 'Desyrel', serif;
    line-height: 100%;
    margin-bottom: 10px;
  }
  #content .main .scrollpane blockquote p {
    font-size: 19px !important;
    line-height: 140% !important;
    margin-bottom: 20px !important;
    color: #b3b3b3 !important;
  }
  #content .main .scrollpane .blog-post p .date {
    font-size: 10px;
    color: gray;
  }
  #content .main .scrollpane .blog-post p .thumbnail {
    float: left;
    border: solid 5px white;
    margin: 5px 10px 5px 0;
  }
  #content .main .scrollpane .quote .text {
    color: #b3b3b3;
    font-size: 19px;
    font-family: 'Desyrel', serif;
    line-height: 100%;
    margin-bottom: 10px;
  }
  #content .main .scrollpane .quote .text:before {
    content: '\201C';
    position: relative;
    left: -5px;
  }
  #content .main .scrollpane .quote .text:after {
    content: '\201E';
    position: relative;
    top: -5px;
    left: 5px;
  }
  #content .main .scrollpane .quote .author {
    color: #999999;
    text-align: right;
    margin-right: 30px;
  }
  #content .main .scrollpane .quote .author .name {
    font-size: 12px;
  }
  #content .main .scrollpane .quote .author .info {
    font-size: 10px;
  }
  #content .aside {
    width: 320px;
    float: right;
  }
  #content .aside .intro {
    color: #999999;
    margin-top: 150px;
    padding: 30px 20px 20px;
    background-color: #000000;
    font-family: 'Lithos Pro', sans-serif;
    text-transform: uppercase;
    font-size: 14px;
  }
  #content .aside .intro .white {
    color: white;
  }
  #content .aside .quote {
    padding: 20px;
  }
  #content .aside .quote .text {
    font-size: 32px;
    font-family: 'Desyrel', serif;
    line-height: 100%;
  }
  #content .aside .quote .text:before {
    content: '\201C';
  }
  #content .aside .quote .text:after {
    content: '\201E';
    position: relative;
    top: -20px;
  }
  #content .aside .quote .author {
    color: #999999;
  }
  #content .aside .quote .author .name {
    font-size: 12px;
  }
  #content .aside .quote .author .info {
    font-size: 10px;
  }
  #video {
    width: 620px;
    height: 414px;
    background: url("../img/anh-do-2.jpg") no-repeat;
    margin-bottom: 44px;
    position: relative;
  }
  #video.playing {
    background: none;
  }
  #video .play {
    display: block;
    width: 100px;
    height: 100px;
    position: absolute;
    text-indent: -6000px;
    top: 50%;
    left: 50%;
    margin-top: -50px;
    margin-left: -50px;
    background-color: rgba(255, 255, 255, 0.1);
    -webkit-border-radius: 9px;
    -webkit-background-clip: padding-box;
    -moz-border-radius: 9px;
    -moz-background-clip: padding;
    border-radius: 9px;
    background-clip: padding-box;
  }
  #video .play:hover {
    background-color: rgba(255, 255, 255, 0.3);
  }
  #video .youtube {
    display: none;
    width: 610px;
    height: 394px;
    position: absolute;
    z-index: 999;
    background-color: black;
    bottom: 10px;
    left: 0;
    padding: 5px;
  }
  #video .youtube .player {
    background: #333;
    width: 100%;
    height: 100%;
  }
  #video .youtube .close {
    display: block;
    width: 28px;
    height: 28px;
    text-indent: -3000px;
    background: url("../img/x_close.png") no-repeat;
    color: white;
    position: absolute;
    top: -14px;
    right: -14px;
    font-size: 12px;
    z-index: 1000;
    opacity: .5;
  }
  #video .youtube .close:hover {
    opacity: 1;
  }
  #request {
    padding: 20px 20px 0;
  }
  #request .title {
    font-weight: 600;
    color: #ff7f00;
    margin-bottom: 20px;
  }
  #request label {
    display: none;
  }
  #request input[type=text],
  #request input[type=email],
  #request textarea {
    background-color: black;
    font-size: 12px;
    color: #999999;
    padding: 10px;
    border: 1px solid #999999;
    margin-bottom: -1px;
    width: 278px;
  }
  #request input[type=text]:focus,
  #request input[type=email]:focus,
  #request textarea:focus {
    outline: none;
  }
  #request textarea {
    height: 270px;
    resize: none;
  }
  #request input[type=submit] {
    cursor: pointer;
    background-color: black;
    font-size: 14px;
    color: white;
    padding: 10px 20px;
    border: 1px solid #999999;
  }
  #request input[type=submit]:hover {
    background-color: #4d4d4d;
  }
  #request .phone {
    text-align: right;
    margin-top: -37px;
    margin-right: -20px;
    font-size: 14px;
    padding: 10px 0 11px;
  }
  #request .phone .icon {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url("../img/sprites.png") no-repeat;
    vertical-align: middle;
  }
  #request .phone .info {
    vertical-align: middle;
    margin-left: 5px;
  }
  #gallery {
    margin: 40px 0;
  }
  #carousel {
    display: none;
  }
  #carousel .caroufredsel_wrapper .wrapper .photo {
    width: 320px;
    float: left;
    position: relative;
  }
  #carousel .caroufredsel_wrapper .wrapper .photo .frame {
    width: 300px;
    height: 200px;
    position: absolute;
    top: 0;
    left: 0;
    background: url("../img/sprites.png") no-repeat -78px -90px;
  }
  #carousel .prev,
  #carousel .next {
    background: url("../img/sprites.png") no-repeat -18px -161px;
    text-indent: -6000px;
    width: 28px;
    height: 56px;
    top: 50%;
    margin-top: -28px;
    position: absolute;
  }
  #carousel .prev {
    left: -50px;
  }
  #carousel .next {
    right: -50px;
    background-position: -410px -161px;
  }
  #testimonials {
    padding: 0;
    background: url("../img/bg-testimonial.png");
    background-color: #333;
    margin: 20px 0;
  }
  #carousel-2 {
    display: none;
  }
  #carousel-2 .caroufredsel_wrapper .wrapper .quote {
    color: #CCC;
    width: 940px;
    height: 200px;
    float: left;
    position: relative;
  }
  #carousel-2 .caroufredsel_wrapper .wrapper .quote .text {
    margin: 50px 60px 10px;
    font-family: 'Desyrel', serif;
    font-size: 27px;
    line-height: 100%;
    max-height: 179px;
    overflow: hidden;
  }
  #carousel-2 .caroufredsel_wrapper .wrapper .quote .text:before {
    content: '\201C';
    position: relative;
    left: -5px;
  }
  #carousel-2 .caroufredsel_wrapper .wrapper .quote .text:after {
    content: '\201E';
    position: relative;
    top: -5px;
    left: 5px;
  }
  #carousel-2 .caroufredsel_wrapper .wrapper .quote .author {
    color: #999999;
    text-align: right;
    margin-right: 90px;
  }
  #carousel-2 .caroufredsel_wrapper .wrapper .quote .author .name {
    font-size: 12px;
  }
  #carousel-2 .caroufredsel_wrapper .wrapper .quote .author .info {
    font-size: 10px;
  }
  #carousel-2 .prev,
  #carousel-2 .next {
    background: url("../img/sprites.png") no-repeat -18px -161px;
    text-indent: -6000px;
    width: 28px;
    height: 56px;
    top: 50%;
    margin-top: -28px;
    position: absolute;
  }
  #carousel-2 .prev {
    left: -50px;
  }
  #carousel-2 .next {
    right: -50px;
    background-position: -410px -161px;
  }
  #footer {
    text-align: center;
    color: #777;
    font-size: 12px;
    margin-bottom: 50px;
  }
  #footer .author {
    margin-top: 10px;
    font-size: 10px;
  }
  #footer a {
    color: #555;
  }
  .jspVerticalBar {
    width: 6px;
  }
  .jspVerticalBar .jspTrack {
    background-color: #333;
  }
  .jspVerticalBar .jspTrack .jspDrag {
    background-color: #FFF;
  }
  .jspVerticalBar .jspTrack .jspDrag.jspHover {
    background-color: #ff7f00;
  }
  .page #visual,
  .single #visual {
    height: 162px;
  }
  .page #visual .heading,
  .single #visual .heading {
    display: none;
    width: 100%;
    right: 0;
  }
  .page #visual .heading .alternative-title,
  .single #visual .heading .alternative-title {
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.27), 1px 1px 1px rgba(0, 0, 0, 0.65);
    text-align: center;
    font-size: 72px;
    font-weight: 700;
  }
  .page #content,
  .single #content {
    margin-top: 0;
    padding-bottom: 20px;
  }
  .page #content .main .scrollpane.scroll,
  .single #content .main .scrollpane.scroll {
    height: 624px;
  }
  .page #content .main .scrollpane hr,
  .single #content .main .scrollpane hr {
    margin: 0 0 20px;
  }
  .page #content .main .scrollpane h2,
  .single #content .main .scrollpane h2 {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 20px;
  }
  .page #content .main .scrollpane p,
  .single #content .main .scrollpane p {
    color: #EEE;
    font-size: 14px;
    line-height: 180%;
    margin-bottom: 30px;
  }
  .page #content .aside .intro,
  .single #content .aside .intro {
    padding-top: 0;
    margin-top: 0;
  }
  .page #request textarea,
  .single #request textarea {
    height: 107px;
  }
}
/* ==========================================================================
   Small Screen 320px and upto 479px
   ========================================================================== */
@media only screen and (max-width: 479px) {
  #wrapper {
    width: 310px;
  }
  #contact-info {
    font-size: 11px;
  }
  #contact-info .social {
    display: none;
  }
  #contact-info .phone,
  #contact-info .email {
    padding: 7px 0 8px;
    margin-left: 10px;
  }
  #contact-info .phone {
    position: absolute;
    left: 160px;
    top: 139px;
    z-index: 999;
  }
  #contact-info .email {
    margin-left: 0;
  }
  #contact-info .email .icon {
    margin-left: 10px;
  }
  #main-nav {
    position: relative;
    z-index: 99;
  }
  #main-nav .menu {
    width: 50%;
  }
  #main-nav .menu .menu-item {
    margin-left: 0;
    width: 100%;
  }
  #main-nav .menu .menu-item:last-child a {
    border-bottom: none;
  }
  #main-nav .menu .menu-item.current a {
    padding-bottom: 10px;
  }
  #main-nav .menu .menu-item a {
    padding: 10px 0 10px 10px;
    border-bottom: 1px solid white;
  }
  #logo {
    right: 0;
    top: 10px;
    z-index: 100;
    background-color: #000;
  }
  #visual {
    height: 210px;
  }
  #visual .heading {
    top: 25px;
    right: 10px;
  }
  #visual .heading .line.line-1 {
    font-size: 20px;
  }
  #visual .heading .line.line-1:before {
    font-size: 40px;
    top: 10px;
  }
  #visual .heading .line.line-2 {
    font-size: 18px;
    line-height: 120%;
    margin-top: 10px;
  }
  #visual .heading .line.line-2:after {
    font-size: 40px;
    top: -5px;
  }
  #visual .heading .line.line-3 {
    margin-right: 0;
    margin-left: 30px;
  }
  #content {
    margin-top: 0;
  }
  #content .main,
  #content .aside {
    width: 100%;
    float: none;
  }
  #content .main .scrollpane p {
    font-size: 14px;
    margin-left: 10px;
  }
  #content .main .scrollpane h2,
  #content .main .scrollpane h3,
  #content .main .scrollpane h4,
  #content .main .scrollpane h5,
  #content .main .scrollpane h6 {
    margin-left: 10px;
  }
  #content .aside .intro {
    margin-top: 10px;
    padding: 0 10px;
  }
  #video {
    width: 100%;
    height: 206px;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    background-size: contain;
    margin-bottom: 24px;
  }
  #video .youtube {
    width: 100%;
    height: 100%;
    padding: 0;
  }
  #video .youtube iframe {
    margin: 5px 0 0 5px;
  }
  #request {
    padding: 20px 5px 0;
  }
  #request .phone {
    margin-right: 0;
  }
  #request textarea {
    height: 150px;
  }
  #carousel {
    margin-left: 5px;
  }
  #carousel .next {
    right: 10px;
  }
  #carousel .prev {
    left: 10px;
  }
  #footer p {
    line-height: 170%;
    padding: 0 10px;
  }
  .page #visual {
    -webkit-background-size: contain;
    -moz-background-size: contain;
    background-size: contain;
    height: 42px;
  }
  #gallery {
    margin: 20px 0;
  }
  #testimonials .caroufredsel_wrapper {
    width: 100% !important;
  }
  #testimonials .caroufredsel_wrapper .wrapper .quote {
    width: 310px !important;
  }
  #testimonials .caroufredsel_wrapper .wrapper .quote .text {
    margin: 40px 50px 10px;
    font-size: 18px;
  }
  #testimonials .caroufredsel_wrapper .wrapper .quote .author {
    margin-right: 50px;
    margin-left: 50px;
    line-height: 100%;
  }
  #carousel-2 .prev {
    left: 0px;
  }
  #carousel-2 .next {
    right: 0px;
  }
}
/* ==========================================================================
   Small Screen 480px and upto 767px
   ========================================================================== */
@media only screen and (max-width: 767px) and (min-width: 480px) {
  #wrapper {
    width: 440px;
  }
  #contact-info {
    font-size: 11px;
  }
  #contact-info .social {
    display: none;
  }
  #contact-info .phone,
  #contact-info .email {
    padding: 7px 0 8px;
    margin-left: 10px;
  }
  #contact-info .phone {
    margin-left: 10px;
  }
  #contact-info .email {
    display: inline-block;
    margin-left: 60px;
  }
  #contact-info .email .icon {
    margin-left: 10px;
  }
  #main-nav {
    position: relative;
    z-index: 99;
  }
  #main-nav .menu {
    width: 50%;
  }
  #main-nav .menu .menu-item {
    margin-left: 0;
    width: 100%;
  }
  #main-nav .menu .menu-item:last-child a {
    border-bottom: none;
  }
  #main-nav .menu .menu-item.current a {
    padding-bottom: 10px;
  }
  #main-nav .menu .menu-item a {
    padding: 10px 0 10px 10px;
    border-bottom: 1px solid white;
  }
  #logo {
    right: 0;
    top: 10px;
    z-index: 100;
    background-color: #000;
  }
  #visual {
    height: 210px;
  }
  #visual .heading {
    top: 45px;
    right: 15px;
  }
  #visual .heading .line.line-1 {
    font-size: 28px;
  }
  #visual .heading .line.line-1:before {
    font-size: 40px;
    top: 10px;
  }
  #visual .heading .line.line-2 {
    font-size: 15px;
    line-height: 120%;
    margin-top: 10px;
  }
  #visual .heading .line.line-2:after {
    font-size: 40px;
    top: -5px;
  }
  #visual .heading .line.line-3 {
    margin-right: 0;
    margin-left: 30px;
  }
  #content {
    margin-top: 0;
  }
  #content .main,
  #content .aside {
    width: 100%;
    float: none;
  }
  #content .main .scrollpane p {
    font-size: 14px;
    margin-left: 10px;
  }
  #content .main .scrollpane h2,
  #content .main .scrollpane h3,
  #content .main .scrollpane h4,
  #content .main .scrollpane h5,
  #content .main .scrollpane h6 {
    margin-left: 10px;
  }
  #content .aside .intro {
    margin-top: 10px;
    padding: 0 10px;
  }
  #video {
    width: 100%;
    height: 296px;
    -webkit-background-size: contain;
    -moz-background-size: contain;
    background-size: contain;
    margin-bottom: 24px;
  }
  #video .youtube {
    width: 100%;
    height: 100%;
    padding: 0;
  }
  #video .youtube iframe {
    margin: 5px 0 0 5px;
  }
  #request {
    padding: 20px 5px 0;
  }
  #request .phone {
    margin-right: 0;
  }
  #request textarea {
    height: 150px;
  }
  #carousel {
    margin-left: 5px;
  }
  #carousel .next {
    right: 10px;
  }
  #carousel .prev {
    left: 10px;
  }
  #footer p {
    line-height: 170%;
    padding: 0 10px;
  }
  .page #visual {
    -webkit-background-size: contain;
    -moz-background-size: contain;
    background-size: contain;
    height: 62px;
  }
  #gallery {
    margin: 20px 0 40px;
  }
  #testimonials .caroufredsel_wrapper {
    width: 100% !important;
  }
  #testimonials .caroufredsel_wrapper .wrapper .quote {
    width: 440px !important;
  }
  #testimonials .caroufredsel_wrapper .wrapper .quote .text {
    margin: 40px 50px 10px;
    font-size: 26px;
  }
  #testimonials .caroufredsel_wrapper .wrapper .quote .author {
    margin-right: 50px;
    margin-left: 50px;
    line-height: 100%;
  }
  #carousel .caroufredsel_wrapper {
    width: 310px !important;
    margin-left: 65px !important;
  }
  #carousel-2 .prev {
    left: 0px;
  }
  #carousel-2 .next {
    right: 0px;
  }
  #request input[type=text],
  #request input[type=email],
  #request textarea {
    width: 408px;
  }
}
