body { 
  background-color: #fff; 
  font-family: 'Roboto', "Helvetica Neue", Helvetica, Arial, sans-serif;
  margin:0; 
  padding:0; 
}
.clear { clear: both; }

/* navigation */

nav { 
  background-color: #efefef; 
  margin:0; 
  padding:15px; 
  z-index: 1000;
}

.nav-inner { 
  max-width: 1170px; 
  margin: 0 auto; 
  display: flex;
  justify-content: space-between;
}

.ntvLogo {
	/* background-color: #dfdfdf; */
	height: 30px;
	width: 180px;
}
.ntvLogo img {	
	opacity: .15;
	height: 100%;
	width: auto;
	object-fit: contain;
}

ul.topnav {
  list-style-type: none;
  margin: 0;
  padding: 0;
	overflow: hidden;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 20px;
}

ul.topnav li {
	display: inline-block;
	background-color: #dfdfdf;
	text-align: center;
	width: 100px;
	height: 30px;
	line-height: 30px;
}

/* content */
main {
	max-width:1170px;
	margin:0 auto; 
	padding: 0 15px;
}

.two-col-grid {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 20px;
}

.left-col { width: calc(100% - 340px); }

.rightrail { 
	display: flex;
    flex-direction: column;
	gap: 20px;
	width: 300px;
	min-height: 250px;
	padding: 10px;
	background-color:#f1f6fe; 
}

.rightrail > .RRwidget {    
	margin-bottom: 20px;
	background-color: #FDFFFF;
}

.rightrail > .RRwidget:last-of-type { margin-bottom: 0; }

.article { margin-bottom: 25px; }

.rightrail > div:last-of-type { 
	position: sticky;
	top: 10px;
 }

/* placeholder companion assets */
.topbannerad, footer {
	background-color: #f1f6fe; 
	width: 100%; 
	min-height: 60px; 
	margin: 20px auto;
	padding: 0; 
	border: 1px solid #f1f6fe;
}
.rightrail > .placeholder {    
	width: 100%;    
	height: 250px;    
	visibility: hidden;
}
/* article */
.article-title {
	font-size: 30px;
	font-weight: 700;
	line-height: 35px;
	color: #000;
	text-decoration: none; 
	margin: 0 0 15px;
}
.ntv-body {
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
	color: #000;
	margin-top: 20px; 
}
.ntv-body a{
	color: #1f75fe;
	text-decoration: none;
}
.byline {
	color: #000; 
	font-size: 16px;
}
.byline a { 
	color:#1f75fe;
	text-decoration: none;
}
.byline a:hover { text-decoration: underline; }

/* DESKTOP only Media Queries */
@media all and (min-width: 901px) {

	.wrapper { display: flex; column-gap: 20px; }

	.topbannerad, footer { 
		min-height: 60px; 
		padding: 15px 0;
	}

}

/* TABLET Media Queries*/
@media all and (max-width: 900px) and (min-width: 481px) {
	.topbannerad, footer { 
		min-height: 90px;
	}
	ul.topnav li {
			width: 60px;
			height: 25px;
	}
	
	.rightrail {    
		margin: 0 auto;
	}

	.left-col { width: 100%; }

}

/* MOBILE Media Queries*/
@media all and (max-width: 767px) {

	nav { 
		position: sticky; 
		top: 0; 
	}

	.ntvLogo {
		height: 35px;
		width: 140px;
	}

	ul.topnav li {
		width: 70px;
		height: 24px;
		line-height: 24px;
	}

	ul.topnav li:last-of-type { display: none; }

	.two-col-grid {
		grid-template-columns: 1fr;
		grid-gap: 20px;
	}
	
	.topbannerad, footer { 
		min-height: 50px;
	}

	.article-title {
		font-size: 24px;
		line-height: 28px;
	}
	
	img.ntv_icon {
		max-width: 31px !important; 
		max-height: 31px !important;
	}

}

@media all and (max-width: 480px) {

	main { padding: 0 10px; }
	
	nav { padding: 10px;}

  .ntvLogo {
		height: 25px;
		width: 100px;
	}
    
  ul.topnav { gap: 10px; }

	ul.topnav li {
		width: 40px;
		height: 15px;
	}

	.two-col-grid {
		grid-gap: 10px;
	}
	
	.left-col {
		margin-bottom: 20px;
		width: 100%;
	}
	.rightrail {
    	margin: 0 auto;
			max-width: 100%;
  }
    
	.topbannerad, footer { margin:  10px 0; }

}

@media all and (max-width: 320px) {

    ul.topnav li { width: 35px; }

    ul.topnav li:first-of-type { margin-left: 10px; }

}