/** general **/
:root {font-size: 16px;}
body { color:#414141; font-size:16px; }
a:visited, a:link { color:#707070; }


/** colors **/
.has-color-white, .has-color-white:visited, .has-color-white:focus,.has-color-white:link  { color:#FFF; }
.has-color-red, .has-color-red:visited, .has-color-red:focus,.has-color-red:link { color:#980b0b; }
.has-color-darkgray, .has-color-darkgray:visited, .has-color-darkgray:focus,.has-color-darkgray:link { color:#757575; }
a.has-color-darkgray:hover, .has-color-darkgray a:hover, a:hover .has-color-darkgray { color:#980b0b; }

.has-blue-background { background-color:#007cba; }
.has-red-background { background-color:#a00c0c; }
.has-grey-background { background-color:#E2E2E2; }

/** text **/
.has-uppercase { text-transform: uppercase;}
.has-underline, .has-underline:link, .has-underline:visited { text-decoration:underline; }
.has-text-shadow { text-shadow: 2px 2px 4px rgb(0 0 0 / 42%); }
.has-text-center { text-align: center; }
.has-roboto-condensed { font-family:'Roboto Condensed', sans-serif; }
.has-roboto { font-family:'Roboto', sans-serif; }
.has-font-400 { font-weight:400; }
.has-font-700 { font-weight:700; }
.has-font-medium-small { font-size:1.4rem; line-height:2.3rem; }
.has-font-medium { font-size:1.7rem; line-height:2.3rem; }
.has-font-medium-large { font-size:2.5rem; line-height:2.1rem; }
.has-font-large { font-size:3.5rem; line-height:2.1rem; }

/** border **/
.has-thin-border { border-width: 1px; }

/** helper **/
.mb-0 { margin-bottom:0; }
.mb-2 { margin-bottom:0.5rem ; }
.mb-3 { margin-bottom:1rem ; }
.mb-4 { margin-bottom:1.5rem ; }
.mb-5 { margin-bottom:2.5rem ; }
.mt-2 { margin-top:0.5rem ; }
.mt-3 { margin-top:1rem ; }
.mt-4 { margin-top:1.5rem ; }
.mt-5 { margin-top:2.5rem ; }
.ml-2 { margin-left:0.5rem ; }
.ml-3 { margin-left:1rem ; }
.ml-4 { margin-left:1.5rem ; }
.ml-5 { margin-left:2.5rem ; }
.mr-2 { margin-right:0.5rem ; }
.mr-3 { margin-right:1rem ; }
.mr-4 { margin-right:1.5rem ; }
.mr-5 { margin-right:2.5rem ; }

.pb-2 { padding-bottom:0.5rem ; }
.pb-3 { padding-bottom:1rem ; }
.pb-4 { padding-bottom:1.5rem ; }
.pb-5 { padding-bottom:2.5rem ; }
.pt-2 { padding-top:0.5rem ; }
.pt-3 { padding-top:1rem ; }
.pt-4 { padding-top:1.5rem ; }
.pt-5 { padding-top:2.5rem ; }
.pl-2 { padding-left:0.5rem ; }
.pl-3 { padding-left:1rem ; }
.pl-4 { padding-left:1.5rem ; }
.pl-5 { padding-left:2.5rem ; }
.pr-2 { padding-right:0.5rem ; }
.pr-3 { padding-right:1rem ; }
.pr-4 { padding-right:1.5rem ; }
.pr-5 { padding-right:2.5rem ; }

.w-100 { width:100%; }
.is-block { display:block; }

/** swiper **/
.is-banner-info { position:absolute; top:0; left:0; padding:50px; }
.is-banner-info h2 { text-transform: none; font-size:2.5rem; line-height:2.8rem; font-weight:400;  white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
.is-banner-info p { font-size:1.375rem;line-height: 2.2rem;font-weight: 200;letter-spacing: 0.5px; width:100%; }
.is-banner-btn { font-size:1.5rem; font-weight:300; display:inline-block; }
.is-banner-btn:hover { transition:0.4s; background-color:#a00c0c; }
.is-banner-slide img { max-width:100%; max-height:100%; min-height:310px; }
.is-bannerbtns-wrap { display:flex; flex-direction:column; align-items:stretch; width:190px; }
.swiper-pagination { position:absolute; top:0; right:0; display:flex; flex-direction:column; height:100%; justify-content:center; align-items:stretch; z-index:10; padding:30px; }
.swiper-pagination-bullet { cursor:pointer; font-family:'Roboto Condensed', sans-serif; font-size:1.75rem; line-height:2rem; color:#fff; padding:20px 0; text-align:left; border-bottom:1px solid #fff;  position:relative; }
.swiper-pagination-bullet:hover:before { content:""; position:absolute; top:0; left:-15px; height:100%; width:1px; background-color:#333; transition:background-color 0.5s ease; }
.swiper-pagination-bullet-active:before, .swiper-pagination-bullet-active:hover:before { content:""; position:absolute; top:0; left:-15px; height:100%; width:1px; background-color:#fff; transition:background-color 0.5s ease; }

/** intern **/
.is-movie-spec { padding-right:45px; position:relative; }
.is-movie-spec .ratings { position:absolute; right:15px; top:50%; margin-top:-20px; }
.is-watch-icon { height:29px; width:29px; }
.is-watch-text { line-height:29px; }
.is-watch-wrap { display:flex; }

/** IFI home lead **/
.is-ifihome-link { padding:5px 20px; border:2px solid #980b0b; display:inline-block; }
.is-ifihome-text { line-height:48px; }

/** book tickets **/
.book-tickets-title { display:flex; justify-content: space-between; align-content:stretch; }
.book-tickets-nextweek { display:flex; flex-direction: column; align-items: center; justify-content: center;  }
.full-screening-times { display:flex; justify-content: space-between; flex-wrap: wrap; }
.timing-list li { padding-bottom:10px; }

/** whatson **/
.whatson__mainrow { display:flex; flex-wrap:wrap; }
.whatson__title { order:1; }
.whatson__displaybox { order:3; }
.whatson__displaybox a { display:flex; flex-direction:column; height:100%;overflow: hidden;transition: 0.6s;position: relative; }
.whatson__displaybox:hover a { transform: translateY(-15px);box-shadow: 1px 12px 34px rgb(0 0 0 / 31%); }
.whatson__secondtitle { font-size:1.5rem; margin:0; }

/** whatson - Show today **/
.showing-today-sidebar { order:2; }
.showing-today-sidebar ul{ height: 400px; padding-right: 10px; overflow-y: scroll; }
.showing-today-sidebar ul::-webkit-scrollbar { -webkit-appearance: none; width: 7px; } 
.showing-today-sidebar ul::-webkit-scrollbar-thumb { border-radius: 4px; background-color: rgba(255, 255, 255, .5); box-shadow: 0 0 1px rgba(255, 255, 255, .5); }
.showing-today-sidebar__wrap { display:flex; justify-content:center; }
.showing-today-sidebar__wrap select { display:none;}
.showing-today-sidebar__listlink { display:flex; flex-direction:column; font-size:1rem;  }
.showing-today-sidebar .showing-today-sidebar__listlink span { text-decoration:underline; }
.showing-today-sidebar__listlink strong { font-weight:700; font-size:0.938rem;}
.showing-today-sidebar .showing-today-sidebar__listlink strong { text-decoration:none; margin-bottom:0.313rem; }
.showing-today-sidebar__listlink:hover strong { text-decoration:underline; }
.showing-today-sidebar__list { position:relative; border-bottom:1px solid #fff; padding-bottom:0.5rem; margin-bottom:0.5rem; }
.showing-today-sidebar__list:after { position:absolute; width: 0; height: 0; top:50%; margin-top:-21px; right:0; content:""; border-top: 12px solid transparent;border-bottom: 12px solid transparent;border-left: 13px solid #fff; }
.showing-today-sidebar__list:last-child { margin:0; padding:0; border:none; }
.showing-today-sidebar__list:last-child:after { margin-top:-7px; }
/*.showing-today-sidebar__list:nth-child(n+6) { display:none; }
.showing-today-sidebar__list:nth-child(5) { border:none; margin:0; padding-bottom:0; }
.showing-today-sidebar__list:nth-child(5):after { margin-top:-7px; }*/

/** displaybox **/
.displaybox__image {flex-grow:1; background-size:cover; background-position:center center; background-repeat:no-repeat; }

/** two columns **/
.twocolumns__tinylink { display:flex; justify-content:end; margin-bottom:1rem; }
.twocolumns__tinylink a:hover { text-decoration:underline;}
.twocolumns__box { display:flex; justify-content:center; margin-bottom:1.25rem;  }
.twocolumns__box a { overflow:hidden; transition:0.6s; position:relative;}
.twocolumns__box:hover a { transform: translateY(-15px); box-shadow: 1px 12px 34px rgb(0 0 0 / 31%);}
.twocolumns__info {width: 100%;height: 100%;position: absolute;top: 0; left: 0;padding: 25px 25px 50px 25px;background: rgba(0, 0, 0, 0.78);color: #fff;font-weight: 300;opacity: 0;transition: 0.8s;display: flex;align-items: flex-end;flex-wrap: wrap; }
.twocolumns__box:hover .twocolumns__info {opacity: 1;transition-delay: 0.1s; }


/** support the ifi **/
#supportifi { background-image:url('https://www.ifi.ie/wp-content/themes/ifi-responsive/images/Support the IFI background.png'); background-position:center center; background-repeat:no-repeat; }
#supportifi .container > .row { display:flex; justify-content:space-between; }
#supportifi .threecolumns__image { display:flex; justify-content:center; align-items:end; height:105px; }
#supportifi .threecolumns__content h3 {text-transform:none; font-size:1.5rem; }

/** four columns **/
.fourcolumn-list__row { display:flex; flex-wrap:wrap; align-items:stretch; }
.fourcolumn-list__wrap { position:relative; height:100%; overflow:hidden;  }
.fourcolumn-list__background { position:absolute; top:0; left:0; width:100%; background-size:cover; z-index:1; background-position:center center; background-repeat:no-repeat; height:100%; transition: 0.4s; transform-origin: center center;transform: scale(1, 1); }
.fourcolumn-list__background:after { content:""; position:absolute; z-index:2; top:0; left:0; width:100%; height:100%; background-color:#000; opacity:0; transform:0.4s; }
.fourcolumn-list__wrap:hover .fourcolumn-list__background { transition: 0.4s; transform: scale(1.2); }
.fourcolumn-list__wrap:hover .fourcolumn-list__background:after { transition: 0.4s; opacity:0.5; }
.fourcolumn-list__box { height:309px; }
.fourcolumn-list__box a { z-index:3; position:relative; background-image:url('https://www.ifi.ie/wp-content/themes/ifi-responsive/images/retangulo.png'); display:flex;  height:100%; flex-direction:column; justify-content:end; background-repeat:repeat-x; padding:0.8rem; }
.fourcolumn-list__box p, .fourcolumn-list__box h3 { color:#fff; }
.fourcolumn-list__box h3 { font-weight:700; font-size:1.5rem; }
.fourcolumn-list__box p { font-size:1rem; line-height:1.4rem; }

.fourcolumns__image { height:220px; background-size:cover; background-position:center center; background-repeat:no-repeat; margin-bottom:2rem; }
.fourcolumns__box p { font-size:1.25rem; line-height:1.6rem; font-family:'Roboto Condensed', sans-serif; font-weight:4300;  }

/*less than 992px*/
@media (max-width: 992px) {
    .is-banner-info { padding:30px; }
    .is-banner-btn { margin-right:20px; background-color:#980a0a; }
    .swiper-pagination { flex-direction:row; height:30px; align-items:center; padding:0; top:initial; bottom:15px; width:100%; }
    .swiper-pagination-bullet { width:16px; height:16px; border-radius:16px; margin:0 10px; padding:0; text-indent:-9999px; background-color:#fff; }
    .swiper-pagination-bullet-active { background-color:#980a0a; }
    .is-banner-info p { font-size:1.375rem; line-height:1.8rem; }
    .is-bannerbtns-wrap { flex-direction: row; width:100%; }
    .swiper-pagination-bullet-active:before, .swiper-pagination-bullet-active:hover:before, .swiper-pagination-bullet:hover:before { display:none; }

    /** whatson **/
    #whatson { padding-top:0; }
    .whatson__title { order:2; }

    /** whatson - Show today **/
    .showing-today-sidebar { order:1; margin-bottom:1.5rem; }
    .showing-today-sidebar__wrap { display:flex; justify-content: space-between; align-items:center; }
    .showing-today-sidebar__wrap select { display:block; height:30px; color:#414141; font-family:'Roboto Condensed', sans-serif; font-size:1rem; padding:0 2rem 0 0.5rem; } 
    /*.showing-today-sidebar__list:nth-child(n+6) { display:block; }
    .showing-today-sidebar__list:nth-child(5) { border-bottom:1px solid #fff; padding-bottom:0.9rem; margin-bottom:0.9rem; }
    .showing-today-sidebar__list:nth-child(5):after { margin-top:-21px; }*/

    /** displaybox **/
    .whatson__displaybox { min-height:379px; }
    .whatson__displaybox:nth-child(odd) { padding-right:7px; }
    .whatson__displaybox:nth-child(even) { padding-left:7px; }
    .displaybox__title { font-size:1.25rem; }

    /** two columns **/
    .twocolumns { padding-bottom:0; }
    .twocolumns__info h3 {font-size:1.25rem; }

    /** four columns **/
    .fourcolumns__image { margin-bottom:1.25rem; }
}

/*less than 768px*/
@media (max-width: 768px){
    #home-banner { margin-bottom:0; }
    .has-font-medium { font-size:1.5rem; line-height:2rem; }
    .has-font-medium-large { font-size:2.2rem; line-height:2rem; }

    .is-banner-info { padding:20px; }
    .is-banner-btn { font-size:1rem; padding:1rem 0.8rem; }
    .is-banner-slide { height: 310px;overflow: hidden;justify-content: center;display: flex;}
    .is-banner-slide img { height: 310px; max-height: none; max-width: none;}
    .is-ifihome-link { display:flex; width:100%; justify-content: center; margin:15px 0 30px 0; }
    .is-bookcinema-link {display:flex; width:100%; justify-content: center; padding:20px 20px; margin:30px 0 15px 0;  }
    .is-movie-spec { padding-right:65px; }
    .is-screening-weekday { width:50%; }
    #home-banner { margin-top:0; }
    .navbar { margin-bottom:0; }
    .test { margin-bottom:0; }
    .is-banner-wrap { padding:0; }
    .is-banner-info h2 { font-size:2rem; margin-bottom:1rem; } 
    .is-banner-info p { font-size:1.25rem; line-height: 1.6rem; margin-bottom:2rem;overflow: hidden; max-height:80px;} 
    .upper-nav-btns button { width: 44.333%;}

    .gutter-10.row {margin-right: -5px; margin-left: -5px;}
    .gutter-10 > [class^="col-"],
    .gutter-10 > [class^=" col-"] {padding-right: 5px;padding-left: 5px;}

    /** whatson - Show today **/
    .showing-today-sidebar .col-xs-12 { padding-left:0; padding-right:0; }

    /** navbar **/
    .container>.navbar-header .row { margin-left:0; margin-right:0; }
    .container>.navbar-header .row .col-xs-6.col-sm-3 { padding-left:0; }
    .container>.navbar-header .row .col-sm-9 { padding-right:0; }

    /** support the ifi **/
    #supportifi { padding:0; background-image:none; }
    #supportifi .row { margin-bottom:0; }
    #supportifi .container > .row { display:flex; justify-content:center; flex-direction:column; }
    #supportifi .threecolumns__box { padding:1.5rem; border-bottom:5px solid #fff; }
    #supportifi .threecolumns__box a { display:flex; align-items:stretch; }
    #supportifi .threecolumns__box:nth-child(2) .threecolumns__image { order:2; }
    #supportifi .threecolumns__box:nth-child(2) .threecolumns__content { order:1; }
    #supportifi .threecolumns__image {margin-bottom:0; align-items:center; }
    #supportifi .threecolumns__content h3 { text-align:left; text-transform:uppercase; }
    #supportifi .threecolumns__content p { text-align:left; margin:0; }
    #supportifi .threecolumns__content { display:flex; flex-direction:column; justify-content:center; }
}

/*less than 576px*/
@media (max-width: 576px) {
    .is-banner-info p {  width:100%; } 
}

/*less than 576px*/
@media (max-width: 475px) {
    #whatson { padding-top:0; padding-bottom:1.5rem; }
    .whatson__displaybox { min-height:379px; width:100%; margin-bottom:1.25rem; }
    .whatson__displaybox:nth-child(odd) { padding-right:15px; }
    .whatson__displaybox:nth-child(even) { padding-left:15px; }
}