/*********************** RESPONSIVE STYLES ***********************/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');

html { 
	scroll-behavior: smooth; 
}

body {
	background-color:#ffffff;
	font-family: 'Inter';
	font-size:18px;
}

.container-fluid {
	position:relative;
}

.main {
	width:100%;
	background:#fff;
	color:#002C3E;
}

.header {
	background:#fff;
	margin:0 auto;
	width:100%;
	box-shadow: inset -7px 0px 14px rgba(22, 159, 180, 0.06);
	z-index:900;
}

.logo-img {
	display:block;
	width:206px;
	margin:30px;
}

p, ul, ol, td, .members-access-error {
	font-style: normal;
}

strong {
	font-weight:500;
}

.main ul, .main ol {
	padding-left:50px;
	padding-right:30px;
	margin-top:0px;
}

article ul.social {
	padding-left:30px;
}

.main ul ul, .main ol ol {
	padding-left:20px;
	padding-right:20px;
}

.wp-block-columns {
	padding-left:30px;
}

.main p + ul, .main p + ol {
	margin-top:-20px;
}

.main li {
	margin-bottom:.8em;
}

h1, h2, h3, h4, p, div.members-access-error, div.pagination, .wp-block-table, .video-gallery-wrapper, .cff-wrapper {
	padding-left:30px;
	padding-right:30px;
}

p.cff-lightbox-caption {
	padding:0px;
}


#cff-lightbox-wrapper .cff-lightbox-caption-text {
    margin: 0 0 15px;
    word-break: keep-all;
}

.dafwrapper {
	padding-left:30px!important;
	padding-right:30px!important;
	margin-bottom:80px;
}

.wp-block-image {
	padding-left:30px;
}

div.pagination {
	margin-bottom:50px;
}

div.pagination .page-numbers {
	padding:0 5px;
}

h1 {
	font-style: normal;
	font-weight: 700;
	font-size: 28px;
	line-height: 34px;
	margin:0 0 26px 0;
}

h2 {
	font-style: normal;
	font-weight: 600;
	font-size: 22px;
	line-height: 26px;
	margin:40px 0 2px 0;
}

h3 {
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
	line-height: 27px;
	margin:18px 0 0 0;
}

p, li {
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 26px;
	margin:0 0 26px 0;
}

.main a {
	text-decoration:underline;
	color:#002C3E;
}

.home strong {
	font-style: normal;
	font-size:1.27em;
	font-weight:500;
}

hr {
	margin:60px 30px;
	border-top:2px solid #aab524;
}

.screen-reader-text {
	height:1px;
	overflow:hidden;
	text-indent:-1000px;
	display:block;
}

.button a {
	border: 1px solid #002C3E;
	color: #002C3E;
	display:inline-block;
	margin-bottom:40px;
	padding: 10px 25px;
	font-style: normal;
	font-weight: 500;
	font-size: 14px;
	line-height: 17px;
	text-align: center;
	text-decoration: none !important;
}

.button a:hover {
	background:#002C3E;
	border: 1px solid #002C3E;
	color: #fff;
}

.red {
	color:#ff0000;
}

/* Nav Styles */
.bellows-menu-item {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 600;
	font-size: 16px;
	line-height: 19px;
	color: #002C3E;
}

.bellows-menu-item a {
	color: #002C3E;
}

.bellows-target-title:hover, .bellows-current-menu-item a {
	text-decoration:underline!important;
}

.bellows-menu-item-has-children.bellows-active {
	background: rgba(24, 160, 181, 0.04);
	mix-blend-mode: multiply;
	box-shadow: inset 0px -4px 4px rgba(24, 160, 181, 0.06);
	padding-bottom:15px!important;
}

.bellows-submenu .bellows-menu-item {
	font-style: normal;
	font-weight: 500;
	font-size: 13px;
	line-height: 16px;
}

.bellows .bellows-nav .bellows-subtoggle {
	right:10px;
}

form.search {
	display:inline-block;
	margin:55px 30px 15px 30px;
}

form.search input {
	border:0;
	border-bottom: 1px solid #C6DEE5;
	color:#A2B6BC;
	font-style: normal;
	font-weight: 300;
	font-size: 13px;
	line-height: 16px;
	width:155px;
}

button.search-submit {
	overflow:hidden;
	text-indent:-1000px;
	background:url(img/search-submit.svg) no-repeat 5px 8px;	
	background-size:15px 16px;
	border:0;
	padding:5px 15px;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color:#A2B6BC;
  opacity: 1; /* Firefox */
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color:#A2B6BC;
}

::-ms-input-placeholder { /* Microsoft Edge */
  color:#A2B6BC;
}

#mobile-nav-button {
    background:url(img/mobile-nav-off.png) no-repeat 0 0;
    border:0;
	height: 40px;
    overflow:hidden;
    position: fixed;
    right: 0;
    text-indent:-1000px;
    top: 26px;
    width:40px;
    z-index:1000;
}

#mobile-nav-button.clicked {
    background:url(img/mobile-nav-on.png) no-repeat 0 0;
}

.mobile-wrapper {
	position:fixed;
	top:10px;
	right:-280px;
	background:#fff;
	border:0;
	width:270px;
	box-shadow: -1px 1px 2px 0px rgba(0, 44, 62, 0.15);
	z-index:1000;
}

/* Announcement Box */
.announcement-box {
	background: #EBEC68;
	padding:15px 0;
	position:relative;
	overflow:hidden;
	display:none;
}

.announcement-box.show {
	display:block;
}

.announcement-box p, .home .announcement-box p {
	margin-bottom:0;
	display:inline-block;
	font-size:15px;
	padding-right:65px;
	text-align:left;
}

#announcement-box-close {
	position:absolute;
	right:0;
	top:3px;
	height:50px;
	width:50px;
	background: url(img/close-button.png) no-repeat 0 0;
	overflow:hidden;
	text-indent:-1000px;
	border:0;
	padding:0;
}


/* Home Page Styles */

.home h1 {
	font-style: normal;
	font-weight: 500;
	font-size: 22px;
	line-height: 31px;
	margin: 40px 0;
	text-align:center;
	text-decoration:none;
}

.home h2, h2.has-text-align-center {
	font-style: normal;
	font-weight: 600;
	font-size: 21px;
	line-height: 28px;
	margin-bottom:26px;
	text-align: center;
}

.home p {
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 26px;
	text-align: center;
}

.home h2.has-text-align-center {
	padding-left: 8px;
	padding-right: 8px;
}

.home p.has-text-align-center {
	padding-left: 50px;
	padding-right: 50px;
}

.home p.has-text-align-center.button {
	margin:50px 0 40px;
}

p.reduced-text {
	font-weight: 400;
	font-size: 15px;
	line-height: 24px;
	margin:26px 0 50px 0;
}

/* Pages */
.featured-img {
	margin-bottom:40px;
}

.nogap {
	margin-top:-40px!important;
	margin-bottom:40px!important;
}

.featured-img img {
	height:310px;
	object-fit:cover;
	object-position:left;
}

.get-started .featured-img img {
	object-position:center;
}

.community-connections .featured-img img {
	object-position:center;
}

.educational-programs .featured-img img {
	object-position:40%;
}

.low-vision-resource-center .featured-img img {
	object-position:60%;
}

.visionlink-program-schedule .featured-img img {
	object-position:60%;
}

.refer-a-client-or-patient .featured-img img {
	object-position:50%;
}

.donate .featured-img img {
	object-position:50%;
}

.about-us .featured-img img {
	object-position:50%;
}

.careers-at-visionlink .featured-img img {
	object-position:40%;
}

.visionlink-report-to-the-community .featured-img img {
	object-position:55%;
}

.video-library .featured-img img {
	object-position:55%;
}

.schedule-anchors-wrapper {
	display:flex;
	flex-flow:row wrap;
	padding-left:0px;
}

.schedule-anchors-col {
	width:100%;
}

.schedule-anchors-col li {
	font-weight: 400;
	font-size: 15px;
	line-height: 28px;
	margin-bottom:0;
}

fieldset {
	border:0;
	margin:0;
	padding:0;
}

p.small-text {
	color: #08171F;
	font-size: 12px;
	font-family: Inter;
	line-height: 18px;
	margin:15px 0;
}

.wp-block-column h2, .wp-block-column h3, .wp-block-column p {
	padding-left:0;
	padding-right:0;
}

.anchorlinks .wp-block-column h3 {
	padding-left:40px;
	padding-right:20px;
}

.anchorlinks .wp-block-column ul {
	padding-left:60px;
	padding-right:20px;
}

p.lead {
	font-weight:500;
	font-size:18px;
	line-height:29px;
}

.donate-page h2 {
	margin-bottom:20px;
}

.donate-page ul {
	margin-bottom:20px;
}

.contact-block {
	background: #E6FFFD;
    padding: 22px 0 2px;
    margin-top:40px;
    text-align:center;
}

.contact-block h2 {
	margin-bottom:50px;
}

.giveflex-wrapper {
	display: flex;
    flex-flow: row wrap;
    padding-left:30px;
    padding-right:30px;
}

.giveflex-text {
	width:100%;
}

.giveflex-icons {
	display:flex;
	flex-flow: row wrap;
}

.giveflex-text p {
	padding-left:0;
	padding-right:30px;
}

.main .giveflex-text ul {
	padding-left:25px;
	padding-right:30px;
}

.giveflex-icons img {
	margin:0 30px 30px 0;
}

.tallbox-wrapper {
	display: flex;
    flex-flow: row wrap;
}

.tallbox-wrapper .tallbox-col {
	width:100%;
}

.tallbox-wrapper .vlboxes-wrapper {
	margin-top:0;
}

.tallbox-wrapper .vlbox {
	width:100%;
}

.tallbox-col.tall {
	display:flex;
	flex-flow: column nowrap;
	justify-content:center;
}

.tallbox-col.tall h2 {
	margin:26px 0px 30px;
}

.tallbox-col.tall h2, .tallbox-col.tall p {
	padding:0px 45px;
}

/*SalesForce Form styles */
.sf-form-wrapper h1 {
	padding:0;
}

.sf-form-wrapper p {
	padding-left:0;
	padding-right:0;
}

.sf-form-wrapper p.instructions {
	font-size:14px;
}

.sf-form-wrapper form {
	width:100%;
	padding:75px 30px;
}

.sf-form-wrapper form label {
	font-weight: 500;
	font-size: 16px;
	line-height: 19px;
}

.sf-form-wrapper form input, .sf-form-wrapper form select {
	display:block;
	width:100%;
	margin-bottom:13px;
	padding:5px;
	border:1px solid #002C3E;
}

.sf-form-wrapper form input:invalid {
	/*border:3px solid #FF3D00;*/
}

.sf-form-wrapper .vlboxes-wrapper {
    max-width: 100%;
	align-content:start;
    margin-top:0;
}

.sf-form-wrapper form .submit-button {
	display:inline-block;
	width:auto;
	margin-top:35px;
	background:#fff;
	color: #002C3E;
	text-align: center;
	font-family: Inter;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	padding:10px 25px;
}

h3.contents {
	margin-top:40px;
}

ul.contents {
	margin-bottom:60px;
}

.main ul.contents li {
	font-size:15px;
	line-height: 28px;
	margin-bottom:0;
}

h2.xtra-margin {
	margin-top:70px;
}

.main ul.xtra-margin li {
	margin-bottom:1.2em;
}

h3 strong {
	font-weight:700;
}

.main .columns-list ul {
	padding-left:20px;
}

.main .columns-list ul.less-padding {
	padding-right:20px;
	margin-bottom:0;
}

.main .columns-list ul li {
	margin-bottom:0;
}

.annual-report-numbers {
	padding:0 100px;
}

.annual-report-numbers h3 {
	color: #18A0B5;	
	text-align: center;
	font-size: 48px;
	font-weight: 700;
	line-height: 40px; 
}

.annual-report-numbers p {
	color: #18A0B5;
	text-align:center;
	font-size: 21px;
	font-weight: 600;
	line-height: 30px;
}

.annual-report-numbers p strong {
	font-weight:900;
}

.donate-box {
	background: #EBEC68;
    color: #002C3E;
    text-align:center;
    padding:10px 0 1px 0;
    margin:-50px 0 50px 0;
}

.donate-box h2, .donate-box p {
	margin-bottom:25px;
}

.donate-box .button a {
	background:#002C3E;
	border: 1px solid #002C3E;
	color: #fff;
}

.donate-box .button a:hover {
	background:none;
	border: 1px solid #002C3E;
	color: #002C3E;
}

:where(.wp-block-columns.is-layout-flex) {
    gap: 0em;
}

/* Video Library styles */
.video-library h2 {
	margin-top:80px;
}

.video-library h2.featured {
	margin-top:40px;
}

.video-gallery-wrapper {
	display:flex;
	flex-flow:row wrap;
	justify-content:flex-start;
	margin-left:-24px;
	margin-bottom:80px;
}

.video-gallery {
		position:relative;
		margin-bottom:23px;
		margin-left:24px;
	}

.video-gallery-image {
	display:block;
	width:285px;
	height:160px;
	position:absolute;
	z-index:100;
}

.video-gallery-image:hover {
	background:rgba(8, 23, 31, 0.69) url("img/YouTube-icon-small.png") no-repeat center center;
}

.video-gallery-featured {
	margin-top:20px;
	padding:0 20px;
}

.video-gallery-featured .video-gallery-image {
	width:100%;
	height:auto;
}

.video-desc.featured {
	width:100%;
	height:242px;
}

.video-gallery-featured .video-gallery-image:hover {
	background:rgba(8, 23, 31, 0.69) url("img/YouTube-icon-large.png") no-repeat center center;
}

.video-desc {
	width: 285px;
	height:300px;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.15);
	position:relative;
}

.video-desc h3 {
	margin-top:0;
	font-size: 18px;
	font-weight: 700;
	line-height: 24px;
	padding:20px;
}

.video-desc p {
	padding:0 20px;
	font-size:15px;
	line-height:24px;
	font-weight:400;
}

.video-desc.featured p {
	font-size:16px;
	line-height:26px;
}

.video-desc .button-wrapper {
	position:absolute;
	bottom:0px;
	margin-bottom:20px;
}

.video-desc .button-wrapper.nodesc {
	position:absolute;
	bottom:0px;
	margin-bottom:44px;
}

.video-desc p.button {
	margin-bottom:11px;
}

.video-desc p.button a {
	margin-bottom:0;
}

.vl-anchor-menu {
	font-size:18px;
	line-height:32px;
}

.video-desc p.audio-description {
	font-size: 12px;
	font-weight: 400;
	line-height: 24px;
	margin-bottom:0;
}

/*Footer Styles */
.footer {
	margin:0;
	padding:60px 0px 70px 40px;
	width:100%;
	background:#002C3E;
	display:flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

.footer-block {
	max-width:100%;
	display:flex;
}

.footer-block.left {
	justify-content: flex-start;
	text-align:left;
	flex-flow: column wrap;
}

.footer-block.right {
	text-align:left;
	flex-flow: column wrap;
}

.footer-block.left .footer-block-segment {
	margin:0 25px 0 0;
}

.footer-block.left p {
	margin-bottom:15px;
}


.footer-block.right p {
	font-size: 12px;
	font-family: Inter;
	line-height:18px;
	text-align:left;
	margin-bottom:20px;
}

.footer-block-segment {
	display:inline-block;
	margin:8px 45px 0px 0;
	text-align:left;
}

.footer h4 {
	color: #E6FFFD;
	font-size:15px;
	font-weight:600;
	margin:30px 0 20px 0;
	padding:0;
}

.footer p.button {
	margin:0 25px 0 0 !important;
	padding:0 !important;
	display:inline-block;
}


.footer .button a {
	border: 1px solid #E6FFFD;
	color:#E6FFFD;
	margin-bottom:15px;
}

.footer .button a:hover {
	background: #E6FFFD;
	border: 1px solid #E6FFFD;
	color: #002C3E;
}

.footer .logo-img {
	width:279px;
	margin:0 0 20px 0;
}

.footer p {
	color: #FFFFFF;
	font-style: normal;
	font-weight: 500;
	font-size: 12px;
	line-height: 15px;
	margin-bottom:25px;
	padding:0;
	text-align:left;
}

ul.social {
	list-style:none;
	margin:0 0 25px 0;
	padding:0;	
}

.footer p.tagline {
	margin-bottom:40px !important;
	font-size:16px;
	font-weight:500;
	line-height:22px;
	max-width:280px;
}

.footer p a {
	color:#fff;
	text-decoration:underline;
}

.footer p a.nou {
	color:#fff;
	text-decoration:none;
}

.footer p.copyright {
	margin-top:50px;
}

.social li {
	display:inline-block;
	margin:0;
	padding:0;
}

.social li img {
	position:relative;
}

.social .twitter {
	margin-right:13px;
}

.social .linkedin {
	top:3px;
	margin-right:10px;
}

.social .facebook {
	margin-right:10px;
}

.social .youtube {
	top:3px;
	margin-right:13px;
}

.social .instagram {

}



/*------------------------------------------------*\

	Small devices (landscape phones, 576px and up)

\*------------------------------------------------*/
@media (min-width: 576px) {
	

	.header {
		width: 260px;
		height:100%;
		position: fixed;
		margin: 0;
		text-align: left;
		overflow:auto;
	}
	
	#mobile-nav-button {
		display:none;
	}
	
	.header .logo {
		position: initial;
		border-bottom:none;
		margin-bottom:67px;
	}

	.logo-img {
		margin:70px 30px 0;
		width:206px;
	}
	
	.announcement-box p, .home .announcement-box p {
		text-align:center;
	}
	
	.main, .footer {
		margin-left:260px;
		max-width:1130px;
		margin-top:0;
	}
	
	h1, h2, h3, h4, p, div.members-access-error, div.pagination, .wp-block-table, .video-gallery-featured, .video-gallery-wrapper, .cff-wrapper {
		padding-left:40px;
		padding-right:40px;
	}
	
	.dafwrapper {
		padding-left:40px!important;
		padding-right:40px!important;
	}
	
	.giveflex-wrapper {
	    padding-left:40px;
	    padding-right:40px;
	}
	
	.main ul, .main ol {
		padding-left:60px;
		padding-right:40px;
	}
	
	article ul.social {
		padding-left:40px;
	}
	
	.wp-block-columns {
		padding-left:40px;
	}
	
	.wp-block-image {
		padding-left:40px;
	}
	
	.mobile-wrapper {
		position:initial;
		background:none;
		border:none;
		box-shadow:none;
		width:auto;
	}

	
	.bellows .bellows-nav .bellows-custom-content.bellows-custom-content-padded, 
	.bellows .bellows-nav .bellows-target, 
	.bellows .bellows-nav .bellows-submenu .bellows-target,
	.bellows .bellows-nav .bellows-target.bellows-target-w-image>.bellows-image.bellows-image-padded, 
	.bellows .bellows-nav .bellows-target.bellows-target-w-image>.bellows-target-text {
		padding:9px 30px;
	}
	
	.featured-img img {
		height:auto;
		object-fit:cover;
	}
	
	.featured-img {
		margin-bottom:50px;
	}
	
	.nogap {
	margin-top:-50px!important;
	margin-bottom:50px!important;
}
	
	body.about-us article, body.careers-at-visionlink article {
		margin-bottom:80px;
	}
	
	.sf-form-wrapper form {
		padding:75px 40px;
	}

}

/*------------------------------------------------*\

	Tablets (835px and up)
	
\*------------------------------------------------*/
@media (min-width: 835px) {
	
	.header {
		width: 270px;
	}
	
	.logo-img {
		margin:70px 30px 0;
	}
	
	.main, .footer {
		margin-left:270px;
	}
	
	h1, h2, h3, h4, p, div.members-access-error, div.pagination, .wp-block-table, .video-gallery-featured, .video-gallery-wrapper, .cff-wrapper {
		padding-left:60px;
		padding-right:60px;
	}
	
	.dafwrapper {
		padding-left:60px!important;
		padding-right:60px!important;
	}
	
	.giveflex-wrapper {
	    padding-left:60px;
	    padding-right:60px;
	}
	
	.main ul, .main ol {
		padding-left:80px;
		padding-right:60px;
	}
	
	article ul.social {
		padding-left:60px;
	}
	
	.wp-block-columns {
		padding-left:60px;
	}
	
	.wp-block-image {
		padding-left:60px;
	}
	
	.schedule-anchors-col {
		width:50%;
	}
	
	.schedule-anchors-col ul {
		padding-right:0;
	}

	.schedule-anchors-col.right ul {
		padding-left:20px;
	}

	.schedule-anchors-col.right h3 {
		padding-left:0;
	}
	
	.sf-form-wrapper form {
		padding:75px 60px;
	}
	
	.video-desc.featured {
		height:222px;
	}
}


@media (min-width:864px) {
	.footer h4 {
		margin:0 0 30px 0;
	}
}

@media (min-width:980px) {
	.tallbox-wrapper .tallbox-col {
		width:50%;
	}
}

@media (min-width:1010px) {
	.footer-block.right {
		text-align:left;
		flex-flow: row wrap;
	}
}

/*------------------------------------------------*\

	Large devices (desktops, 1195px and up)
	
\*------------------------------------------------*/
@media (min-width: 1195px) {
	.header {
		width: 310px;
	}
	
	.logo-img {
		width:227px;
		margin:70px 50px 0;
	}
	
	.main, .footer {
		margin-left:310px;
	}
	
	h1, h2, h3, h4, p, div.members-access-error, div.pagination, .wp-block-table, .wp-block-embed-youtube, .video-gallery-featured, #dafdirectdiv {
		padding-left:100px;
		padding-right:130px;
	}
	
	.giveflex-wrapper {
	    padding-left:100px;
	    padding-right:130px;
	}
	
	.dafwrapper {
		padding-left:100px!important;
		padding-right:130px!important;
	}
	
	.video-gallery-wrapper, .cff-wrapper {
		padding-left:100px;
		padding-right:100px;
	}
	
	.main ul, .main ol {
		padding-left:125px;
		padding-right:130px;
		margin-top:0px;
	}
	
	article ul.social {
		padding-left:100px;
	}

	.bellows .bellows-nav .bellows-custom-content.bellows-custom-content-padded, 
	.bellows .bellows-nav .bellows-target, 
	.bellows .bellows-nav .bellows-submenu .bellows-target,
	.bellows .bellows-nav .bellows-target.bellows-target-w-image>.bellows-image.bellows-image-padded, 
	.bellows .bellows-nav .bellows-target.bellows-target-w-image>.bellows-target-text {
		padding:9px 50px;
	}
	
	.home h1 {
		font-style: normal;
		font-weight: 500;
		font-size: 26px;
		line-height: 31px;
		margin: 60px 0 45px;
		text-align:center;
		text-decoration:none;
	}

	
	form.search {
		display:inline-block;
		margin:55px 30px 15px 50px;
	}
	
	form.search input {
		border:0;
		border-bottom: 1px solid #C6DEE5;
		color:#A2B6BC;
		font-style: normal;
		font-weight: 300;
		font-size: 13px;
		line-height: 16px;
		width:185px;
	}
		
	.schedule-anchors-wrapper {
		padding-left:40px;
	}
	
	.wp-block-columns {
		padding-left:100px;
	}

	.wp-block-columns.anchorlinks {
		padding-right:100px;
	}
	
	.wp-block-image {
		padding-left:100px;
	}
	
	.video-gallery-featured .video-gallery-image {
		width:900px;
		height:506px;
	}
	
	.video-desc.featured {
		width:900px;
		height:222px;
	}
	
	/* SalesForce Form styles */
	.sf-form-wrapper {
		display:flex;
	}
	
	.sf-form-wrapper form {
		width:50%;
		padding:75px 80px;
	}
	
	.sf-form-wrapper .vlboxes-wrapper {
    	max-width: 50%;
	}
	
	.sf-form-wrapper .vlbox {
		width:100%;
		height:50%;
	}
}


@media (min-width: 1425px) {
	.giveflex-text {
		width:85%;
		max-width:750px;
	}
	
	.giveflex-icons {
		display:flex;
		flex-flow: column wrap;
	}
	.giveflex-icons img {
		margin:0 0 30px 10px;
	}
}
