  .stories
{
    --columnNumber: 3;
    display: grid;
    grid-template-columns: repeat(var(--columnNumber), 1fr);
    grid-auto-flow: row dense;
    gap: 15px;
}

@media (max-width:767.98px) {
    .stories
    {
      --columnNumber: 2;
    }
}

.story
{
    position:relative;
}

.story.video.videoBlock-thumbnail img
{
    aspect-ratio:auto;
}

.story.regular::after, .story.feature::after, .story.video::after
{
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	content: "";
	background-image: linear-gradient(to top, #0e121e 10%, #30384f 25%, transparent 100%);
    opacity: 0.5;
    border-radius:0;
    box-shadow:none;
}
.story.regular:hover::after, .story.feature:hover::after, .story.video:hover::after
{
    opacity: 0.5;
    transform:none;
}

.story.feature
{
    grid-column: span 2;
    grid-row: span 2;
}
.story.feature .story-box .story-preview h3 {
	font-size: 2rem;
}

.story.outsideLink
{
    cursor:pointer;
}

.story.quoteHorizontal
{
    grid-column: span 2;
}

.story.quoteVertical
{
    grid-row: span 2;
}

.story.quoteHorizontal, .story.quoteVertical
{
    background-color: var(--gfColors-navyAccent);
    display: grid;
    grid-template-rows: 2rem auto 1rem 1fr;
    padding: 3rem 2rem 2rem;
    font-size: 1.2rem;
    align-content: space-around;
    position: relative;
}
.story-quote-text {
    grid-row: 2;
    margin-bottom:.5rem;
}
.story-quote-text p {
    margin-bottom: 0;
    line-height: 1.5;
    color: var(--gfColors-slate15);
    margin-top: 2.5rem;
}
.story-quote-text::before {
    content: "“";
    color: var(--gfColors-gold);
    font-size: 10rem;
    position: absolute;
    top: -1.5rem;
    left: 1.5rem;
    display: block;
    font-family: var(--gfVars-headerFont);
}
.story.quoteHorizontal p.author, .story.quoteVertical p.author {
    font-style: italic;
    color: var(--gfColors-slate15);
    margin-top: 0;
    font-size: .9rem;
    margin-bottom: 0;
    grid-row: 4;
}

@media (min-width:1200px) {
    .story-quote-text::before {
        font-size: 11rem;
    }
}

@media (min-width:768px) and (max-width:991.98px) {
    .story.quoteHorizontal p, .story.quoteVertical p {
        font-size:1rem;
        margin-bottom: 0;
        margin-top: 0.5rem;
    }
    .story-quote-text {
        margin-bottom: 0;
    }
    .story-quote-text::before {
        font-size: 8rem;
    }
    .story.quoteHorizontal .story-quote-text::before {
        top: -2.25rem;
    }
    .story.quoteHorizontal p.author, .story.quoteVertical p.author {
	    margin-right: 0;
	}
	.story.quoteHorizontal {
	    padding: 1rem 2rem;
	}
}
@media (max-width:767.98px) {
    .story.quoteHorizontal, .story.quoteVertical {
        padding: 1.5rem 1rem;
    }
    .story.quoteHorizontal p, .story.quoteVertical p {
    	font-size: .9rem;
    	line-height: 1.4;
    	margin-bottom: 0.5rem;
    }
    .story-quote-text::before {
        font-size: 7rem;
        left: 1rem;
    }
    .story.quoteHorizontal p.author, .story.quoteVertical p.author {
    	font-size: .8rem;
    	margin-right: 0;
    }

}

@media (min-width:768px) {
    .story-preview span {
        display:block;
    }
}


.stories .modal-header {
    margin-top: 2rem;
    padding-left:2rem;
}
.stories .modal-header .close {
    padding: 0 0.5rem;
    margin: -4rem -1rem -1rem auto;
    background: none;
    border: none;
    font-size: 3.5rem;
    color: var(--gfColors-slate45);
}
.stories .modal-body {
    padding:1rem 2rem;
}
.stories .modal-body > * {
    margin-top:0;
}
.stories .modal-title {
    position:relative;
}
.stories .modal-title::after {
    content:"";
    background-color:var(--gfColors-gold);
    height:2px;
    width:3ch;
    position:absolute;
    bottom:-1.25rem;
    left:0;
}
a.read-more {
    color:#7ab2ff;
    font-size:.9rem;
    font-style:italic;
    line-height: 1.3;
}
a.read-more:hover {
    color:#4292ff;
}

.story-box {
	 position: relative;
	 width: fit-content;
	 height: auto;
	 align-items: center;
	 justify-self: center;
	 display: block;
	 overflow: hidden;
}

.story-thumb {
	 justify-content: center;
	 align-items: center;
}
.story-thumb img {
	 width:100%;
	 height:100%;
	 transition: all .5s;
}

.story-box .story-preview {
    margin: 0;
    padding: 1rem 1rem 0;
    color: #fff;
    position: absolute;
    bottom: 0;
    transition:ease all .5s;
    z-index: 20;
    background: linear-gradient(to top, rgba(31,42,66,.6) 0%, transparent 100%);
    width:100%;
}
.story-box .story-preview h3 {
    color: white;
    font-size: 1.3rem;
    line-height: 1.2;
}

@media (min-width:992px) {
    .story-box .story-preview h3 {
        font-size: 1.5rem;
    }
}

.story-box .story-preview p {
    font-size:.9rem;
    line-height:1.3;
}

.story.regular .story-preview p, .story.video .story-preview p
{
    opacity: 0;
    height:0;
    margin:0;
    overflow:hidden;
    padding-bottom:0.1em;
    transition:ease-out all 0.5s;
    interpolate-size: allow-keywords;
}
.story.regular:hover .story-preview p, .story.video:hover .story-preview p
{
    opacity: 1;
    height:auto;
    margin:revert;
}

.story-box .story-preview.story-preview-long p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
}

.story.tiled
{
    background-color: var(--gfColors-navy);
    background-image:url('/__template/t1/images/navy-on-navy-tiles.jpg');
    width:100%;
    height:100%;
    align-content: center;
    text-align:center;
    display: grid;
    padding: 1rem;
}

.story-tiled-number
{
    font-size:4rem;
    font-family: var(--gfVars-headerFont);
    color:var(--gfColors-gold);
}

@media (max-width:991.98px) {
    .story-tiled-number {
        font-size:3rem;
    }
    .story.quoteVertical p, .story.quoteVertical p.author {
        margin-top: 0;
        line-height: 1.35;
    }
    .story.tiled {
        grid-column: auto /span 2;
    }
}


.story-tiled-text
{
    color:white;
}
.story-tiled-text p
{
    line-height:1.4;
}
.story-box.tiled .fun-facts {
    display:none;
}
.story-box.tiled:hover .fun-facts {
    width: 100%;
    height: 100%;
    background-color: var(--gfColors-navyAccent);
    margin: 0;
    padding: 1rem;
    align-items: center;
    align-self: center;
    text-align: center;
    display: grid;
    color: #fff;
    z-index: 20;
    position: absolute;
    animation: scaleForward .5s ease 0s 1 normal forwards;
}


@media (min-width:992px) {
    .story-box.feature-story .story-preview h3 {
        font-size: 2rem;
    }
}

@media(max-width:767.98px){
    .story-box .story-preview h3 {
        font-size: 1.3rem;
        line-height: 1.2;
    }
}

@media(max-width:575.98px){
    .story-tiled-number
    {
        font-size:3.5rem;
    }
}




@keyframes scaleForward {
  0% {
    transform: scale(0);
    opacity:0;
  }

  100% {
    transform: scale(1);
    opacity:1;
  }
}


#storyPageTitle h1 span {
    font-weight:600;
}

@media (min-width:768px) and (max-width:991.98px) {
    #storyPageTitle h1 {
        font-size:3rem;
    }
}

@media(max-width:767.98px) {
    #storyPageTitle h1 {
        font-size: 2.7rem;
        line-height: .9;
    }
    #storyPageTitle h1 span {
        display:block;
    }
    .story-preview span {
        display: none;
    }
}
    
@media(max-width:575.98px) {
    #storyPageTitle h1 {
        font-size: 2.2rem;
    }
}
.modal-body h2 {
        font-size: 2.3rem;
    }
.modal-body h3 {
        font-size: 1.6rem;
    }
@media(min-width:768px) {
    .modal-body h3 {
        font-size: 1.8rem;
    }
}


/*   ---- Copied from Journal style ----   */

.circle-image-box {
    display: grid;
    grid-template-columns: 450px;
    grid-template-rows: auto;
}
.image-caption {
    background-color: #fff;
    padding: 0.5rem 0.5em 0.5em 1em;
    font-style: italic;
    border-left: 4px solid var(--gfColors-slate30);
    justify-self: start;
}

/*--  Play Icon for video stories --*/

.video .story-box::after {
    content: "";
    position: absolute;
    display: block;
      top: 1rem;
    right: 1.2rem;
    height: 2.5rem;
    width: 2.5rem;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: .2s all;
    z-index: 20;
    background-image:url('/__template/t1/images/photo-buttons-icons/play-button.svg');
 }
 
.stories a:visited {
     color: #7ab2ff !important;
 }
