*, *: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 0
}
nav li {
margin:0 1em;
display:inline-block
}
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*/
}

/*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
}


@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:100%;
	margin:3px
	}
	nav li a:hover {
	cursor:pointer
	}
    .search {
    border:none;
    margin:1em
    }
}


/* addsearch widget added May 2024 */

.addsWg-searchfield-container-class input {
height:36px !important;
font-size:1em;
margin-left:.5em;
}
.addsWg-searchfield-container-class .addsWg-searchfield {
max-width:430px !important
}
#searchfield-container-asw_01 input[type="search"].icon {
background-image:url("../img/magnifying-glass.svg") !important;
background-size:22px 22px
}
@media (max-width: 960px) {
    .addsWg-searchfield-container-class input {
    margin-left:0
    }
    .addsWg-searchfield-container-class .addsWg-searchfield {
    max-width:100% !important
    }
    .addsWg-searchfield-container-class .addsWg-searchfield input[type="search"] {
    min-width:100% !important
    }
}



/*-- banner logo --*/
.banner {
display:flex;
align-items:center;
width:100%;
height:110px;
background-image:url(../img/banners/top.jpg);
background-size:100% 100%
}
.logo {
display:block; /*removes space under img*/
margin:0 1.3em
}
@media (max-width:960px) {
	.banner {
    border-top:1px #414141 solid;
	justify-content:center 	/*centre logo*/
	}
	.logo-text {
	display:none
	}
}

/*-- 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
}

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

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

/*-- 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
    }
}

.series .fa-circle-small {
margin:0 1em
}

.pals-approved-icon {
float:right;
margin:.5em
}
@media (max-width:960px) {
	.pals-approved-icon {
    float:none;
    display:block;
    margin:1em auto
	}
}

/* for catalog cover links - phase out */
.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)
;
}

.space {
margin:1em 0
}

.red {
color:#ff0000
}

@media (max-width: 500px) {
    .shadow {
    margin:0;
    box-shadow:none
    }
    .shadow:hover {
    box-shadow:none
    }
    .responsive {
    width:100%;
    height:auto    
    }
}


.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
}

/*chevron right - on the way out, replaced by fontawesome6, chevron fa-ul*/
.list {
margin:1em 0
}
.list li {
margin:1em;
margin-left:3em
}
.list li::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
}

.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
}
.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
    }
}




/*-- download entire_catalog link --*/
.entire-catalog {
margin:1.5em auto;
background:#f6f6f6;
border:1px #c4c4c4 solid;
border-radius:3px;
padding:1em;
text-align:center;
font-size:1.1em;
font-weight:700;
letter-spacing:1px;
display:table
}
.entire-catalog h3 {
margin:0;
margin-bottom:.5em
}
.entire-catalog a {
text-decoration:none
}
.entire-catalog a:hover {
text-decoration:underline
}
.entire-catalog span {
font-size:.8em;
font-weight:normal
}


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


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



/*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 .chevron li:first-child{
margin-top:.5em
}


/*list is now old*/
.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
    }
}




















.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)
;
}














.size {
font-size:.9em;
color:#777
}
.offsite {
background:url(../img/offsite.png) no-repeat 100% 50%;
padding-right:1.5em
}



/*-- 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
    }
}

@media (max-width:960px) {   
    .scrollit {
    overflow-x:scroll
    }
}

.subtitle {
margin-top:2em;
padding:1em;
background:#dde0e4;
border:1px #333b42 solid
}
.subtitle p {
margin:0 1em
}

.vtable span {
font-size:.8em;
color:#666
}
@media (max-width:960px) {
    .vtable td:nth-of-type(1):before { content: 'Video'; }
    .vtable td:nth-of-type(2):before { content: 'YouTube'; }
    .vtable td:nth-of-type(3):before { content: 'Download'; }
}

/*-- zebra data tables --*/
.zebra {
border-collapse:separate;
width:100%;
border-bottom:1px #ccc solid
}
.zebra caption {
background:#ffffe0;
margin-top:1em;
font-size:1.1em;
padding:1em;
font-weight:700;
text-align:center;
border-top:1px #ccc solid;
border-left:1px #ccc solid;
border-right:1px #ccc solid
}
.zebra th {
background:#f4f4f4;
font-weight:700;
padding:.5em 1em;
vertical-align:middle;
text-align:left;
border:1px #ccc solid
}
.zebra th:nth-child(2) {
border-left:none
}
.zebra th:nth-child(3) {
border-left:none
}
.zebra th:nth-child(4) {
border-left:none
}
.zebra th:nth-child(5) {
border-left:none
}
.zebra th:nth-child(6) {
border-left:none
}
.zebra th:nth-child(7) {
border-left:none
}
.zebra th:nth-child(8) {
border-left:none
}
.zebra tr:nth-child(even) {
background:#f7f7f7
}
.zebra td {
border-right:1px #ccc solid
}
.zebra td:first-child {
border-left:1px #ccc solid
}
@media (max-width:960px) {
    /* Force table to not be like tables anymore */
    .zebra, .zebra thead, .zebra tbody, .zebra th, .zebra td, .zebra tr { 
    display: block
    }
    .zebra {
    border-bottom:none;
    width:auto
    }
    /* Hide table headers (but not display: none;, for accessibility) */
    .zebra thead tr { 
    position:absolute;
    top:-9999px;
    left:-9999px;
    }
    .zebra tr {
    margin:1em 0;
    border:1px solid #ccc
    }
    .zebra caption {
    background:#ffffe0;
    border-bottom:1px #ccc solid;
    display:block /*makes caption 100%*/
    }
	.zebra th {
	border:0
	}
    #content .zebra td { 
    /* Behave  like a 'row' */
    border:none;
    border-bottom:1px solid #eee; 
    position:relative;
    padding:.5em .5em .5em 50%;
    empty-cells:show
    }
    #content .zebra td:first-child {
    border-left:none
    }
    #content .zebra td:last-child {
    border-bottom:none
    }
    .zebra td:before { 
    /* Now like a table header */
    position: absolute;
    /* Top/left values mimic padding */
    top:6px;
    left:6px;
    width:45%;
    padding-right:10px; 
    white-space:nowrap
    }
    .zebra td:empty {
    height:1.5em /*keep height of empty cells*/
    }
}

/* anchor links */
.return {
position:fixed;
bottom:0;
right:.5em;
z-index:100;
display:none;
text-decoration:none;
color:#ccc;
font-size:3em
}
.return:hover {
color:#000
}

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




.flexbox {
display:flex;
background:#f7f7f7;
border-radius:.2em;
align-items:center;
border:1px #ccc solid;
padding:1em;
margin:1.5em 0
}
.flexbox img {
display:block;
border:1px #f7f7f7 solid;
margin-right:1em
}
.flexbox img:hover {
border:1px #000 solid
}
.flexbox div {
flex-direction:column
}
.flexbox i {
font-size:.7em;
color:#666;
font-weight:600
}
.flexbox p {
margin-bottom:0
}
@media (max-width:960px) {
    .flexbox {
    flex-direction:column;
    margin:1.5em 0
    }
    .flexbox img {
    margin:0 0 1em !important
    }
}

.fa-external-link-alt {
font-size:.7em;
color:#777
}

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

footer .contact-footer-wrap {
display:flex;
justify-content:space-between;
flex-wrap:wrap;
margin-bottom:1em
}
footer address {
text-align:center;
font-style:normal
}
footer .country-rap {
display:flex;
flex-wrap:wrap;
justify-content:space-between
}

@media (max-width:960px) {
    footer .contact-footer-wrap {
    flex-wrap:nowrap;
    flex-direction:column;
    align-items: center;
    border-bottom:1px #fff solid;
    padding-bottom:.7em;
    margin-bottom:.5em
    }
    footer address {
    margin-bottom:.5em
    }
    footer .contact-footer-wrap span {
    margin:.5em 0
    }
    footer .country-rap {
    justify-content:space-around
    }
    footer .country-rap a {
    margin:.5em 1em
    }
}
