/* University Template over-ride
   Launched: 2024-07-10
   Author: Notre Dame Web Team
   ----------------------------------------------------*/

@media only screen {
  .form--attendees { background-color:var(--sky-blue); margin:4rem auto; padding:1.5rem 0 .75rem; }
  .form--attendees:first-child { margin-top:0; }
  .form-fields { padding:0 1.5rem; }
  .form--attendees label { margin-bottom:.5em; /*! font-size: .9em; */ }
  .form--attendees select:not([multiple]) { padding-bottom: 0; padding-top: 0; }
  .form--attendees select { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3E%3C/svg%3E"); background-origin: content-box;  background-position: right -.5rem center; background-repeat: no-repeat; background-size: 20px 12px; border: 1px solid #cacaca; border-radius: 4px; color: #0a0a0a; font-family: inherit; font-size: 1rem; font-weight: 400; line-height: 1.5; margin: 0 0 1rem; padding: .5rem 1.5rem .5rem .5rem; width: 100%; }
  .form--attendees select,.form--attendees select:focus { background-color: #fefefe; transition: box-shadow .5s,border-color .25s ease-in-out; }
  .form--attendees select:focus { border: 2px solid var(--brand-blue-bright); box-shadow: 0 0 5px #cacaca; outline: none; }

  .site-title a { background:url(/stylesheets/images/logo-ceo-conference-horiz.svg) 0 / contain no-repeat; margin:.4rem 0; min-height:65px; text-indent:-999em; }
  .btn-protected:after { background:url(/stylesheets/themes/ndt/3.0/images/icon-lock.svg) 0 0 no-repeat; content:""; display:inline-block; height:.9em; margin-left:.4em; vertical-align:baseline; width:.9em; }
  .btn-anchor:after { background-position:50% 50%; background-repeat:no-repeat; background-size:.7em; content:"\2193"; display:inline; font-family:var(--font-default); margin-left:.16em; padding:.5em; }

  .home .site-header { padding-bottom:2px; }

  /* welcome page */
  .hide { height:0; visibility:hidden; }
  .welcome .site-header { position: relative; }
  .welcome .logo--home { height:9rem; margin:0 auto 3rem; width:16rem; }
    .welcome .site-header:before { background:url(/stylesheets/images/dome-sketch.svg) right -50px top 70px / 400px no-repeat; bottom:0; content:""; display:block; left:0; opacity:.5; position:absolute; right:0; top:0; z-index:1; }
  .welcome .nav-header { margin:0; }
  /* agenda section */
  .section--agenda { margin:4rem 0; padding:4rem 0; }
  .section--agenda:before { background: url(https://debate.nd.edu/stylesheets/images/bg-campus-800.jpg) 50% 50% / cover no-repeat; left:var(--gutter-offset); right:var(--gutter-offset); }
  /* stories section */
  .section--stories.full { margin-left:var(--gutter-offset); margin-right:var(--gutter-offset); }
  .section--stories { background:var(--sky-blue-light); margin:2rem -1rem; }
  .stories-primary { background:var(--brand-blue); margin-bottom:2rem; padding:0 0 2rem; position:relative; }
  .stories-primary:before { background:var(--brand-blue); bottom:0; content:""; display:block; left:0; position:absolute; right:0; top:0; z-index:1; }
  .stories-primary .article-image { margin-bottom:2rem; position:relative; z-index:10; }
  .stories-primary .article-body { color:#fff; padding-left:1rem; padding-right:1rem; position:relative; z-index:10; }
  .stories-primary .article-title { color:#fff; font-family: var(--font-heading); margin:0; }
  .stories-primary .article-title:after { background:var(--brand-gold); content:""; display:block; height:4px; margin:.75rem 0 1.875rem; width:50px; }
  .stories-primary p { font-size:1.1rem; }
  .stories-secondary { padding: 0 2rem 1rem; }
  .stories-secondary .hover-bg:hover { background-color:#fff; }

  .nav-site .protected>a:after,.nav-top .protected>a:after { content:none; }

}

/* 480px
----------------------------------------------------*/

/* 768px
----------------------------------------------------*/

@media only screen and (min-width:48em) {
  /* welcome page */
  .welcome .site-header { grid-template-rows:[title-start] auto [title-end nav-header-start] auto [nav-header-end logo-start] auto [logo-end nav-mobile-start] auto [nav-mobile-end]; }
  .welcome .header-logo { grid-column:container; grid-row:logo; margin:0 auto 4rem; text-align:center; z-index:2; }
    .welcome .site-header:before { background-position:right 15vw top 50px; background-size:400px; }
  .welcome .page-primary { background:#fff; margin-top:-2rem; padding:3.25rem 4rem 0; }
  .welcome .page-main,.welcome .page-main:before { background:transparent; }
  .welcome .page-header:before { background-color:#fff; background-image:url(/stylesheets/images/pattern-hatch-gray.svg); background-position:top; background-repeat:no-repeat; background-size:100vw auto; }
  /* agenda section */
  .section--agenda { margin:4rem 0 5rem; padding:4rem; }
  /* stories section */
  .section--stories { grid-row:4; margin:2rem 0 3rem; }
  .stories-primary { display:grid; grid-template-columns:8vw 1fr 1fr; grid-template-rows:1rem auto 1rem; margin:-4em 0 2rem; padding:0; z-index:1; grid-gap:1rem; background:none; }
 .stories-primary:before { content:""; display:block; grid-column:2 /  5; grid-row:1 /  -1; }
 .stories-primary .article-image { grid-column:1 /  3; grid-row:2 /  3; margin:0; }
 .stories-primary .article-image img { min-width:100%; -o-object-fit:cover; object-fit:cover; }
 .stories-primary .article-title { font-size:2.6rem; }
 .stories-primary .article-title a { color:#fff; }
 .stories-primary .article-body { align-self:center; grid-column:3 /  4; grid-row:2 /  3; max-width:45rem; padding:0 10%; }
 .stories-secondary { width:calc(90vw + 2rem); }
 .stories-secondary .card-image { width:100%; }
 .stories-secondary .card-body { padding-top:1.5rem; }
 .stories-secondary .card-image+.card-body { width:100%; }
 .section--stories { margin-bottom:0; padding-top:1rem; }
 .stories-secondary { margin:3rem auto 0; padding:0; }
 .show-md { height:auto; visibility:visible; }
}

/* 960px
----------------------------------------------------*/

@media only screen and (min-width:60em) {
  /* welcome page  */
  .show-lg { height:auto; visibility:visible; }
  .welcome .page-main { padding-bottom:0; padding-left:0; }
  .welcome .site-header { grid-template-rows: [title-start] auto [title-end nav-header-start] auto [nav-header-end nav-mobile-start] auto [nav-mobile-end logo-start] 1fr [logo-end]; min-height:100vh; }
  .welcome .header-logo { align-self:center; z-index:2; }
    .welcome .site-header:before { background-position:right 10vw top 50px; background-size:70vh; }
  .welcome .logo--home { height:15rem;  width:30rem; }
  .welcome .nav-header .nav-top { background:none; padding:.125em 0; }
  .welcome .btn-search,.welcome .nav-top a { background-color: transparent; color:#fff; padding-bottom:.75em; padding-top:.75em; position: relative; }
  .welcome .nav-top .active,.welcome .nav-top .btn-search:hover,.welcome .nav-top .current,.welcome .nav-top a:hover { background:transparent; border-bottom-color:transparent; }
  .welcome .nav-top a:after { background: var(--brand-blue-bright); bottom: .2rem; content: ""; height: .2rem; left: 0; position: absolute; transform: scaleX(0); transform-origin: 50%; transition: all 125ms ease-in-out; width: 90%; }
  .welcome .nav-top a.current:after,.welcome .nav-top a:hover:after { transform: scaleX(1); }
  .welcome .navbar .nav-top--home,.welcome .navbar .nav-top--home:hover { background:#fff url(images/logo-debate-topnav.svg) 50% 0 / contain; border-bottom: .3rem solid var(--brand-red); height:6rem; left:0; position:absolute; text-indent:-999em; top:0; width:11rem; }
  .welcome .navbar .nav-top--home:after { display:none; }
  /* agenda section */
  .section--agenda { margin:5rem 0 6rem; }
  /* stories section */
  .section--stories { grid-column:1 /  -1; grid-row:4; }
  .stories-primary .article-title { font-size:3rem; }
  .stories-primary .article-title:after { height:6px; margin-left:-1.25rem; margin-top:1rem; width:80px; }
}

/*1200px
----------------------------------------------------*/

@media screen and (min-width:75em){
  .horizontal-mlg { flex-flow:row; --card-image-width:30%; --card-circle-image-width:calc(100% - var(--card-padding)); }
  .horizontal-mlg .card-image { min-width:var(--card-image-width); }
  .horizontal-mlg .card-image+.card-body { flex-grow:1; }
}

/* 1280px
----------------------------------------------------*/

/* 1600px
----------------------------------------------------*/

/* 1920px
----------------------------------------------------*/

@media only screen and (min-width:120em) {
  .welcome .site-header:before { background-position:right 20vw top 50px; }
}

/* Print
----------------------------------------------------*/
