/* ------------ FONTS --------------*/


/* ------------ HEADER -------------*/

.row:before, .row:after {display: none !important;}
html, body {
	/*overflow-x: hidden;*/
    height:auto!important;
    overflow-y: visible!important;

}
body {
	position: relative;
	font-family: 'Montserrat', sans-serif;
  display:block;
  height:auto!important;
}
h1,h2,h3,h4,h5,h6{
  font-family: 'Montserrat', sans-serif!important;

}
h1{
  /*font-size:3vw!important;
  font-weight:700!important;*/
}
h1{
  font-size:35px;
  font-weight:700;
  margin-bottom:30px;
}
h2{
  font-size:28px;
  font-weight:700;
  margin-bottom:30px;
}
h3 {
  font-size:25px;
  margin-bottom:30px;
  font-weight:700;
}
h4 {
  font-size:22px;
  margin-bottom:30px;
}
p {
  font-size: 17px;
}
a:hover{
	text-decoration: none!important;
}
button:focus {outline:0!important;}
.container-fluid {
    max-width: 100% !important;
    overflow-x: hidden !important;
}
#ipav2-header .container-fluid{
  overflow:visible!important;
  padding: 30px 30px;
}
#ipav2-header-buffer{
  height:137px;
  display:block;
  overflow: hidden;
}
#ipav2-header-wrapper{
  background-color: white;
  transition: 0.4s;
}
#menu-big{
    position: absolute;
        top: 50%;
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        right:0!important;
}
@media screen and (max-width: 575px) {
  #ipav2-header-wrapper .container-fluid{
    padding: 10px 15px!important;
  }
  #ipav2-header-buffer{
    height:40px;
  }
  .front-page .container-fluid{
    padding-left:0!important;
    padding-right: 0!important;
  }
}
.nav a, .nav-mobile a{
  text-decoration: none;
  color:#6c757d;
  /*color:black;*/
  font-family: 'Montserrat', sans-serif;
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 3px;
  font-weight:400;
}
.nav, .nav-mobile{
  float:center;
  height:100%;
  /*margin-top: 5px;*/
}

.nav li:hover a, .nav-mobile li:hover a{
  color:black;
}
.nav .current-menu-item a{
  font-weight:700;
  color:black;
}
.nav ul, .nav-mobile ul{
  margin:auto;
  list-style: none;
  text-align: center;
}
.nav li, .nav-mobile li{
  margin:0px;
  float:left;
  padding:20px 15px;
}
.nav ul ul{
  display:none;
  position: absolute;
  margin-top:10px;
  float:none;
  transition:0.2s;
  width: 270px!important;
  box-shadow: 0 25px 40px -12px rgba(0, 0, 0, 0.25)!important;

}
.nav ul li:hover ul{
  display:block;
  float:right;
}
.nav ul ul li{
  float:right;
  background:black;
  width:270px!important;
  transition:0.2s;
  opacity:1;
  display:block;
  text-align:left!important;
  border:1px solid black!important;
}
.nav ul ul a{
  color:white;
  float:left;
  display:block!important;
}
.nav .sub-menu li:hover{
  background:#A11E1D;
border:1px solid #A11E1D!important;

}
.nav .sub-menu li a{
  color:white;
  text-align:left!important;
}
.sub-menu ul{
  display:none;
}
.nav-btns ul li, .nav-btns-mobile ul li {
  text-align: center;
  transition: background-color 0.1s ease;
  background:black;
  text-align:center;
  margin:10px 0px 10px 20px;
  padding:5px 10px 7px;
  width:100px!important;
  border:1px solid white;
  opacity:1;
}
#mySidebar{
  height:100vh;
  position:fixed;
  z-index:9999;
  background:black;
  opacity:1;
  width:450px;
  right:-450px;
  display:block;
  transition: all 0.3s;
  top:0;
  overflow-y: scroll;
  box-shadow: 3px 3px 3px 3px rgba(0, 0, 0, 0.3)!important;
  box-shadow: 0 25px 40px -12px rgba(0, 0, 0, 0.25)!important;
}
#mySidebar.active{
  right:0;
}
.overlay{
  display: none;
    position: fixed;
    width: 100vw;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1031;
    opacity: 0;
    transition: opacity 5.4s ease-in-out;
}
.overlay.active{
  display: block;
  opacity: 1;
}
#mobile-menu-btn{
  float:right;
  background-color:transparent;
  text-decoration: none;
  color: black;
  font-size: 35px;
  padding:0px 0px;
  opacity:1;
  z-index:2000;
  position: relative;
  transition: opacity 0.4s;
  transition: color 0.3s;
  border-style:none!important;
}
#mobile-menu-btn h4{
  font-size:16px!important;
  margin:8px 12px 0 0!important;
  letter-spacing: 1px;
  font-weight:300;
font-family: 'Montserrat', sans-serif!important;
text-transform: uppercase;

}
#mobile-menu-btn:hover .menu-word{
	color:#A11E1D!important;
}
#mySidebar .mobile-nav ul{
  margin:0;
  padding:0;
}
button:focus{
  outline: 0px none;
}
#mobile-title{
  text-transform: uppercase;
  font-size:20px;
  margin:10px 0px 10px; 0;
  color:black!important;
  text-decoration:none!important;
}
.mobile-nav{
  padding-bottom:50px;
}
.mobile-nav ul{
  width:100%;
}
.mobile-nav li{
  text-align: left;
  margin:10px 0;
  padding: 5px;
  transition: background-color 0.4s;
  width:100%;
}
.mobile-nav li:hover{
  background-color: #A11E1D;
}
.mobile-nav li a{
  text-transform: uppercase;
  text-decoration: none;
  font-size:21px;
  color:white;
  margin-left:9%;
  letter-spacing: 6px;
  font-weight:500;
  width:100%;
  font-family: 'Montserrat', sans-serif;

}
.mobile-nav ul ul{
  display:none;
}
.mobile-close-btn{
  background:transparent;
  font-size:40px;
  color:white;
  padding:20px 25px;
  transition:color 0.3s;
}
.center-mobile{
  margin: 0;
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
#mobile-menu-btn:hover,.mobile-close-btn:hover{
  text-decoration: none;
  color:#A11E1D!important;
}
.mobile-menu-socials{
  position:absolute;
  bottom:20px;
  text-align:center;
  width:100%;
}
.mobile-menu-socials h3 a {
  margin:0 20px;
  color:white!important;
  background-color: transparent!important;
  transition: color 0.3s;
  opacity:1;
  font-size:30px;
}
.mobile-menu-socials h3 a .fab{
	color:white!important;
  background-color: transparent!important;
  transition:color 0.3s;
}
.mobile-menu-socials h3 a:hover, .mobile-menu-socials h3 a .fab:hover{
  color:#A11E1D!important;
}

/* ------------NOT MOBILE -------------*/
@media screen and (min-width: 1501px) {
  #mobile-menu-btn {
    display: none;
  }
  .mobile-title{
    display:none!important;
  }
  .mobile-nav{
    display:none;
    z-index:-1;
  }
  #mySidebar{
    display:none;
    z-index:-1;
  }
}
/* Print specific CSS */
@media print{
	.single-category h4 {
    margin-bottom: 0.8em;
	}
	h1.single-title {
    margin-bottom: 0.8em;
	font-size: 1.25em;
    font-weight: 500;
	}
	h5.single-post-details{
	margin-bottom: .8em;
	}
	.container{
	margin-top: 5%;
	margin-bottom: 5%;
	padding-left: 60px!important;
    padding-right: 60px!important;
    padding-top: 25px;
    padding-bottom: 25px;
	font-size: 1.5em;
    font-family: 'Montserrat';
	}
	.single-post-image{
	width: 85%;
	height: auto;
	margin: 15px auto;
	}
	.col-sm-4{
	display:none;
	}
	.single-social-sharing{
	display:none;
	}
	.join_dontate_msg{
	display:none!important;
	visibility:hidden;
	}
	.member-banner{
	display:none;
	}
	.ipav2-related-posts{
	display:none;
	}
	.col-sm-8{
	max-width: 100%!important;
    flex: 0 0 100%!important;
	}
	.col-sm-9 {
	display: grid;
	}
	#ipav2-header-buffer{
	display:none!important;
	}
	img{
	border-radius: 100%;
	}
}
/* -------------- MOBILE -------------*/
@media screen and (max-width: 1500px) {
  .nav{
    display: none!important;
  }
  .header-logo-desktop{
    display: none;
  }
  #mobile-menu-btn {
    display: block;
    margin: 0;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    float:right;
    text-align:right;
    right: 30px;
    border-style:none!important;
  }

  .mobile-header-row{
    padding:0px 0px;
  }
  .mobile-btn{
    width:100%;
    text-align:right;
  }

  .mobile-left-col{
    padding-left:0px;
  }
  #ipav2-header .container-fluid{
    overflow:visible!important;
    padding: 30px 30px;
  }
  
}
@media screen and (max-width: 575px) {
  .mobile-left-col{
    padding-left:0px;
  }
  #mobile-menu-btn {
    right:15px;
  }
  #mySidebar{
    width:100%;
    right:-100%;
  }
  #ipav2-header-buffer{
    height:95px;
  }
}

.posts-slider-row{
  margin-right:-10px!important;
  margin-left: -10!important;
}
@media screen and (max-width: 500px){
  .mobile-nav li{
    padding:3px 2px;
    
  }
  #mobile-menu-btn h4{
    display:none;
  }
  #ipav2-header .container-fluid{
    overflow:visible!important;
    padding: 5px 15px;
  }
}
@media screen and (max-width: 350px) {
  .mobile-menu-socials{
    display:none;
  }
  .mobile-nav{
    padding-bottom:0px;
  }
}
/* ------------ Home Page -------------*/
.carousel-inner{
  height:60vh;
}
.top-carousel{
  padding:0 15px;
}
.carousel-item{
  height:100%;
}
.slider-title{
  color:white!important;
  font-family: 'Montserrat', sans-serif;
  font-weight: 400;
  opacity:0.95;
  font-size:55px;
  letter-spacing: 0px;
  text-align:center;
  margin:0;
  word-break:normal;
}
.slider-background{
  background-size: cover!important;
  background-attachment: fixed!important;
  background-position: right!important;
}
@media screen and (max-width:500px){
  .slider-background{
  background-size: cover!important;
  background-attachment: scroll!important;
}
}
@media screen and (max-width: 1025px) {
  .slider-title{
    font-size:45px;
  }
  .top-carousel .carousel-inner{
    height:83vh;
    margin-top:0px!important;
  }

}
.slider-sub-title{
  color:rgba(255, 255, 255, 0.66);
  font-size:24px;
}
.center-slider {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align:center;
}
.vertical-center h2{
  text-align: center;
}
.slider-btn-wrapper {
  color: white;
  background-color: #a11e1d;
  padding:15px 30px;
  font-size: 16px;
  font-family: 'Montserrat', sans-serif;
  text-align:center;
  margin-top:30px!important;
  text-decoration: none;
  transition: background-color 0.3s;
  text-transform: uppercase;
  letter-spacing: 0px;
  display:inline-block;
  font-weight:700;
}
.slider-btn-wrapper a{
  color: white;
  text-decoration: none;
}
.slider-btn-wrapper:hover {
  color: #a11e1d;
  background-color: white;
}
.slider-btn-wrapper:hover a{
  color: #a11e1d;

}

/* ---- Quote ---- */
#quote-div{
  padding: 100px 10% 50px;
  opacity:1;
  transition: opacity 1s;
}
#quote-div h3{
  font-family: 'Montserrat', sans-serif;
  font-weight: 400!important;
  font-size:20px!important;
  color: #1a1b1f;
  letter-spacing:0px!important;
  margin:0!important;
}
#quote-div h4{
  font-family: 'Montserrat', sans-serif;
  font-weight: 300!important;
  font-size:16px!important;
  color: #808183!important;
  letter-spacing:0px!important;
  margin: 5px 0;
}
#quote-div h2{
  font-family: 'Montserrat', sans-serif;
  font-weight: 300!important;
  font-size:40px!important;
  color: #1a1b1f!important;
  letter-spacing:0px!important;
  margin:30px 0!important;
  line-height: 60px!important;
}

@media screen and (max-width: 1025px) {
  #quote-div{
    padding: 70px 10% 0;
  }
  #quote-div h2{
    font-size:25px;
    line-height: 45px;
  }
}

/* ---- Latest Posts ---- */
#latest-posts{
  text-align:center;
  padding:50px 3% 50px;
}
#latest-posts h2{
  font-family: 'Montserrat', sans-serif;
  font-weight: 700!important;
  font-size:40px!important;
  color: black!important;
  letter-spacing:3px!important;
  margin:10px 0px 50px!important;
  text-decoration: none;
  border: solid 0px black;
  width:30%!important;
  padding: 5px 30px!important;
  /*display:none;*/
}
.carousel-inner-posts{
  height:570px;
  padding:0 4%;
}
.post-card-img{
  width:100%;
  height:50vw;
  display:block;
  position:relative;
}
.grow { transition: all .2s ease-in-out; }
.grow:hover {
	transform: scale(1.03);
	z-index: 5;
  box-shadow: 0 25px 40px -12px rgba(0, 0, 0, 0.25)!important;

}

.post-card-read{
  background-color: black!important;
  color:white!important;
  border:1px solid black!important;
  padding:5px 30px!important;
  font-size: 15px!important;
  font-weight:normal!important;
  letter-spacing: 2px!important;
  white-space: nowrap;
  font-family: 'Montserrat', sans-serif!important;


}
.post-card-read:hover{
  /*color:black;
  background-color:white;*/
  background-color: #A11E1D!important;
  border-color: #A11E1D!important;
}
.post-card-date{
  color:#808183!important;
  font-size: 12px!important;
  font-weight:normal;
  letter-spacing: 2px!important;
  margin-top:0px!important;
  text-align:right!important;
  font-family: 'Montserrat', sans-serif;

}
.card-footer{
  padding:0!important;
  background:transparent!important;
  border-top: none!important;
  padding:20px!important;
}
.mobile-more-posts{
  border:solid 0px black;
  margin: 0 15px;
  padding:15px 0;
  background-color:white;
  z-index:5000;
  font-family: 'Montserrat', sans-serif!important;

  /*box-shadow: 0 25px 40px -12px rgba(0, 0, 0, 0.25)!important;*/

}
.mobile-more-posts a {
  color:black;
  font-size:25px;
  font-family: 'Montserrat', sans-serif;


}
.mobile-more-posts a h3{
  margin:0!important;
  font-size:22px!important;
  letter-spacing: 1px!important;
  font-family: 'Montserrat', sans-serif;

}
@media screen and (max-width: 575px) {
  #latest-posts{
    padding:20px 0% 15px;
  }
  .carousel-inner-posts{
    height:1610px;
  }
  .post-card{
    margin-bottom:30px;
  }
  #latest-posts .carousel-inner{
    overflow:visible;
  }
  #latest-posts .carousel-control-prev, #latest-posts .carousel-control-next{
    display:none;
  }
}

/* ------------NOT MOBILE -------------*/
@media screen and (min-width: 575px) {
  .post-card-img{
  width:100%;
  height:15vw;
  display:block;
  position:relative;
}
#latest-posts .carousel-control-prev {
  left: -110px;
  border-bottom: 0px solid white;
  font-size: 40px;
  color: #444;
}
.mobile-more-posts{
  display:none;
}

#latest-posts .carousel-control-next {
    right: -110px;
    border-bottom: 0;
    font-size: 40px;
    color: #444!important;
}
}

#latest-posts a{
  text-decoration: none;
}
.post-card {
  text-align:left;
  padding: 0px 0px!important;
  box-shadow: 0 25px 40px -12px rgba(0, 0, 0, 0.25)!important;
  height:500px;
  border-radius: 0px;
  margin-top:5px;
  border:0px solid white!important;
}
.post-card-text{
  padding: 10px 20px 0px!important;
  font-family: 'Montserrat', sans-serif;

}
.post-card a h3{
  font-size:17px!important;
  font-weight: 400!important;
  letter-spacing:0px!important;
  margin: 20px 0 18px!important;
  color:black;
  transition:color 0.3s;
  font-family: 'Montserrat', sans-serif;

}
.post-card a h3:hover{
  color:#A11E1D!important;
}
.post-card a h4{
  font-size:13px!important;
  color:#A11E1D!important;
  text-transform: uppercase;
  letter-spacing: 1px!important;
  margin:0px 0!important;
  font-weight:700!important;
  transition:color 0.3s!important;
  font-family: 'Montserrat', sans-serif;

}
.post-card a h4:hover{
  /*color:black!important;*/
}
.post-card h5 a, .post-card h5{
  font-size:13px;
  color:#808183!important;
  letter-spacing: 1px!important;
  margin:5px 0!important;
  font-weight:500!important;
  transition:color 0.3s;
}
.post-card h5 a:hover{
  color:black!important;
}

#latest-posts a h6{
  text-decoration: none;
  color:black;
  font-size:20px!important;
  letter-spacing: 1px!important;
  font-weight:700!important;
  transition:color 0.3s!important;
  z-index:999!important;
  background-color: white;
  padding:10px 20px!important;
  width:380px!important;
  border:1px solid black;
  transition: background-color 0.3s;
}
#latest-posts a h6:hover{
  color:white;
  background-color: black;
  border:1px solid black;
}
.see-more-today a{
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: 'Montserrat', sans-serif;
  color:black;
}
.see-more-today a h5{
  margin:0;
  font-size:25px;
  letter-spacing:1px;
  font-weight:400;
  transition:color 0.3s;


}
.see-more-today a h5:hover{
  color:#A11E1D!important;
}

/* --- Grid --- */
.grid{
  margin-bottom:66px;
}
.grid-row{
  height:500px;
  margin: 30px 0px!important;
}
.grid-left{
  padding:0 15px 0 15px!important;
}
.grid-middle{
  padding: 0 15px 0 15px!important;
}
.grid-right{
  padding: 0 15px 0 15px!important;
}

.grid-overlay{
  height:100%;
  width:100%;
  background: rgba(0, 0, 0, 0.6);
  transition:background 0.8s;

}
.grid-overlay:hover{
  background: rgba(0, 0, 0, 0);
}
.grid-overlay a{
  text-decoration: none;
}
.grid-overlay .grid-title{
  color:white;
  margin:0;
  /*font-size:48px;*/
  font-size:4vw;
  font-family: 'Montserrat', sans-serif;
  font-weight:300;
  letter-spacing: 3px;
  position:relative;
  text-decoration: none;
  transition: margin-left 0.5s;
  cursor: pointer;
}
.grid-overlay:hover .grid-title{
  opacity:1;
  margin-left: -30px;
}

.grid-overlay .fa-arrow-right{
  /*display:none;*/
  opacity:0;
  transition: opacity 0.3s;
}
.grid-overlay:hover .fa-arrow-right{
  opacity: 1;
}
.grid-center {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  text-align:center;
}

/* --- Grid title arrow effect ---*/
.grid-btn {
  background-color: transparent;
  border: none;
  color: #fff;
  text-align: center;
  font-size:45px;
  font-family: 'Montserrat', sans-serif;
  font-weight:300;
  letter-spacing: 4px;
  padding: 16px;
  width: 390px;
  transition: all 1.2s!important;
  cursor: pointer;
  text-transform: none;
  text-decoration: none;
  opacity:0.8;
  line-height: 50px;
}
.grid-btn:hover{
  text-decoration: none;
  color: white;
  opacity:1;
}
.grid-btn{
  cursor: pointer;
  display: inline-block;
  position: relative;
}
.grid-btn:focus{
  outline: none;
}

/*.grid-btn-one:after {
  content: '☞';
  position: absolute;
  opacity: 0;
  top: 20px;
  right: -20px;
  font-size:52px;
  transition: 0.5s;
}*/

.grid-overlay:hover .grid-btn{
  opacity:1;
}


@media screen and (max-width: 1025px) {
  .grid-row{
    margin:0!important;
    height: auto;
  }
  .grid-left, .grid-right, .grid-middle{
    margin: 15px 0!important;
    height:400px!important;

  }
  .grid{
    margin-bottom:15px;
  }
}
@media screen and (max-width:1025px) {
  .grid-btn{
    font-size: 35px;
  }
  #genlib-title{
    padding:0 20px;
  }
}



/* --- sign up ---*/
.sign-up{
  background-color:#f4f4f4;
  margin: 0 15px 50px;
  padding:60px 10px;
  /*box-shadow: 0 25px 40px -12px rgba(0, 0, 0, 0.25)!important;*/
}
.sign-up {
  text-align:center;
  font-family: 'Montserrat', sans-serif;
  font-weight:300;
  letter-spacing: 2px;
  font-size:40px;
  opacity:0.75;
}
.sign-up h2{
  font-size:40px!important;
  margin-bottom: 3%!important;
  letter-spacing: -0.04em;
  font-weight: 700;
  margin-top:3%;
}
.sign-up p{
  font-size:20px;
  margin-bottom: 0;
}
.sign-up h3 a{
  margin: 0 20px;
  color:black!important;
  background-color: transparent!important;
}
.sign-up h3 a .fab{
  color:black!important;
  background-color: transparent!important;
  transition: color 0.3s;
  margin: 2% auto 0%!important;
  font-size:40px!important;
}
.sign-up h3 a .fab:hover{
  color:#A11E1D!important;
}
.sign-up .boring-stuff h5{
  font-size:12px!important;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: -0.04em;
  font-weight: 700;

}
.sign-up .boring-stuff h5 a{
  margin:20px 5px 3% 5px!important;
  margin-top:10px!important;
  margin-bottom:5%!important;
  color:black;
  font-family: 'Montserrat', sans-serif;
  letter-spacing: -0.04em;
  font-weight: 700;

}
.sign-up .boring-stuff{
	margin-bottom:3%!important;
	margin-top:2%!important;
}
.sign-up .boring-stuff h5 a:hover{
	color:#A11E1D!important;
}
/* --- V2 Footer --- */
.v2-footer{
  background-color:white;
  text-align: right;
  padding: 20px 30px 20px 30px;
  opacity:0;
  transition: opacity 0.5s
}
.v2-footer a {
  color:black;
  opacity:0.6;
  margin: 0 20px;
  font-size:25px;
  transition:color:0.3s;
}

.v2-footer a:hover{
  color:#A11E1D;
}
.v2-footer h3{
  margin:0!important;
  line-height: inherit;
}
.v2-footer .container-fluid{
  margin-top:0;
}
.v2-footer a .fab{
	color:black!important;
	background-color: transparent!important;
	transition: color 0.3s;
}
.v2-footer a .fab:hover{
	color:#A11E1D!important;
}

@media screen and (max-width: 1025px) {
  .v2-footer{
    text-align:center;
    }
    .v2-footer a .fab{
    margin-left:12.5px;
    margin-right:12.5px;
	color:black!important;
    }
    .sign-up h3 a{
      display:none;
    }
    .v2-footer{
      opacity:0;
    }
    .v2-footer .boring-stuff{
      display:none;
    }
    .bottom-socials{
      min-width:100%!important;
    }
    .v2-footer a{
      margin: 0 5px;
    }
}
.v2-footer .boring-stuff h5 {
  margin:0px!important;
  color:black;
  font-size:15px;
  text-align:left;
  position:absolute;
  bottom:5px;
  opacity:0.5;
  transition: color 0.3s;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  letter-spacing: -0.04em;

}
.v2-footer .boring-stuff h5 a{
  color:black;
  text-decoration: none;
  margin-right:8px;
  font-family: 'Montserrat', sans-serif;

}
.test{
	
}

.row:before, .row:after {display: none !important;}
