*, *:before, *:after {
box-sizing:inherit
}
html {
scroll-behavior:smooth; /*for anchor links*/
box-sizing:border-box
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
em, img,
small, strong, sub, sup,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, button,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, 
footer, header, main, menu, nav, section, summary,
audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent
}
body {
background:#fff; /* fills page */
position:relative; /* fix for absolute positioning */
font-family:'Lato', sans-serif;
font-weight:400;
font-size:16px;
line-height:1.5;
color:#1b1b32
}
main,article,aside,footer,header,menu,nav,section { 
display:block
}
ol,ul {
list-style:none
}
a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent
}
table {
empty-cells:show;
border-collapse:collapse;
border-spacing:0
}
input, select {
vertical-align:bottom
}
p {
margin:.5em 0
}
.first {
margin-top:0 !important
}
.last {
margin-bottom:0 !important
}
sub, sup {
position:relative;
font-size:80%
}
sub {
bottom:-.6em
}
sup {
top:-.6em
}
a:link {text-decoration:none}
a:visited {text-decoration:none}
a:hover {text-decoration:underline}
a:active {text-decoration:underline}

/*-- positioning --*/
#page-rap {
max-width:960px;
margin:0 auto
}
#content {
padding-left:1em; /*indent*/
}
@media (max-width:960px) {
    main {
    margin:0 1em
    }
	#content {
	padding-left:0 /*remove indent*/
	}
}

/*-- header --*/
header {
background:#22272c;
display:flex;
align-items:center;
flex-wrap:wrap
}

nav {
margin:1.2em auto
}
nav li {
margin:0 1.3em;
display:inline-flex;
align-items:center
}
nav li a {
color:#fff;
display:block;
text-align:center;
text-decoration:none
}
nav li:hover a {
text-decoration:underline
}
nav input[type=checkbox]{
display:none /*hide hamburger menu checkbox*/
}
nav input[type=checkbox]:checked ~ #menu{
display:block /*show menu when invisible checkbox is checked*/
}

nav .fa-arrow-up-right-from-square {
color:#666
}

/*label button - hide by default*/
nav label {
display:none
}
@media (max-width: 960px) {
	/*display nav-link link*/
	nav label {
	display:flex;
    flex-direction:row;
    align-items:center;
    background:#fff;
    border-bottom:1px #414141 solid;
    text-decoration:none;
    color:#333;
    padding:1em;
    cursor:pointer
	}
    nav b {
    display:flex;
    flex-direction:column
    }
    .hamburger {
    margin-left:auto
    }
}

.bar1, .bar2, .bar3 {
display:block;
width:35px;
height:5px;
background:#333;
margin:6px 0;
transition:0.4s
}
.change .bar1 {
transform:rotate(-45deg) translate(-9px, 6px)
}
.change .bar2 {
opacity:0
}
.change .bar3 {
transform: rotate(45deg) translate(-8px, -8px)
}


.search {
flex:1;
margin:0 .7em
}

.addsearch {
border:none;
background:#f7f7f7;
padding:1px .5em 0;
width:100%;
height:32px;
vertical-align:bottom;
font-size:1em;
/*font: small/1.3 "Helvetica Neue", Arial, sans-serif*/
}
.addsearch:focus {
background:#fff
}

/* AddSearch - hide screen captures - use for search widget */
#addsearch-results #addsearch-pic {
display:none !important
}
#addsearch-results.addsearch-d #addsearch-results-right {
width:0; 
margin-left:583px
}
#addsearch-results.addsearch-d { 
width:585px !important; 
margin-left:191px; /* REMOVE THIS LINE IF YOUR SEARCH INPUT IS ALIGNED TO THE LEFT */
box-shadow:none !important
}

@media (max-width: 960px) {
    header {
    background:#e9eaeb
    }
	nav {
	width:100%;
    margin:0
	}
	/*make dropdown links appear inline*/
	nav ul {
	position:static;
	display:none;
	margin-top:.5em
	}
	/*create vertical spacing*/
	nav li {
    padding:.5em 0
	}
	/*Make all menu links full width*/
	nav ul li, nav li a {
    color:#414141;
	width:95%; /*compensate new-tab arrow spacing*/
	margin:3px
	}
	nav li a:hover {
	cursor:pointer
	}
    .search {
    border:none;
    margin:1em
    }
	.addsearch {
    margin:4px 0;
    padding:1em;
    border:1px #414141 solid
	}
}




/*-- banner logo --*/
.banner {
position:relative;
display:flex;
align-items:center;
height:110px;
width:100%;
background-image:url(/img/header.jpg);
background-size:cover;
background-repeat:no-repeat
}
.banner a {
position:absolute;
left:30px;
width:170px;
height:85px
}

/*-- title headers --*/
h1 {
font-size:1.7em;
font-weight:700;
color:#00f;
letter-spacing:1px;
padding:.5em 0
}
/*page sub-header*/
h2 {
letter-spacing:1px;
font-size:1.2em;
font-weight:700;
padding:0 0 .5em
}
h3 {
margin-top:1em
}
/*pdf product links*/
h4 {
font-size:1.2em;
font-weight:700
}


/*-- intro section --*/
.cover {
display:block;
float:right;
margin:1em 0 1em 1em
}
.cover-shadow {
box-shadow:
  0 0.6px 1.7px rgba(0, 0, 0, 0.042),
  0 1.3px 4px rgba(0, 0, 0, 0.061),
  0 2.5px 7.5px rgba(0, 0, 0, 0.075),
  0 4.5px 13.4px rgba(0, 0, 0, 0.089),
  0 8.4px 25.1px rgba(0, 0, 0, 0.108),
  0 20px 60px rgba(0, 0, 0, 0.15);
margin:0 0 2em 2em /*compensate for shadow*/
}
@media (max-width:960px) {
	.cover {
	float:none;
    margin:.5em auto 1.5em
	}
    .cover-shadow {
    box-shadow:none
    }
}

.shadow {
transition:all 0.3s ease;
margin:1em;
box-shadow:
  0 0.6px 2.2px rgba(0, 0, 0, 0.02),
  0 1.3px 5.3px rgba(0, 0, 0, 0.028),
  0 2.5px 10px rgba(0, 0, 0, 0.035),
  0 4.5px 17.9px rgba(0, 0, 0, 0.042),
  0 8.4px 33.4px rgba(0, 0, 0, 0.05),
  0 20px 80px rgba(0, 0, 0, 0.07)
;
}
.shadow:hover {
box-shadow:
  0 0.6px 2.2px rgba(0, 0, 0, 0.042),
  0 1.3px 5.3px rgba(0, 0, 0, 0.061),
  0 2.5px 10px rgba(0, 0, 0, 0.075),
  0 4.5px 17.9px rgba(0, 0, 0, 0.089),
  0 8.4px 33.4px rgba(0, 0, 0, 0.108),
  0 20px 80px rgba(0, 0, 0, 0.15)
;
}


/*-- floats --*/
.left {float:left}
.right {float:right}
.clear {clear:both}

/*-- separating lines --*/
hr {
border:none;
height:1px;
border-top:1px #282828 solid;
margin:2em auto;
width:100%
}







/*chevron right*/
.chevron li {
margin:1em;
margin-left:3em
}
.chevron .fa-chevron-right {
margin-right:.5em
}
@media (max-width: 500px) {
    .chevron li {
    margin-left:1em
    }
    .chevron li:last-child {
    margin-bottom:.5em
    }
}


/*chevron right*/
.list dd {
margin:1em;
margin-left:3em
}
.list dd::before {
font-family: "Font Awesome 5 Free";
content: "\f054";
display: inline-block;
font-style: normal;
font-weight:700;
font-variant: normal;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
margin-left: -1.5em;
float:left;
font-size:.9em
}

.two-column {
margin-top:1em;
column-count:2
}
.two-column li {
break-inside:avoid
}
.two-column li:first-child {
margin-top:0
}
@media (max-width:960px) {
    .two-column {
    column-count:1
    }
}


/*-- box --*/
.box {
background:#f6f6f6;
border:1px #c4c4c4 solid;
padding:1em;
margin:1em 0
}
.box p {
margin:0
}


/*-- Fiber Optic Termini Selection Guide box links --*/
.flex-img {
display:flex;
flex-direction:row;
align-items:center;
justify-content:space-around;
}
.flex-img h4 {
margin-bottom:.5em
}
.flex-img img {
display:block;
border:1px #c4c4c4 solid
}
.flex-img img:hover {
border:1px #a3a3a3 solid
}
.flex-img div {
display:flex;
flex-direction:column;
justify-content:center;
margin-left:1em
}
.flex-img i {
font-size:.7em;
color:#777
}

@media (max-width:960px) {
    .flex-img {
    flex-wrap:wrap
    }
    .flex-img a:first-child {
    margin:0 auto;
    display:block
    }
    .flex-img img {
    margin-bottom:.5em
    }
    .flex-img div {
    margin-left:0
    }
}










.arrow {
margin-left:3.5em
}
.arrow li {
background:url(../img/arrows/arrow-right.png) no-repeat 0 50%;
padding:.3em 1.5em
}
@media (max-width: 500px) {
    .arrow {
    margin-left:1.5em
    }
    .arrow li {
    padding:.5em 1.5em
    }
}

.arrow-right {
margin-left:3em
}
.arrow-right li {
background:url(../img/arrows/arrow-right.png) no-repeat 0 50%;
padding:.1em 1.5em
}







/*new*/
.catalog-download {
display:flex;
flex-direction:row;
align-items:center;
background:#f6f6f6;
border:1px #c4c4c4 solid;
padding:1em;
margin:1em 0
}

.catalog-download div:first-child {
display:block;
margin-right:1em
}
.catalog-download img {
display:block
}

.catalog-download div {
display:flex;
flex-direction:column;
justify-content:center
}
.catalog-download .list {
margin-top:0;
margin-bottom:0
}
.catalog-download .list li {
margin-top:.5em;
margin-bottom:.5em
}
.catalog-download .list li:last-child {
margin-bottom:0
}
.catalog-download i {
font-size:.7em;
color:#777
}
@media (max-width: 560px) {
    .catalog-download {
    flex-direction:column
    }
    .catalog-download div:first-child {
    display:block;
    margin-right:0;
    margin-bottom:.8em
    }
}










/*-- product tables --*/
#content table td {
padding:1em;
vertical-align:middle
}
@media (max-width:500px) {
    #content table td {
    padding:.5em
    }
}

.border {
width:100%;
clear:both;
border-collapse:separate;
border-spacing:0 .5em;
empty-cells:hide
}
.border td {
border:1px #eee solid
}
.border td:first-child {
border-right:none;
text-align:center /*horizontal center product imgs. keeps links around img.*/
}
.border p {
margin-bottom:0
}

#content td ul {
list-style-type:square;
padding-left:2.5em
}
.border li {
margin-top:.5em
}

@media (max-width:500px) {
    #content td ul {
    padding-left:1em
    }
    .shadow {
    margin:0
    }
}
@media (max-width:960px) {   
    .scrollit {
    overflow-x:scroll
    }
}



.breadcrumb {
clear:both;
text-align:right;
margin:.5em 0 0
}

@media (max-width: 500px) {
    .responsive {
    width:100%;
    height:auto    
    }
}


/*-- footer --*/
footer {
padding:1em;
clear:both;
background:#22272c;
color:#fff;
font-size:.9em
}
footer a {
color:#fff
}
footer a:hover {
text-decoration:underline
}

address {
margin-bottom:1em
}
address span {
display:block
}

.footer-box-wrap {
display:flex;
justify-content:space-between;
flex-wrap:wrap
}

.footer-box {
padding:1em
}

footer li {
margin:.5em 0
}

footer li span {
margin-right:1em
}
footer h3 {
margin:0 0 1em;
font-size:1.1em
}


@media (max-width:960px) {
    .footer-box {
    border-bottom:1px #fff solid
    }
}











/*
https://github.com/lipis/flag-icon-css
https://www.iso.org/obp/ui/#search
*/

.flag-icon-background {
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
}
.flag-icon {
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
  position: relative;
  display: inline-block;
  width: 1.33333333em;
  line-height: 1em;
}
.flag-icon:before {
  content: "\00a0";
}
.flag-icon.flag-icon-squared {
  width: 1em;
}
.flag-icon-jp {
  background-image: url(../img/flag/4x3/jp.svg);
}
.flag-icon-gb {
  background-image: url(../img/flag/4x3/gb.svg);
}
.flag-icon-ie {
  background-image: url(../img/flag/4x3/ie.svg);
}
.flag-icon-es {
  background-image: url(../img/flag/4x3/es.svg);
}
.flag-icon-de {
  background-image: url(../img/flag/4x3/de.svg);
}
.flag-icon-us {
  background-image: url(../img/flag/4x3/us.svg);
}
.flag-icon-it {
  background-image: url(../img/flag/4x3/it.svg);
}
.flag-icon-kr {
  background-image: url(../img/flag/4x3/kr.svg);
}
.flag-icon-se {
  background-image: url(../img/flag/4x3/se.svg);
}
.flag-icon-fr {
  background-image: url(../img/flag/4x3/fr.svg);
}
