@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,600);
/* Resets */
.nkn-resp-mobile-page-title { display: none; }

/* Service and Support Globals */
.service-and-support { margin-top: 30px; margin-bottom: 60px; }

.service-and-support .row { border-bottom: none; margin-left: 0; margin-right: 0; }

.service-and-support textarea { min-height: 100px; resize: vertical; }

.service-and-support .form-control:focus { border-color: #d8d8d8; }

.service-and-support .select { cursor: pointer; }

.service-and-support .spacer-xs { margin-bottom: 5px; }

.service-and-support .well { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }

.service-and-support .heading { border-bottom: 1px solid #d8d8d8; padding-bottom: 5px; }

.service-and-support .checkbox, .service-and-support .radio { margin-bottom: 0px; margin-top: 0px; }

.service-and-support .checkbox { line-height: 1.8; }

.service-and-support .radio { line-height: 2; }

.service-and-support .upload-wrap { position: relative; z-index: 1; }

.service-and-support .upload-wrap button { width: 3em; height: 100%; position: absolute; z-index: 2; top: 0; right: 0; background: none; border: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }

.service-and-support .upload-wrap button span { padding-top: 2px; }

.service-and-support .upload-wrap .form-control { padding-right: 3em; }

.service-and-support .upload-wrap .form-control + label { cursor: pointer; text-align: center; font-size: 13px; line-height: 3; width: 3em; height: 100%; position: absolute; z-index: 2; top: 0; right: 0; }

.service-and-support .custom-file-upload-hidden { position: absolute; left: -9999px; }

.service-and-support .has-error .checkbox-inline, .service-and-support .has-error .radio-inline { color: #404040; }

.service-and-support .fix-margin { margin-left: -15px; margin-right: -15px; }

.service-and-support #hero-section { margin-bottom: 30px; }

.service-and-support .row-hero { background-size: cover !important; height: 300px; min-height: 130px; padding: 30px 0; }

.service-and-support .row-hero h1 { color: #fff; font-size: 1.16667em; font-weight: bold; line-height: 1.2em; text-transform: uppercase; margin-top: 0; letter-spacing: .05em; }

.service-and-support .row-hero p { color: #fff; letter-spacing: .05em; }

.service-and-support .intro-row { margin-bottom: 15px; }

.service-and-support .clear-bottom-radius { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }

.service-and-support .clear-top-radius { border-top: none; border-top-left-radius: 0; border-top-right-radius: 0; }

/* Contact */
.nikon-block .nkn-footer-full-width { margin-top: 0 !important; }

#contact .list-hidden li a { text-decoration: none; }

#contact .list-hidden li a:hover, #contact .list-hidden li a:focus { text-decoration: underline; }

#contact #hero { background: url("../img/contact/hero.jpg") no-repeat right center; background-size: cover !important; color: #fff; min-height: 130px; padding: 30px 0; margin-bottom: 4em; }

#contact #contact-links { margin: 5em 0 0 0; table-layout: fixed; display: table; width: 100%; list-style-type: none; padding: 0; }

#contact #contact-links.top { margin: 0 0 3em 0; table-layout: fixed; display: table; width: 100%; list-style-type: none; padding: 0 0 3em 0; border-bottom: 1px solid #d8d8d8;}

#contact #contact-links li { font-size: 1.333em; line-height: 1.2; width: 33.33%; display: table-cell; text-align: center; margin: 0 0 0 0; padding: 0; -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear false; -o-transition: all 0.2s linear false; transition: all 0.2s linear; }

#contact #contact-links li a { display: inline-block; text-decoration: none; color: #404040; }

#contact #contact-links li a span:first-child { display: block; font-size: 2.125em; margin-bottom: .25em; -webkit-transition: all 0.2s ease-in; -moz-transition: all 0.2s ease-in false; -o-transition: all 0.2s ease-in false; transition: all 0.2s ease-in; }

#contact #contact-links li a span:last-child { font-size: .75em; line-height: 1.5; display: block; padding: .75em 1em 0 1em; color: #666; max-width: 20em; }

#contact #contact-links li a:hover span:first-child, #contact #contact-links li a:active span:first-child { -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear false; -o-transition: all 0.2s linear false; transition: all 0.2s linear; -webkit-transform: translateY(-5px); -moz-transform: translateY(-5px); -ms-transform: translateY(-5px); -o-transform: translateY(-5px); transform: translateY(-5px); }

#contact #callouts-primary { border-bottom: 1px solid #d8d8d8; }

#contact #callouts-primary h2 { height: 110px; margin-bottom: .75em; }

#contact #callouts-primary .btn-primary { width: 100%; }

#contact #callouts-primary .nikon-school { background: url("../img/contact/nikon-school.jpg") center center no-repeat; background-size: contain; }

#contact #callouts-primary .nikon-repair { background: url("../img/contact/nikon-repair.jpg") center center no-repeat; background-size: contain; }

#contact #callouts-primary .nikon-professional-services { background: url("../img/contact/nps.jpg") center center no-repeat; background-size: contain; }

#contact #social { border-bottom: 1px solid #d8d8d8; padding-bottom: 5em; padding-top: 3em; margin-bottom: 3em; }

#contact #social h2 { margin-bottom: 2em; font-size: 2em; line-height: 1.2; }

#contact #social ul { table-layout: fixed; display: table; width: 100%; list-style-type: none; padding: 0; margin: 0; }

#contact #social ul li { margin: 0; padding: 0; font-size: 1.167em; line-height: 1.2; width: 25%; display: table-cell; text-align: center; width: 16.6%; }

#contact #social ul li a { text-transform: uppercase; font-size: .75em; text-decoration: none; }

#contact #social ul li a span { font-size: 4em; clear: both; display: block; width: 100%; -webkit-transition: all 0.2s ease-in; -moz-transition: all 0.2s ease-in false; -o-transition: all 0.2s ease-in false; transition: all 0.2s ease-in; }

#contact #social ul li a:hover span, #contact #social ul li a:focus span, #contact #social ul li a:active span { text-decoration: none !important; -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear false; -o-transition: all 0.2s linear false; transition: all 0.2s linear; -webkit-transform: translateY(-5px); -moz-transform: translateY(-5px); -ms-transform: translateY(-5px); -o-transform: translateY(-5px); transform: translateY(-5px); }

#contact #social .social-link { display: block; text-decoration: none; }

#contact #social .social-link:hover span, #contact #social .social-link:focus span { text-decoration: underline; }

#contact #social .social-link .text-xl { font-size: 4em; margin-bottom: -15px; text-decoration: none; }

#contact #social .social-link .social-facebook { color: #3b5998; }

#contact #social .social-link .social-twitter { color: #55acee; }

#contact #social .social-link .social-vimeo { color: #1ab7ea; }

#contact #social .social-link .social-youtube { color: #cd201f; }

#contact #social .social-link .social-google { color: #d34836; }

#contact #social .social-link .social-instagram { color: #125688; }

#contact #callouts-secondary h3 { font-size: 1.5em; line-height: 1.2; }

#contact #nikon-headquarters #google-map { background: url("../img/contact/map.jpg") no-repeat center center; background-size: cover; height: 100%; width: 100%; border: 1px solid #d8d8d8; }

#contact #nikon-headquarters .headquarters-container { text-align: left; }

#contact #nikon-headquarters .headquarters-container .headquarters-info { width: 33.333%; float: left; padding: 3em 2em 1em 1em; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

#contact #nikon-headquarters .headquarters-container .headquarters-map { height: 260px; width: 66.666%; float: left; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

#serviceandsupport-main-container #hero { background: url('../img/contact/banner_06.jpg') no-repeat right center; background-size: cover !important; color: #000000; min-height: 130px; padding: 30px 0; }
#serviceandsupport-main-container #contact { border-bottom: 1px solid #d8d8d8; padding-bottom: 30px; }
#serviceandsupport-main-container #contact a { display: inline-block; }
#serviceandsupport-main-container #contact a:hover, #serviceandsupport-main-container #contact a:focus { text-decoration: underline !important; }
#serviceandsupport-main-container #callouts-primary { border-bottom: 1px solid #d8d8d8; }
#serviceandsupport-main-container #callouts-primary .category-image { height: 110px; }
#serviceandsupport-main-container #callouts-primary .nikon-school .category-image { background: url('../img/contact/nikon-school.jpg') center center no-repeat; background-size: contain; }
#serviceandsupport-main-container #callouts-primary .nikon-repair .category-image { background: url('../img/contact/nikon-repair.jpg') center center no-repeat; background-size: contain; }
#serviceandsupport-main-container #callouts-primary .nikon-professional-services .category-image { background: url('../img/contact/nps.jpg') center center no-repeat; background-size: contain; }
#serviceandsupport-main-container #contact-social { border-bottom: 1px solid #d8d8d8; }
#serviceandsupport-main-container #contact-social .social-link { display: block; }
#serviceandsupport-main-container #contact-social .social-link:hover span, #serviceandsupport-main-container #contact-social .social-link:focus span { text-decoration: underline; }
#serviceandsupport-main-container #contact-social .social-link .text-xl { font-size: 4em; margin-bottom: -15px; text-decoration: none; }
#serviceandsupport-main-container #contact-social .social-link .social-facebook { color: #233bb5; }
#serviceandsupport-main-container #contact-social .social-link .social-twitter { color: #00c0d7; }
#serviceandsupport-main-container #contact-social .social-link .social-vimeo { color: #0079d7; }
#serviceandsupport-main-container #contact-social .social-link .social-youtube { color: #d70000; }
#serviceandsupport-main-container #contact-social .social-link .social-google { color: #d70000; }
#serviceandsupport-main-container #contact-social .social-link .social-instagram { color: #000000; }
#serviceandsupport-main-container #nikon-headquarters .headquarters-container .headquarters-map #google-map { background: url('../img/contact/headquarters-map.jpg') no-repeat center center; background-size: cover; height: 100%; width: 100%; }

@media screen and (max-width: 767px) {
  #contact #hero { padding: 35px 0 25px 0; }
  #contact .headline { font-size: 1.333em; line-height: 1.2; line-height: .5; letter-spacing: .025em; }
  #contact #callouts-primary .btn-primary { width: auto; }
  #contact #contact-links li { -webkit-transition: all 0.2s linear; -moz-transition: all 0.2s linear false; -o-transition: all 0.2s linear false; transition: all 0.2s linear; }
  #contact #social ul li a span { font-size: 3em; }
  #contact #contact-links { margin-top: 3em; }
  #contact #contact-links li { width: 100% !important; display: block !important; margin: 0; }
  #contact #contact-links li a { position: relative; z-index: 2; display: block; padding: 1em 0 1em 6em; text-align: left; }
  #contact #contact-links li a span:first-child { position: absolute; z-index: 3; top: .875em; left: 1em; }
  #contact #contact-links li a span:last-child { padding-left: 0; } }

@media screen and (min-width: 600px) and (max-width: 767px) {
  #contact #nikon-headquarters .headquarters-container .headquarters-info { width: 50%; float: left; padding: 3em 2em 1em 1em; }
  #contact #nikon-headquarters .headquarters-container .headquarters-map { height: 260px; width: 50%; float: left; }
  #contact #contact-links li a span:last-child { padding-left: 0; padding-right: 0; } }

@media screen and (max-width: 599px) {
  #contact #nikon-headquarters .headquarters-container > div { position: relative; z-index: 1; }
  #contact #nikon-headquarters .headquarters-container .headquarters-info { width: 100%; display: block; padding: 260px 15px 15px 15px; }
  #contact #nikon-headquarters .headquarters-container .headquarters-map { height: 260px; width: 100%; position: absolute; z-index: 2; top: 0; left: 0; padding: 15px; }
  #contact #social { padding-bottom: 2em; }
  #contact #social ul { display: block; table-layout: inherit; }
  #contact #social ul li { display: block; width: 33.33%; float: left; }
  #contact #social ul li:nth-child(1n), #contact #social ul li:nth-child(2n), #contact #social ul li:nth-child(3n) { margin-bottom: 2em; } }

@media (min-width: 768px) {
  #contact { margin-top: 30px; }
  #contact #hero { height: 300px; }
  #contact #hero .sub-head { font-size: 2.333em; } }

@media (max-width: 767px) {
	#serviceandsupport-main-container #callouts-primary .category-image-container { padding-right: 0; }
	#serviceandsupport-main-container #contact-social { padding-bottom: 30px; padding-top: 30px; }
	#serviceandsupport-main-container #callouts-secondary { border-bottom: 1px solid #d8d8d8; }
	#serviceandsupport-main-container #nikon-headquarters .headquarters-container { background: none; border: none; box-shadow: none; text-align: center; }
	#serviceandsupport-main-container #nikon-headquarters .headquarters-container .headquarters-info { margin-bottom: 15px; }
	#serviceandsupport-main-container #nikon-headquarters .headquarters-container .headquarters-map { height: 300px; }
}
@media (min-width: 768px) {
	#serviceandsupport-main-container { margin-top: 30px; }
	#serviceandsupport-main-container #hero { height: 300px; }
	#serviceandsupport-main-container #hero .sub-head { font-size: 2.333em; }
	#serviceandsupport-main-container #contact-social { padding-bottom: 60px; padding-top: 60px; }
	#serviceandsupport-main-container #nikon-headquarters .headquarters-container { text-align: left; }
	#serviceandsupport-main-container #nikon-headquarters .headquarters-container .headquarters-map { height: 260px; }
}